Java Code Examples for org.eclipse.emf.ecore.EPackage.getESuperPackage()

The following are Jave code examples for showing how to use getESuperPackage() of the org.eclipse.emf.ecore.EPackage class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: gemoc-studio-modeldebugging   File: DefaultModelLoader.java   View Source Code Vote up 5 votes
protected static HashMap<String, String> getnsURIMapping(IExecutionContext context) {
	HashMap<String, String> nsURIMapping = new HashMap<String, String>();

	final String langQuery = "lang=";
	String melangeQuery = context.getRunConfiguration().getExecutedModelAsMelangeURI().query();
	if (melangeQuery != null && !melangeQuery.isEmpty() && melangeQuery.contains(langQuery)) {

		String targetLanguage = melangeQuery.substring(melangeQuery.indexOf(langQuery) + langQuery.length());
		if (targetLanguage.contains("&")) {
			targetLanguage = targetLanguage.substring(0, targetLanguage.indexOf("&"));
		}
		String targetLanguageNsURI = MelangeRegistry.INSTANCE.getLanguageByIdentifier(targetLanguage).getUri();

		// simply open the original model file in a separate ResourceSet
		// and ask its root element class nsURI
		Object o = EMFResource.getFirstContent(context.getRunConfiguration().getExecutedModelURI());
		if (o instanceof EObject) {
			EPackage rootPackage = ((EObject) o).eClass().getEPackage();
			while (rootPackage.getESuperPackage() != null) {
				rootPackage = rootPackage.getESuperPackage();
			}
			nsURIMapping.put(rootPackage.getNsURI(), targetLanguageNsURI);
		}
	}

	return nsURIMapping;
}
 
Example 2
Project: JavaGraph   File: EcoreUtil.java   View Source Code Vote up 5 votes
/**
 * Generates an Id for the given Ecore package
 * @param pkg Package to generate Id for
 * @return The Id
 */
public static Id idFromPackage(EPackage pkg) {
    Id nsId = Id.ROOT;
    if (pkg.getESuperPackage() != null) {
        nsId = idFromPackage(pkg.getESuperPackage());
    }
    return Id.getId(nsId, Name.getName(pkg.getName()));
}