1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
/**
* Loads an MdfDomain for a resource.
*
* @param resource The MdfDomain to create the resource from
*/
private void loadDomain(IResource resource) {
String path = resource.getFullPath().toString();
URI uri = URI.createPlatformResourceURI(path, true);
ResourceSet resourceSet = new ResourceSetImpl();
try {
Resource emfResource = resourceSet.getResource(uri, true);
boolean problemOccurred = true;
if(resource != null) {
if (emfResource.getContents().size() == 1) {
Object obj = emfResource.getContents().get(0);
if(obj instanceof MdfDomain) {
problemOccurred = false;
MdfDomain mdfDomain = (MdfDomain) obj;
MdfName qName = mdfDomain.getQualifiedName();
String key = qName.getQualifiedName();
if (mdfDomainMap.containsKey(key)) {
Logger.warning("Identical MdfDomain found with the same Qualified Name: " + key + " . Ignoring MdfDomain.");
} else {
Logger.info("Adding domain: " + key);
mdfDomainMap.put(key, mdfDomain);
}
}
}
}
if (problemOccurred) {
Logger.warning("A problem occurred reading the resource: " + path);
}
}catch (Exception ex) {
// ici j aimerais créer un marker
}
} |