summaryrefslogtreecommitdiffstats
path: root/tags/java-M1-final/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java-M1-final/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java')
-rw-r--r--tags/java-M1-final/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java215
1 files changed, 0 insertions, 215 deletions
diff --git a/tags/java-M1-final/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java b/tags/java-M1-final/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
deleted file mode 100644
index f4d39670b6..0000000000
--- a/tags/java-M1-final/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.tuscany.sdo.model.impl.ModelPackageImpl;
-import org.apache.tuscany.sdo.model.java.impl.JavaPackageImpl;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.sdo.util.metadata.impl.MetadataPackageImpl;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-
-
-/**
- * Look up a Type given the uri and typeName or interfaceClass.
- * SDO Types are available through the
- * getType("commonj.sdo", typeName) method.
- * Defines Types from DataObjects.
- */
-public class TypeHelperImpl implements TypeHelper
-{
- protected ExtendedMetaData extendedMetaData;
-
- public ExtendedMetaData getExtendedMetaData()
- {
- return extendedMetaData;
- }
-
- public TypeHelperImpl(ExtendedMetaData extendedMetaData)
- {
- this.extendedMetaData = extendedMetaData;
-
- // Register the standard (predefined) SDO types
- ModelPackageImpl.init();
- JavaPackageImpl.init();
- MetadataPackageImpl.init();
- }
-
- public Type getType(String uri, String typeName)
- {
- EPackage ePackage = extendedMetaData.getPackage(uri);
- if (ePackage != null)
- {
- EClassifier eClassifier = ePackage.getEClassifier(typeName);
- if (eClassifier == null)
- {
- eClassifier = extendedMetaData.getType(ePackage, typeName);
- }
- return (Type)eClassifier;
- }
- return null;
- }
-
- public Type getType(Class interfaceClass)
- {
- Type type = SDOUtil.getJavaSDOType(interfaceClass);
- if (type != null)
- {
- return type;
- }
-
- //TODO more efficient implementation ... this is a really bad one!
- for (Iterator iter = EPackage.Registry.INSTANCE.values().iterator(); iter.hasNext(); )
- {
- Object value = iter.next();
- if (value instanceof EPackage)
- {
- EPackage ePackage = (EPackage)value;
- for (Iterator iter2 = ePackage.getEClassifiers().iterator(); iter2.hasNext(); )
- {
- EClassifier eClassifier = (EClassifier)iter2.next();
- if (eClassifier.getInstanceClass() == interfaceClass)
- {
- return (Type)eClassifier;
- }
- }
- }
- }
-
- return null;
- }
-
- public Type define(DataObject type)
- {
- if (!(type instanceof org.apache.tuscany.sdo.model.Type))
- throw new IllegalArgumentException();
- org.apache.tuscany.sdo.model.Type modeledType = (org.apache.tuscany.sdo.model.Type)type;
-
- boolean isDataType = modeledType.isDataType();
- Type definedType = SDOUtil.createType(this, modeledType.getUri(), modeledType.getName(), isDataType);
-
- SDOUtil.setJavaClassName(definedType, modeledType.getInstanceClassName());
-
- if (!isDataType)
- {
- SDOUtil.setSequenced(definedType, modeledType.isSequenced());
- SDOUtil.setOpen(definedType, modeledType.isOpen());
- SDOUtil.setAbstract(definedType, modeledType.isAbstract());
-
- for (Iterator iter = modeledType.getBaseType().iterator(); iter.hasNext(); )
- {
- Type baseType = getDefinedType((org.apache.tuscany.sdo.model.Type)iter.next());
- SDOUtil.addBaseType(definedType, baseType);
- }
-
- for (Iterator iter = modeledType.getAliasName().iterator(); iter.hasNext(); )
- {
- String aliasName = (String)iter.next();
- SDOUtil.addAliasName(definedType, aliasName);
- }
-
- for (Iterator iter = modeledType.getProperty().iterator(); iter.hasNext(); )
- {
- org.apache.tuscany.sdo.model.Property modeledProperty = (org.apache.tuscany.sdo.model.Property)iter.next();
-
- Type propertyType = getDefinedType(modeledProperty.getType_());
- Property definedProperty = SDOUtil.createProperty(definedType, modeledProperty.getName(), propertyType);
-
- SDOUtil.setMany(definedProperty, modeledProperty.isMany());
- SDOUtil.setDefault(definedProperty, modeledProperty.getDefault_());
- SDOUtil.setReadOnly(definedProperty, modeledProperty.isReadOnly());
-
- for (Iterator iter2 = modeledProperty.getAliasName().iterator(); iter2.hasNext(); )
- {
- String aliasName = (String)iter2.next();
- SDOUtil.addAliasName(definedProperty, aliasName);
- }
-
- if (!propertyType.isDataType())
- {
- SDOUtil.setContainment(definedProperty, modeledProperty.isContainment());
- if (modeledProperty.getOpposite_() != null)
- {
- SDOUtil.setOpposite(definedProperty, getDefinedProperty(modeledProperty.getOpposite_()));
- }
- }
- }
- } // if (!isDataType)
-
- return definedType;
- }
-
- public List /*Type*/define(List /*DataObject*/types)
- {
- int count = types.size();
- List definedTypes = new ArrayList(count);
- for (int i = 0; i < count; i++)
- {
- definedTypes.add(define((DataObject)types.get(i)));
- }
- return definedTypes;
- }
-
- protected Type getDefinedType(org.apache.tuscany.sdo.model.Type modeledType)
- {
- if (modeledType instanceof Type)
- {
- return (Type)modeledType;
- }
- else
- {
- EClassifier eClassifier = extendedMetaData.getType(modeledType.getUri(), modeledType.getName());
- if (eClassifier != null)
- {
- return (Type)eClassifier;
- }
- else
- {
- return define((DataObject)modeledType);
- }
- }
- }
-
- protected Property getDefinedProperty(org.apache.tuscany.sdo.model.Property modeledProperty)
- {
- if (modeledProperty instanceof Property)
- {
- return (Property)modeledProperty;
- }
- else
- {
- DataObject modeledContainingType = ((DataObject)modeledProperty).getContainer();
-
- Type definedContainingType = getDefinedType((org.apache.tuscany.sdo.model.Type)modeledContainingType);
- String propertyName = modeledProperty.getName();
-
- return definedContainingType.getProperty(propertyName);
- }
- }
-
-}