Skip to content

Commit

Permalink
Avoid Exceptions from existing models with no metamodel uris
Browse files Browse the repository at this point in the history
* Appears that WSDL created models lack primary metamodel uris and the
  method getModelClass() returns null causing exceptions.

* Returns something tangible rather than null
  • Loading branch information
Paul Richardson committed Feb 6, 2013
1 parent ec2dda8 commit 14bea5e
Showing 1 changed file with 10 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
import org.teiid.designer.core.xmi.XMIHeaderReader;
import org.teiid.designer.extension.ExtensionPlugin;
import org.teiid.designer.extension.registry.ModelExtensionRegistry;
import org.teiid.designer.metadata.runtime.RuntimeMetadataPlugin;
import org.teiid.designer.metamodels.core.CoreMetamodelPlugin;
import org.teiid.designer.metamodels.core.ModelType;
import org.teiid.designer.metamodels.core.extension.ExtensionPackage;
Expand Down Expand Up @@ -92,6 +91,7 @@ public class ModelUtil {
public static final String MODEL_CLASS_WEB_SERVICE = "Web Service"; //$NON-NLS-1$
public static final String MODEL_CLASS_FUNCTION = "Function (Deprecated)"; //$NON-NLS-1$
public static final String MODEL_CLASS_MODEL_EXTENSION = "Model Extension (Deprecated)"; //$NON-NLS-1$
public static final String MODEL_CLASS_UNKNOWN = "Unknown"; //$NON-NLS-1$

public static final String URI_XML_VIEW_MODEL = "http://www.metamatrix.com/metamodels/XmlDocument"; //$NON-NLS-1$
public static final String URI_WEB_SERVICES_VIEW_MODEL = "http://www.metamatrix.com/metamodels/WebService"; //$NON-NLS-1$
Expand Down Expand Up @@ -271,15 +271,17 @@ public static String getModelClass(final Object object) throws ModelWorkspaceExc

if( mr != null ) {
String mmURI = mr.getPrimaryMetamodelUri();
if( mmURI.equals(URI_RELATIONAL_MODEL) ) return MODEL_CLASS_RELATIONAL;
if( mmURI.equals(URI_FUNCTION_MODEL) ) return MODEL_CLASS_FUNCTION;
if( mmURI.equals(URI_EXTENSION_MODEL) ) return MODEL_CLASS_MODEL_EXTENSION;
if( mmURI.equals(URI_XML_VIEW_MODEL) ) return MODEL_CLASS_XML;
if( mmURI.equals(URI_WEB_SERVICES_VIEW_MODEL) ) return MODEL_CLASS_WEB_SERVICE;
if( mmURI.equals(URI_XML_SCHEMA_MODEL) ) return MODEL_CLASS_XML_SCHEMA;
if (mmURI != null) {
if (mmURI.equals(URI_RELATIONAL_MODEL)) return MODEL_CLASS_RELATIONAL;
if (mmURI.equals(URI_FUNCTION_MODEL)) return MODEL_CLASS_FUNCTION;
if (mmURI.equals(URI_EXTENSION_MODEL)) return MODEL_CLASS_MODEL_EXTENSION;
if (mmURI.equals(URI_XML_VIEW_MODEL)) return MODEL_CLASS_XML;
if (mmURI.equals(URI_WEB_SERVICES_VIEW_MODEL)) return MODEL_CLASS_WEB_SERVICE;
if (mmURI.equals(URI_XML_SCHEMA_MODEL)) return MODEL_CLASS_XML_SCHEMA;
}
}

return null;
return MODEL_CLASS_UNKNOWN;
}

/**
Expand Down

0 comments on commit 14bea5e

Please sign in to comment.