
CaribeanAlien
By: a guest on
Feb 22nd, 2010 | syntax:
Java | size: 2.54 KB | hits: 124 | expires: Never
public static void main
(String arg
[])
{
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:/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(""));
System.
out.
println("[readMM] : try to access to " + UMLResource.
UML_METAMODEL_URI);
Resource res = resourceSet.getResource(URI.createURI(UMLResource.UML_METAMODEL_URI), true);
EcoreUtil.resolveAll(res);
System.
out.
println(">" + res.
toString());
TreeIterator<EObject> it = res.getAllContents();
while (it.hasNext())
{
EObject eobj = (EObject)it.next();
System.
out.
println(">>" + eobj.
getClass().
getName() + " " + eobj.
hashCode());
if (eobj.eIsProxy())
{
System.
out.
println("proxy PROBLEM");
System.
out.
println(eobj.
eClass().
getName());
EObject eobjResolved = EcoreUtil.resolve(eobj, resourceSet);
if (eobjResolved.equals(eobj))
{
System.
err.
println("Proxy not solved");
}
else
{
System.
out.
println("Proxy solved : " + eobjResolved.
hashCode());
eobj = eobjResolved;
}
}
EList<EStructuralFeature> listee = eobj.eClass().getEAllStructuralFeatures();
ListIterator<EStructuralFeature> li = listee.listIterator();
while (li.hasNext())
{
EStructuralFeature esf = li.next();
try
{
System.
out.
println("\t" + esf.
getName() + " : " + eobj.
eClass().
eGet(esf
));
}
{//e.printStackTrace();
}
}
if (eobj.eClass() instanceof EClass)
{// if
if (eobj.eContainer() == null)
{
System.
out.
println("this element has a null container : is it the root element? ");
}
}
//it.prune();
}
}