diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/util/MetadataResourceImpl.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/util/MetadataResourceImpl.java | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/util/MetadataResourceImpl.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/util/MetadataResourceImpl.java deleted file mode 100644 index 2db23d2b8..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/util/MetadataResourceImpl.java +++ /dev/null @@ -1,222 +0,0 @@ -/** - * <copyright> - * </copyright> - * - * $Id: MetadataResourceImpl.java,v 1.12 2008/11/18 22:24:36 gkessler Exp $ - */ -package org.eclipse.jst.jsf.common.metadata.internal.util; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.xmi.PackageNotFoundException; -import org.eclipse.emf.ecore.xmi.XMLHelper; -import org.eclipse.emf.ecore.xmi.XMLLoad; -import org.eclipse.emf.ecore.xmi.XMLResource; -import org.eclipse.emf.ecore.xmi.impl.SAXXMLHandler; -import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl; -import org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl; -import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl; -import org.eclipse.jst.jsf.common.JSFCommonPlugin; -import org.eclipse.jst.jsf.common.metadata.Entity; -import org.eclipse.jst.jsf.common.metadata.MetadataPackage; -import org.eclipse.jst.jsf.common.metadata.Model; -import org.eclipse.jst.jsf.common.metadata.Trait; -import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider; -import org.xml.sax.helpers.DefaultHandler; - -/** - * <!-- begin-user-doc --> - * The <b>Resource </b> associated with the package. - * <!-- end-user-doc --> - * @see org.eclipse.jst.jsf.common.metadata.internal.util.MetadataResourceFactoryImpl - * @generated NOT - */ -public class MetadataResourceImpl extends XMLResourceImpl implements XMLResource.ResourceHandler { - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public static final String copyright = "Oracle inc."; //$NON-NLS-1$ - - /** - * IMetaDataSourceModelProvider - */ - protected IMetaDataSourceModelProvider _provider; - /** - * Creates an instance of the resource. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param uri the URI of the new resource. - * @generated - */ - public MetadataResourceImpl(URI uri) { - super(uri); - } - - /** - * Constructor - */ - public MetadataResourceImpl() { - super(); - } - - - /** - * Constructor - * @param provider - */ - public MetadataResourceImpl(IMetaDataSourceModelProvider provider){ - super(); - _provider = provider; - } - - /** - * @generated NOT - */ - protected XMLLoad createXMLLoad() { - return new MetadataXMLLoad(createXMLHelper()); - } - /** - * Override createXMLHelper so that MetadataPackage.eINSTANCE is used for the NoNamespace package - * @generated NOT - */ - protected XMLHelper createXMLHelper() { - return new XMLHelperImpl(){ - @Override - public EPackage getNoNamespacePackage() { - return MetadataPackage.eINSTANCE; - } - }; - } - - public void postLoad(XMLResource resource, InputStream inputStream, - Map options) - { - final List<EObject> resContents = resource.getContents(); - - if (resContents.size() > 0) - { - final Object aRoot = resContents.get(0); - if (aRoot instanceof Model) - { - setModelKeyInTraits((Model) aRoot, (Model) aRoot); - } - } - else - { - JSFCommonPlugin.log(IStatus.WARNING, - "No model loaded for "+getURI()); //$NON-NLS-1$ - } - } - - private void setModelKeyInTraits(Model root, Entity currentEntity) { - // TODO: does this have side effect that we care about? nothing is done with the return value - MetadataPackage.eINSTANCE.getTrait_SourceModelProvider(); - for (int i=0;i < currentEntity.getTraits().size();i++){ - ((Trait)currentEntity.getTraits().get(i)).setSourceModelProvider(_provider); - } - for (int j=0;j < currentEntity.getChildEntities().size();j++){ - setModelKeyInTraits(root,(Entity)currentEntity.getChildEntities().get(j)); - } - - if (currentEntity == root){ - for (int k=0;k < root.getEntityGroups().size();k++){ - setModelKeyInTraits(root,(Entity)root.getEntityGroups().get(k)); - } - } - } - - - public void postSave(XMLResource resource, OutputStream outputStream, - Map options) { - // do nothing - } - - public void preLoad(XMLResource resource, InputStream inputStream, - Map options) { - // do nothing - } - - public void preSave(XMLResource resource, OutputStream outputStream, - Map options) { - // do nothing - } - - /** - * Override the handleErrors() method so that resource will load gracefully, and errors reported later - * when appropriate - * - * @generated NOT - */ - private static class MetadataXMLLoad extends XMLLoadImpl { - - public MetadataXMLLoad(XMLHelper helper) { - super(helper); - } - - @Override - protected void handleErrors() throws IOException { - //by doing nothing here, this allows the list of non-fatal errors (res.getErrors()) to be returned - } - - @Override - protected DefaultHandler makeDefaultHandler() { - return new MetadataXMLHandler(resource, helper, options); - } - } - - /** - * Ensures that only EMF extension models registered with the EMF Package Registry are considered. - * @generated NOT - */ - private static class MetadataXMLHandler extends SAXXMLHandler { - - public MetadataXMLHandler(XMLResource xmiResource, XMLHelper helper, - Map<?, ?> options) { - super(xmiResource, helper, options); - } - - @Override - protected EPackage getPackageForURI(String uriString) { - //code taken from super and modified so that only package registry is considered - if (uriString == null) - { - return null; - } - - EPackage ePackage = packageRegistry.getEPackage(uriString); - - if (ePackage != null && ePackage.eIsProxy()) - { - ePackage = null; - } - - if (ePackage == null) - { - ePackage = handleMissingPackage(uriString); - } - - if (ePackage == null) - { - error - (new PackageNotFoundException - (uriString, - getLocation(), - getLineNumber(), - getColumnNumber())); - } - - return ePackage; - } - } -} //MetadataResourceImpl |