diff --git a/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/PlanProSchemaDir.java b/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/PlanProSchemaDir.java index f9dea8e3bc..17f91a98cb 100644 --- a/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/PlanProSchemaDir.java +++ b/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/PlanProSchemaDir.java @@ -42,14 +42,16 @@ private static class LSInputImpl implements LSInput { private final String baseURI; private final String publicId; private final String systemId; + private final String version; private final Bundle bundle = FrameworkUtil .getBundle(PlanPro_Schnittstelle.class); LSInputImpl(final String publicId, final String systemId, - final String baseURI) { + final String baseURI, final String version) { this.publicId = publicId; this.systemId = systemId; this.baseURI = baseURI; + this.version = version; } @Override @@ -133,8 +135,12 @@ public void setSystemId(final String systemId) { throw new UnsupportedOperationException(); } + private String getSchemaDir() { + return String.format("%s/%s", SCHEMA_DIR, version); //$NON-NLS-1$ + } + private String getSchemaPath() { - final Enumeration entries = bundle.findEntries(SCHEMA_DIR, + final Enumeration entries = bundle.findEntries(getSchemaDir(), getSystemId(), true); final URL element = entries.nextElement(); Assert.isTrue(!entries.hasMoreElements()); @@ -153,7 +159,9 @@ public ResourceResolver() { public LSInput resolveResource(final String type, final String namespaceURI, final String publicId, final String systemId, final String baseURI) { - return new LSInputImpl(publicId, systemId, baseURI); + final String version = namespaceURI + .substring(namespaceURI.lastIndexOf("/") + 1); //$NON-NLS-1$ + return new LSInputImpl(publicId, systemId, baseURI, version); } } diff --git a/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/files/PlanProFileResource.java b/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/files/PlanProFileResource.java index 77b031baf8..1234e880e4 100644 --- a/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/files/PlanProFileResource.java +++ b/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/files/PlanProFileResource.java @@ -13,6 +13,7 @@ import java.util.Map; import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.xmi.XMLHelper; import org.eclipse.emf.ecore.xmi.XMLResource; import org.eclipse.emf.ecore.xmi.XMLSave; import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl; @@ -21,7 +22,24 @@ * Adapted resource implementation for the EMF-XML Resources */ public class PlanProFileResource extends XMLResourceImpl { + private String standalone; + private XMLHelper xmlHelper; + + /** + * Creates an instance of the resource. + * + * @param uri + * the URI of the new resource. + * @param xmlHelper + * the {@link XMLHelper} + * @generated + */ + public PlanProFileResource(final URI uri, final XMLHelper xmlHelper) { + this(uri); + this.xmlHelper = xmlHelper; + } /** * Creates an instance of the resource.