| Summary: | Localization - ICU4J | ||
|---|---|---|---|
| Product: | [Modeling] MDT | Reporter: | Anne Jacko <anne.jacko> |
| Component: | Releng | Assignee: | James Bruck <bruck.james> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | blocker | ||
| Priority: | P1 | CC: | borlander, bruck.james, Ed.Merks, Kenn.Hussey |
| Version: | unspecified | Flags: | Kenn.Hussey:
galileo+
|
| Target Milestone: | M5 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 252809 | ||
|
Description
Anne Jacko
SBVR will not be on the train. OCL uses ICU4J as an optional dependency, now using Import-Package. No problematic areas involving ICU4J have been identified in UML2. (In reply to comment #3) > No problematic areas involving ICU4J have been identified in UML2. > Yes, but you must provide a technical reason why ICU4J can't/isn't being used like it is in OCL (for example). UML2 can be considered a runtime with no need for string parsing or other "heavy duty" string manipulation (unlike OCL). The editor provided with UML2 can be considered a "sample" editor, not meant for production use. UML2 is an EMF generated API and EMF itself does not use ICU4J. UML2Tools runtime does not use direct characters manipulation, in particular we don't use any of the methods that were proxy'fied in the OCL UnicodeSupport class (in particular, *codePoint*, toLowerCase* and toUpperCase*). There are a few usages of toLowerCase/toUpperCase methods in the tests (only), but I believe that we don't have to switch tests to ICU. If those methods will be used in future we will use ICU versions. We have changed default GMF templates to generate references to com.ibm.icu.text.MessageFormat instead of java.text.MessageFormat for all of the generated code related to the text parsing. All of the other occurrences of MessageFormat in the manually written code were manually changed to icu version. Regarding all other classes listed at the http://wiki.eclipse.org/index.php/ICU4J#Migration section, UML2Tools doesn't use them, so there are no additional migration required. <b>As a result, we believe that U2T supports ICU at the same level of compatibility as, say, OCL component.</b> Ed, please comment on this for XSD. It's used conditionally. (In reply to comment #5) > UML2 can be considered a runtime with no need for string parsing or other > "heavy duty" string manipulation (unlike OCL). The editor provided with UML2 > can be considered a "sample" editor, not meant for production use. UML2 is an > EMF generated API and EMF itself does not use ICU4J. > James, XSD used ICU4J conditionally; UML2 should too. (In reply to comment #9) > (In reply to comment #5) > > UML2 can be considered a runtime with no need for string parsing or other > > "heavy duty" string manipulation (unlike OCL). The editor provided with UML2 > > can be considered a "sample" editor, not meant for production use. UML2 is an > > EMF generated API and EMF itself does not use ICU4J. > > > James, XSD used ICU4J conditionally; UML2 should too. Actually after having looked into this a little more it appears that UML2 already conditionally uses ICU4J in the exact same way as XSD does. That is to say, UML2 makes use of the comparator in org.eclipse.emf.common/CommonPlugin - which uses the ICU Collator. The UMLCommandAction, UMLActionBarContributor, UMLModelWizard and UMLUtil all make use of this. All MDT components participating in the release train are making appropriate use of ICU4J. Closing, as this bug has been fixed for some time. |