2014-02-12 5 views
2

동적 모델 메타를로드하려면 http://www.ibm.com/developerworks/library/os-eclipse-dynamicemf/ 문서를 따르고 있습니다.EMF 모델을 동적으로로드 할 때 오류가 발생했습니다.

나는 I've가 XMI 파일이 이미 디렉토리에 존재하는이 오류 메시지

Exception in thread "main" org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'BookStore' is not found or is abstract. (.\BookStore.xmi, 9, 34) 

있어,이

ResourceSet load_resourceSet = new ResourceSetImpl(); 
// ResourceSet load_resourceSet2 = new ResourceSetImpl(); 

/* 
* Register XMI Factory impl ementation using DEFAULT_EXTENSION 
*/ 
load_resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", //$NON-NLS-1$ 
      new XMIResourceFactoryImpl()); 

/* 
* Add bookStoreEPackage to package registry 
*/ 
load_resourceSet.getPackageRegistry().put("http:///com.ibm.dynamic.example.bookstore.ecore", 
     bookStoreEPackage); 

// load_resourceSet2.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", //$NON-NLS-1$ 
    // new XMIResourceFactoryImpl()); 

/* 
* Load the resources using the URI 
*/ 
Resource modelo_esquerda = load_resourceSet 
       .getResource(URI.createURI("./BookStore.xmi"), true); 

를 사용하여 모델 복제 된 문서를로드하지만.

내가 할 수있는 일은 무엇인가?

은 나를 위해 잘 작동, 당신은

답변

2

다음을 시도 할 수 있습니다 감사합니다 Data이 모델

XMIResourceImpl resource = new XMIResourceImpl(); 
File source = new File(xmlName.xml); 
resource.load(new FileInputStream(source), new HashMap<Object,Object>()); 
Data data = (Data) resource.getContents().get(0); 

입니다.