Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EDT:EGL Language conversion
EGL language conversion considerations from IBM Rational Business Developer and EGL CE.
Rational Business Developer | EDT |
Called program | Not supported |
DataItem, Stand alone (top level) function |
Not supported right now |
Datatable, Structured Record, Form, FormGroup |
Not supported |
Nullable | Nullability is a quality of the field or parameter not the type...similar to how database columns define a column to be nullable or not nullable. See Language Overview / Nullability |
Rational Business Developer | EDT |
Default is inout | Default is inout for value type
Default is in for reference type |
Array default is inout | Array default is in, because array is reference type |
timestamp without pattern is inout | timestamp without pattern default is in, because timestamp without pattern is reference type |
- EDT:EGL Language Function Return
Rational Business Developer | EDT |
Generated Java - A Return statement is not required in the EGL source for a function if the function returns a value. |
Generated Java - A Return statement is required in the EGL source for a function, for all exit points, if the function returns a value. |
Rational Business Developer | EDT |
time |
Before 0.8.1 M2: replaced with timestamp |
interval | Not Supported right now, no replacement |
money, num, bin |
use Decimal |
Rational Business Developer | EDT |
system libraries | all needs to be fully qualified with library name i.e. sysLib, dateTimeLib, serviceLib, xmlLib...etc. |
currentDate() DateTimeLib.currentDate() |
When you declare aDate data, aDate should be inited with the current date |
currentTime() DateTimeLib.currentTime() |
Not Supported |
currentTimeStamp() DateTimeLib.currentTimeStamp() |
When you declare temp timestamp, temp is inited with the current timestamp |
StrLib.usaDateFormat StrLib.eurDateFormat StrLib.jisDateFormat StrLib.isoDateFormat |
Constants.usaDateFormat Constants.eurDateFormat Constants.jisDateFormat Constants.isoDateFormat |
StrLib.usaTimeFormat StrLib.eurTimeFormat StrLib.jisTimeFormat StrLib.isoTimeFormat |
Constants.usaTimeFormat Constants.eurTimeFormat Constants.jisTimeFormat Constants.isoTimeFormat |
StrLib.db2StampFormat StrLib.odbcTimeStampFormat |
Constants.db2StampFormat Constants.odbcTimeStampFormat |
DateTimeLib.dayOf(cTimeStamp) DateTimeLib.weekdayOf(cTimeStamp) DateTimeLib.monthOf(cTimeStamp) DateTimeLib.yearOf(cTimeStamp) DateTimeLib.dateOf(cTimeStamp) |
cTimeStamp.dayOf() cTimeStamp.weekdayOf() cTimeStamp.monthOf() cTimeStamp.yearOf() cTimeStamp.dateOf() |
DateTimeLib.timeOf() DateTimeLib.timeValue() |
Not Supported |
DateTimeLib.dateValueFromGregorian() DateTimeLib.dateValueFromJulian() |
DateTimeLib.dateFromGregorian() DateTimeLib.dateFromJulian() |
XMLLib.convertToXML(eglType any) XMLLib.convertToXML(eglType any, document boolean) |
Use XMLLib.convertToXML(eglType any, document boolean) |
ServiceLib.convertFromJSON(json string,eglType any) |
JsonLib.convertFromJSON(json string,eglType any) |
ServiceLib.convertToJSON(eglType any) |
JsonLib.convertToJSON(eglType any) |
Rational Business Developer | EDT |
call host program
call local program Move statement |
Not supported right now |
Rational Business Developer | EDT |
matches | no longer an operator, have to use String matchesPattern() function instead |
like | no longer an operator, have to use String isLike function instead |
bitwise | operators support for int types only. Rational Business Developer supports SmallInt as well |
Rational Business Developer | EDT |
basicLibrary | no more basicLibrary |
annotation on Library | no annotation is supported on library |
RuntimeException |
no more RuntimeException, use AnyException |
IndexOutOfBoundException |
InvalidIndexException |
PGM includeReferencedFunctions=yes |
top level function are not supported |
PGM allowUnqualifiedItemReferences = yes |
must fully qualify part names |
XMLStructure = xmlStructurekind |
XMLValue {kind = xmlStructurekind. |
FORMName |
|
javaScriptName=xxx |
use externalName=xxx |
d Dictionary{ordering=byInsertion} d Dictionary{ordering=byKey} |
d Dictionary = new Dictionary(true, OrderingKind.byInsertion) d Dictionary = new Dictionary(true, OrderingKind.byKey) The default for caseSensitive is false |
aString string[0]{maxSize=10}; anInt int = aString.getMaxSize(); |
Not Supported(no more maxSize) |
EGL Rich UI MVC
Rational Business Developer | EDT |
validValues annotation | Not Supported |
A note on deployment descriptor files (*.egldd):
The model for these files is different in EDT so you cannot reuse deployment descriptors from Rational Business Developer. If you have a *.egldd file that's in the old format, and you want to "reset" it to be empty, you can open it with a text editor and replace it with the following:
<?xml version="1.0" encoding="UTF-8"?> <egl:deployment xmlns:egl= "http://www.eclipse.org/xmlns/edt/deployment/1.0" > </egl:deployment>