2013-06-20 14 views
7

Nel mio modello Ecore tutti i tipi che provengono dall'esterno del modello corrente non vengono risolti dai relativi proxy. Tutti i campi dell'oggetto restituito da getType() sono null e solo l'URI del tipo di memoria viene compilato in fase di esecuzione.L'EPROxy URI non viene risolto nel modello ecore

Ecco un estratto del mio modello:

<?xml version="1.0" encoding="UTF-8"?> 
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="http:///model.ecore" nsPrefix="model"> 
    <eSubpackages name="general" nsURI="http:///model/general.ecore" nsPrefix="model.general"> 
    <eClassifiers xsi:type="ecore:EClass" name="Address"> 
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="street" ordered="false" lowerBound="1" 
     eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/> 
    </eClassifiers> 
    </eSubpackages> 
</ecore:EPackage> 

Attualmente se faccio un

Address a = <address item from model> 
Type t = a.getType(); 

tutti i campi della t saranno null e il toString() restituisce qualcosa come:

[email protected] (eProxyURI: 
platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String) 

risposta

5

Modificare gli URI del proxy da platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String per contenere l'URI NS del pacchetto che contiene il tipo di dati: http://www.eclipse.org/uml2/4.0.0/Types#//String.

Si noti che questa modifica può essere eseguita solo in un editor di testo.

Problemi correlati