[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.modeling.mdt.uml2] Re: Upgrade from UML2-2.2.1 to UML2-3.0.0
|
Although I haven't verified this, you can try simply registering the older
nsURI against the latest UMLPackage.eINSTANCE in the package registry. The
automatic up-conversion to the latest version of UML should then occurr
automatically.
Try something like
resourceSet.getPackageRegistry().put(UML212UMLResource.UML_METAMODEL_NS_URI,
UMLPackage.eINSTANCE);
In general, if you are having problems in "stand alone" mode, you can look
at the extensions in the MANIFEST.MF in org.eclipse.uml2.uml and try to
mimic the extension point registrations that happen there.
Simply changing the nsURI in the file itself will work "most" of the time
since little has changed between the 2.1.0 and 3.0.0 opensource versions
however this is not recommended and could lead to problems.
The following describes what has changed:
http://www.eclipse.org/modeling/mdt/uml2/docs/guides/UML2_3.0_Migration_Guide/guide.html
Regards,
- James.
"Tim Myer" <timezra@xxxxxxxxx> wrote in message
news:h7jeo8$neh$1@xxxxxxxxxxxxxxxxxxxx
> Hi Scott,
> I recently had the same problem loading a UML model in a JUnit test. I
> did not see the same problem when the Eclipse platform itself was
> running.
> As a quick fix, I changed the xmlns:uml attribute to use 3.0.0 instead of
> 2.1.0 in the .uml file itself. Is that an option for you?
> I would be very interested in hearing a better solution....
> ---Tim---
>
> Scott wrote:
>> Hi,
>> I?m new to this group and have the following question:
>> I have the following code working fine with Eclipse-3.4.1, EMF-2.4.1, and
>> UML2-2.2.1.
>> public static Model initResourceSet(String inputFile){
>> ResourceSet resourceSet = new ResourceSetImpl();
>> resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI,
>> UMLPackage.eINSTANCE);
>>
>> resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION,
>> UMLResource.Factory.INSTANCE);
>> Map uriMap = resourceSet.getURIConverter().getURIMap();
>> URI uri =
>> URI.createURI("jar:file:/C:/Eclipse-3.4.1/plugins/org.eclipse.uml2.uml.resources_2.2.0.v200805131030.jar!/");
>> uriMap.put(URI.createURI(UMLResource.LIBRARIES_PATHMAP),
>> uri.appendSegment("libraries").appendSegment(""));
>> uriMap.put(URI.createURI(UMLResource.METAMODELS_PATHMAP),
>> uri.appendSegment("metamodels").appendSegment(""));
>> uriMap.put(URI.createURI(UMLResource.PROFILES_PATHMAP),
>> uri.appendSegment("profiles").appendSegment(""));
>>
>> Resource res = resourceSet.getResource(URI.createURI(inputFile), true);
>> return (Model) (res.getContents().get(0));
>> }
>>
>> Then I upgraded to Eclipse-3.5, EMF-2.5, and UML2-3.0.0, and used new
>> jars, with only the following change:
>>
>> URI uri =
>> URI.createURI("jar:file:/C:/Eclipse-3.5/plugins/org.eclipse.uml2.uml.resources_3.0.0.v200906011111.jar!/");
>> Now, I?m getting the following error:
>>
>> Exception in thread "main" java.lang.ClassCastException:
>> org.eclipse.emf.ecore.xml.type.impl.AnyTypeImpl cannot be cast to
>> org.eclipse.uml2.uml.Model
>>
>> At this line: return (Model) (res.getContents().get(0));
>>
>> Am I missing something?, Can anyone please help?
>>
>>
>> Thanks,
>>
>> Scott
>>