Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardModelFactory.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardModelFactory.java190
1 files changed, 0 insertions, 190 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardModelFactory.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardModelFactory.java
deleted file mode 100644
index a2cddc7d9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardModelFactory.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.common.metadata.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xmi.ClassNotFoundException;
-import org.eclipse.emf.ecore.xmi.FeatureNotFoundException;
-import org.eclipse.emf.ecore.xmi.IllegalValueException;
-import org.eclipse.emf.ecore.xmi.PackageNotFoundException;
-import org.eclipse.emf.ecore.xmi.UnresolvedReferenceException;
-import org.eclipse.emf.ecore.xmi.XMIException;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
-import org.eclipse.jst.jsf.common.JSFCommonPlugin;
-import org.eclipse.jst.jsf.common.metadata.internal.util.MetadataResourceImpl;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-
-/**
- * Singleton that produces and loads standard metadata models.
- * All models are loaded into the same ResourceSet
- *
- * see Model
- */
-public class StandardModelFactory {
- private static StandardModelFactory INSTANCE;
- private static boolean DEBUG_MD_LOAD = false;
- private ExtendedMetaData extendedMetaData;
- private ResourceSet resourceSet;
-
-
- /**
- * @return singleton instance of the metadata model factory
- */
- public synchronized static StandardModelFactory getInstance(){
- if (INSTANCE == null){
- INSTANCE = new StandardModelFactory();
- INSTANCE.init();
-
- if (JSFCommonPlugin.getPlugin().isDebugging()){
- DEBUG_MD_LOAD = Boolean.valueOf(Platform.getDebugOption(JSFCommonPlugin.PLUGIN_ID+"/debug/metadataload")).booleanValue();
- }
- }
- return INSTANCE;
- }
-
- private void init() {
- resourceSet = new ResourceSetImpl();
-
- extendedMetaData = new BasicExtendedMetaData(resourceSet.getPackageRegistry());
-
- // Register the appropriate resource factory to handle all file extensions.
- //
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
- (Resource.Factory.Registry.DEFAULT_EXTENSION,
- new XMLResourceFactoryImpl());
-
- //relying on the org.eclipse.emf.ecore.generated_package ext-pt to register traits
- }
-
- private StandardModelFactory() {
- super();
- }
-
- /**
- * Factory method that probably belongs somewhere else!
- * @param key
- * @param strategy
- * @return an empty MetaDataModel
- */
- public MetaDataModel createModel(ModelKeyDescriptor key, IDomainLoadingStrategy strategy){
- return new MetaDataModel(key, strategy);
- }
-
- /**
- * Factory method that probably belongs somewhere else!
- * @param modelContext
- * @return a ModelKeyDescriptor for the context
- */
- public ModelKeyDescriptor createModelKeyDescriptor(final ITaglibDomainMetaDataModelContext modelContext) {
- return new ModelKeyDescriptor(modelContext.getProject(), modelContext.getDomainID(), modelContext.getURI());
- }
-
- /**
- * @param inputStream
- * @param provider
- * @param uri
- * @return the root of the standard model from the resource as an EList
- * @throws IOException
- */
- public EList loadStandardFileResource(final InputStream inputStream, final IMetaDataSourceModelProvider provider, final org.eclipse.emf.common.util.URI uri) throws IOException {
- final XMLResource res = new MetadataResourceImpl(provider);
- res.setURI(uri);
- resourceSet.getResources().add(res);
- setLoadOptions(res);
- res.load(inputStream, null);
- if (DEBUG_MD_LOAD)
- reportErrors(res);
- final EList root = res.getContents();
- return root;
- }
-
- private void reportErrors(Resource res) {
- EList<Resource.Diagnostic> errs = res.getErrors();
- if (! errs.isEmpty()){
- for (Iterator<Resource.Diagnostic> it= errs.iterator();it.hasNext();){
- StandardModelErrorMessageFactory.logErrorMessage(it.next());
- }
- }
- }
- /**
- * Sets default load options for the resource
- * @param resource
- */
- protected void setLoadOptions(XMLResource resource) {
- Map options = resource.getDefaultLoadOptions();
-// options.put(XMLResource.OPTION_SAVE_TYPE_INFORMATION, true);
- options.put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
- options.put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
- options.put(XMLResource.OPTION_RESOURCE_HANDLER, resource);
- options.put(XMLResource.OPTION_LAX_FEATURE_PROCESSING, Boolean.TRUE);
- options.put(XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, Boolean.FALSE);//turning this off so that res.getErrors() has values to check! bizarre that I should need to do this.
-// options.put(XMLResource.OPTION_DOM_USE_NAMESPACES_IN_SCOPE, Boolean.TRUE);
- }
-
-
- static class StandardModelErrorMessageFactory {
-
- /**
- * Simply logs all messages against JSFCommonPlugin, for now.
- * @param diagnostic
- */
- public static void logErrorMessage(Resource.Diagnostic diagnostic) {
- //should be XMIException
- if (diagnostic instanceof XMIException) {
- XMIException ex = (XMIException)diagnostic;
- String msg = createMessage(ex);
- JSFCommonPlugin.log(IStatus.ERROR, msg);
-// System.out.println(msg);
- }
- else {
- JSFCommonPlugin.log(IStatus.ERROR, diagnostic.toString());//do better???
-// System.out.println(diagnostic.toString());
- }
- }
-
- private static String createMessage(XMIException ex) {
-
- StringBuffer buf = new StringBuffer("Metadata Load Error: ")
- .append(ex.getClass().getSimpleName()).append(": ");
-
- if (ex instanceof PackageNotFoundException)
- buf.append(((PackageNotFoundException)ex).uri());
- else if (ex instanceof ClassNotFoundException)
- buf.append(((ClassNotFoundException)ex).getName());
- else if (ex instanceof FeatureNotFoundException)
- buf.append(((FeatureNotFoundException)ex).getName());
- else if (ex instanceof IllegalValueException)
- buf.append(((IllegalValueException)ex).getValue().toString());
- else if (ex instanceof UnresolvedReferenceException)
- buf.append(((UnresolvedReferenceException)ex).getReference());
- else
- buf.append(ex.getMessage());
-
- buf.append(" in ").append(ex.getLocation()).append(": Line = ")
- .append(ex.getLine()).append(": Column = ").append(ex.getColumn());
- return buf.toString();
- }
- }
-}

Back to the top