capint
3/13/2017 - 5:17 PM

EMF >> Standalone

EMF >> Standalone

http://wiki.eclipse.org/EMF/FAQ#How_do_I_use_EMF_in_standalone_applications_.28such_as_an_ordinary_main.29.3F

Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
    Map<String, Object> m = reg.getExtensionToFactoryMap();
    m.put("melodymodeller", new XMIResourceFactoryImpl());
    
    ResourceSet resSet = new ResourceSetImpl();
    resSet.getPackageRegistry().put(LibrariesPackage.eINSTANCE.getNsURI(), LibrariesPackage.eINSTANCE);
    resSet.getPackageRegistry().put(CapellacommonPackage.eINSTANCE.getNsURI(), CapellacommonPackage.eINSTANCE);
    resSet.getPackageRegistry().put(CapellacorePackage.eINSTANCE.getNsURI(), CapellacorePackage.eINSTANCE);
    resSet.getPackageRegistry().put(CapellamodellerPackage.eINSTANCE.getNsURI(), CapellamodellerPackage.eINSTANCE);
    resSet.getPackageRegistry().put(CsPackage.eINSTANCE.getNsURI(), CsPackage.eINSTANCE);
    resSet.getPackageRegistry().put(CtxPackage.eINSTANCE.getNsURI(), CtxPackage.eINSTANCE);
    resSet.getPackageRegistry().put(EpbsPackage.eINSTANCE.getNsURI(), EpbsPackage.eINSTANCE);
    resSet.getPackageRegistry().put(FaPackage.eINSTANCE.getNsURI(), FaPackage.eINSTANCE);
    resSet.getPackageRegistry().put(InformationPackage.eINSTANCE.getNsURI(), InformationPackage.eINSTANCE);
    resSet.getPackageRegistry().put(DatatypePackage.eINSTANCE.getNsURI(), DatatypePackage.eINSTANCE);
    resSet.getPackageRegistry().put(DatavaluePackage.eINSTANCE.getNsURI(), DatavaluePackage.eINSTANCE);
    resSet.getPackageRegistry().put(LaPackage.eINSTANCE.getNsURI(), LaPackage.eINSTANCE);
    resSet.getPackageRegistry().put(OaPackage.eINSTANCE.getNsURI(), OaPackage.eINSTANCE);
    resSet.getPackageRegistry().put(PaPackage.eINSTANCE.getNsURI(), PaPackage.eINSTANCE);
    
    URI fileURI = 
        URI.createFileURI(new File("model/test.melodymodeller").getAbsolutePath()); 
    Resource maResource = resSet.getResource(fileURI, true);
    TreeIterator<EObject> iter = maResource.getAllContents();