[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[mdt-ocl.dev] Legacy support for Juno
|
Hi
Since the pivot support is not being promoted for Juno, we have another
year with the legacy Ecore and UML bindings as the 'preferred' user
environment, so we need to reduce as many pain points as possible.
New syntax/library operations are pretty safe; what was a syntax error
is now useful. Semantic changes may be too difficult. So:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=377374 (review pending)
solves the problem that a Complete OCL file created by the Xtext editor
cannot be used by the Ecore Java API because import statements are
syntax errors. The fix allows but ignores the import syntax, allowing
the file to be loaded, but requires the correct environment setup in the
Java call.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=373518 introduced URI
package qualification: _'http:/...'::XX::yy, which is needed for type
expressions in OCLinEcore; probably a step too far.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=349117 supporting Long
tuple elements was 90% done; I'll see if it can be finished off.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=367822 and
https://bugs.eclipse.org/bugs/show_bug.cgi?id=364797 on
overloading/overriding might be tractable.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=309459 introduced
selectByKind and selectByType to eliminate the oclIsKindOf...oclAsType
redundancy. This affects the IA so probably can't do.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=373289 added many new
String operations particularly for regex. Reassured that the Impact
Analyser is unaffected by boring String operations, I'm about to try to
retrofit as many of the missing library operations as possible. This
should make edit and run very compatible, except at the avoidable
labnguage edges. I doubt that I will change the old syntax helper unless
it's a trivial add-name-to-list change.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=152207 has been requesting
toString() for ages and of course we could spell 'invalid' better than
an EMF default.
The current library discrepancies affect:
OclAny:: <, >, <=, >=
OclAny::oclType()
Boolean::toString()
Integer::toString()
Integer::compareTo()
Real::toString()
Real::compareTo()
String::+
String::at()
String::characters()
String::compareTo()
String::endsWith()
String::equalsIgnoreCase()
String::indexOf()
String::lastIndexOf()
String::matches()
String::replaceAll()
String::replaceFirst()
String::startsWith()
String::substituteAll()
String::substituteFirst()
String::substring()
String::toBoolean()
String::toLowerCase()
String::toString()
String::toUpperCase()
String::tokenize(*3)
String::trim()
Collection::collectNested()
Collection::reject()
Collection::select()
Collection::sortedBy()
Collection::asBag()
Collection::asOrderedSet()
Collection::asSequence()
Collection::asSet()
Collection::excluding()
Collection::flatten()
Collection::including()
Collection::max()
Collection::min()
Collection::selectByKind()
Collection::selectByType()
most of these can be eliminated.
Regards
Ed Willink