There are numerous bug fixes and improvements included with this build, some of which are described below. Where the description applies to a fix for a bug reported through Bugzilla, the Bugzilla number is included after the description.
There are bug fixes and improvements included with this build, some of which are described below. Where the description applies to a bug reported through Bugzilla, the Bugzilla number is included after the description.
There are bug fixes and improvements included with this build, some of which are described below. Where the description applies to a bug reported through Bugzilla, the Bugzilla number is included after the description.
Only XSD has changed for this maintenance release.
As with EMF 1.0.2, the EMF 1.1.0 drivers will only work well with Eclipse 2.1 or Eclipse 2.1.1. They should work with 2.0.2, but they won't get the CLASSPATH correct for .editor projects.
Code regeneration of 1.0.2 projects is recommended, but not required. (See "Bug Fixes and Improvements" below.)
Two new mapping plugins (org.eclipse.emf.mapping and org.eclipse.emf.mapping.ui) have been added. Documentation for these new plugins will be forthcoming soon. A sample of their use is provided by the two xsd2ecore plugins (org.eclipse.emf.mapping.xsd2ecore and org.eclipse.emf.mapping.xsd2ecore.editor) in the XSD (XML Schema Infoset Model) Eclipse Tools Subproject, Version 1.1.0.
There are numerous bug fixes and improvements included with this build, some of which are described below. Where the description applies to a fix for a bug reported through Bugzilla, the Bugzilla number is included after the description.
There are numerous bug fixes and improvements included with this build, some of which are described below. Where the description applies to a fix for a bug reported through Bugzilla, the Bugzilla number is included after the description. You can link directly to the Bugzilla bug using this number.
<import plugin="org.eclipse.emf.ecore.xmi"/>
However, because the plugin.xml file is not regenerated or merged, clients who are regenerating an editor that they have generated before will need either to remove the plugin.xml file and let it be regenerated anew, or to add this import manually to the existing plugin.xml file. (Bugzilla 37366).
Map options = new HashMap();
options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
resource.save(options);
There are numerous bug fixes and improvements included with this build, some of which are described below.
There are some bug fixes and improvements included with this build, some of which are described below.
There are some bug fixes and improvements included with this build, some of which are described below.
There are some bug fixes and improvements included with this build, some of which are described below.
There are some bug fixes and improvements included with this build, some of which are described below.
There are some bug fixes and improvements included with this build, some of which are described below.
This build is a refresh of EMF being delivered with the corresponding build of XSD.
The EMF 1.0.2 drivers will only work well with Eclipse 2.1. They should work with 2.0.2, but they won't get the CLASSPATH correct for .editor projects. Sorry.
EMF 1.0.1 uses classpath variables in the java projects it creates. The generator also updates the classpath during generation (although this feature can be turned off via a genmodel property). The gist of this is that there can be conflicts with the bare jar classpath entries used in 1.0.0 projects and therefore, you need to delete old 1.0.0 classpath entries and then regenerate to create them correctly. Also, although plugin.property's merge correctly now (see below), plugin.xml's do not. Because of this, you should delete old 1.0.0 plugin.xml's and regenerate them for 1.0.1. We also recommend deleting 1.0.0 genmodels, and recreating them in 1.0.1, because they now support proper reload with persistent genmodel settings, while the 1.0.0 versions do not.
There is now a documentation plugin, org.eclipse.emf.doc, included in the download. All the EMF documentation is now available from the desktop Help menu. We've put the documentation plugin into the Runtime zip file, so its download size has increased by more than 2M. We're thinking about moving it into the Source zip, or maybe into its own zip file, in the future. If you have an opinion, please feel free to post it to the emf newsgroup.
You can use it, instead of the text editor, to view or edit ".ecore" model files. Of course, once we have nice graphical Ecore editors, this won't be nearly as interesting.
In EMF 1.0.1 you can import your ecore model from an XML Schema, in addition to Rose or annotated Java. To enable this support, you need to download and install the XML Schema Project plugins first. Here is library.xsd, the Library model expressed in XML Schema. To use it, run the Ecore Model Project wizard and choose "Load from XML Schema" when prompted. This is documented in this tutorial. Give it a try.
One very important difference (advantage) to using XML Schema to define the model is that, in addition to the default XMI, instances of the model will (not currently, but in the coming weeks) be serializable according to the Schema.
Another interesting observation is that the "Book.author" and "Writer.books" reference types, and the fact that they are opposite ends of a bidirectional association, are not expressed in the XML Schema. Consequently, the generator will simply treat them as two independent one-way references of type EObject. We're looking into ways of annotating the schema (similar to the Java annotation approach) with the missing information. If you have any ideas or suggestions, please feel free to post them to the emf newsgroup.
Note: This support is very preliminary and highly subject to change. It is meant to demonstrate the concepts and works well only with simple schemas.
Class EAnnotation has been added to the Ecore model as a proposed design for supporting annotations which follows closely the design of the XML Schema model's XSDAnnotation. The current design uses a <<0..*>> details : String, which we recognize is unacceptably limiting and plan to change it, probably to a Map, once we've worked out the details of serialization support for a Map. We would like to solicit feedback on the EAnnotation design. It will definitely change before the design is committed to a Release Build. For example, adding a black diamond relation from EAnnotation to EObject would make it essentially identical in function to XSDAnnotation; it would mean that no one would ever have to extend EAnnotation in order to add annotations and it would ensure that the arbitrary EObjects are well separated and have a well managed lifetime relative to that which they annotate.