diff options
Diffstat (limited to 'branches/sdo-1.1-incubating/lib/src/main')
16 files changed, 0 insertions, 2009 deletions
diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/Event.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/Event.java deleted file mode 100644 index 4b4d0c4050..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/Event.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.api; - -import commonj.sdo.Property; - -/** - * An experimental Tuscany API interface, subject to possible change, - * to permit notification of change events on a DataObject instance - */ -public interface Event { - - Object getNotifier(); - - /** - * constants returned from getEventType() - */ - int SET = 1; - int UNSET = 2; - int ADD = 3; - int REMOVE = 4; - int ADD_MANY = 5; - int REMOVE_MANY = 6; - int MOVE = 7; - int REMOVE_LISTENER = 8; - - int getEventType(); - - /** - * get the Property for which the value changed - */ - Property getProperty(); - Object getOldValue(); - Object getNewValue(); - - /* - * returns true if the Property value was in state "set" before this change occurred. - */ - boolean wasSet(); - boolean isTouch(); - - int NO_INDEX = -1; - int getPosition(); - - } - diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/EventListener.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/EventListener.java deleted file mode 100644 index cfb534eaf0..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/EventListener.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.api; - -/** - * An experimental Tuscany API interface, subject to possible change. - * Can be registered with a DataObject instance to permit change - * notifications for Property values of the DataObject. - * @see SDOHelper#addChangeListener(commonj.sdo.DataObject, EventListener) - * - */ -public interface EventListener { - - public void eventNotification(Event e); - -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java deleted file mode 100644 index 17d9a08a87..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java +++ /dev/null @@ -1,452 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.api; - -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.OutputStream; -import java.util.List; -import java.util.Map; - -import commonj.sdo.helper.XSDHelper; - -import commonj.sdo.DataGraph; -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.Sequence; -import commonj.sdo.Type; -import commonj.sdo.helper.CopyHelper; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.TypeHelper; - -/** - * This interface provides helper functions which are not included in the SDO specification itself. - * Use of the functions in this interface is recommended, instead of resorting to low-level - * implementation-specific APIs. - */ -public interface SDOHelper -{ - final int UNBOUNDED = -1; //return value from getUpperBound() when maxOccurs="unbounded" - final int UNSPECIFIED = -2; //return value from getUpperBound() for global property - - /** - * Create a non-extensible HelperContext to provide access to a consistent set of Helpers which make use - * of a new TypeHelper instance to provide scope for type definitions. - * @return the new HelperContext - * @see #createHelperContext(boolean) - */ - public HelperContext createHelperContext(); - - /** - * Create a non-extensible HelperContext to provide access to a consistent set of Helpers which make use - * of a new TypeHelper instance to provide scope for type definitions. - * @param options Map of default XMLOptions - * @return the new HelperContext - * @see #createHelperContext(boolean) - */ - public HelperContext createHelperContext(boolean extensibleNamespaces, Map options); - - /** - * Create a HelperContext to provide access to a consistent set of Helpers which make use of a new - * TypeHelper instance to provide scope for type definitions. - * @param extensibleNamespaces true if the contents of a namespaces should be incrementally modifiable over time - * @return the new HelperContext - */ - public HelperContext createHelperContext(boolean extensibleNamespaces); - - /** - * create a non-extensible HelperContext with default load/save options - * @param options default load/save options from XMLOptions - * @return the new HelperContext - */ - public HelperContext createHelperContext(Map options); - - /** - * Creates an instance of a data type from the specified string. - * @param dataType a Type, for which isDataType() returns true, to instantiate. - * @param literal the string value of the dataType. - * @return an instance of the dataType. - * @see #convertToString(Type, Object) - */ - public Object createFromString(Type dataType, String literal); - - /** - * Converts an instance of a data type to a string literal representation. - * @param dataType the Type, for which isDataType() returns true, of the value to convert. - * @param value a value of the dataType. - * @return the string literal representation of the value. - * @see #createFromString(Type, String) - */ - public String convertToString(Type dataType, Object value); - - /** - * Create a DataObject wrapper for an instance of the specified dataType. - * This method is typically used to create a root object that can be passed to the XMLHelper.save() - * method when the root element to be serialized is an XMLSchema simpleType. - * @param dataType a Type for which isDataType() returns true. - * @param value the instance value. - * @return a DataObject wrapper for the specified value. - */ - public DataObject createDataTypeWrapper(Type dataType, Object value); - - /** - * Get the SDO built-in type corresponding to the specified XSD type in the XML Schema - * namespace ("http://www.w3.org/2001/XMLSchema"). - * @param xsdType a type name in the XML Schema namespace. - * @return the SDO built-in Type corresponding to the specified XSD type. - */ - public Type getXSDSDOType(String xsdType); - - /** - * Gets the Sequence corresponding to the specified substitutable Property of the specified DataObject. - * @param dataObject the data object. - * @param head a substitution group head property. - * @return the Sequence corresponding to the specified substitutable Property of the specified DataObject or - * null if the specified Property isn't a substitution head. - */ - public Sequence getSubstitutionValues(DataObject dataObject, Property head); - - /** - * Get the SDO built-in type corresponding to the specified Java instanceClass. - * @param javaClass the Java instanceClass of the type. - * @return the SDO built-in Type corresponding to the specified instanceClass. - */ - public Type getJavaSDOType(Class javaClass); - - /** - * Return whether at least one value is required for a valid instance of the specified property. - * @param the property in question. - * @return true if the property is required. - */ - public boolean isRequired(Property property); - - /** - * Return the upper bound of the specified property or -1 if unbounded. - * @param the property in question. - * @return the upper bound. - */ - public int getUpperBound(Property property); - - /** - * Return the lower bound of the specified property or 1 by default - * @param the property in question. - * @return the lower bound. - */ - public int getLowerBound(Property property); - - /** - * Return Enumeration facet - * @param type - * @return List of enum facets in a Type - *///Amita - public List getEnumerationFacet(Type type); - - /** - * Return Pattern facet - * @param type - * @return List of pattern facets in a Type - *///Amita - public List getPatternFacet(Type type); - - /** - * Returns whether the Property is many-valued given the specified context. - * @param property The Property in question - * @param context The context to check whether the specified Property is many-valued - * @return true if the Property is many-valued given the specified context. - */ - public boolean isMany(Property property, DataObject context); - - /** - * Create an empty data graph. - * @return the new data graph instance. - */ - public DataGraph createDataGraph(); - - /** - * Set the root object of a data graph. - * @param dataGraph the data graph in which to set the root object. - * @param rootObject the root object. - */ - public void setRootObject(DataGraph dataGraph, DataObject rootObject); - - /** - * Load a serialized data graph from the specified insputStream. - * - * @param inputStream the inputStream of the data graph. - * @param options loader control options, or null. - * @param hc the HelperContext in which to register deserialized Types and to find Types when - * creating DataObject instances, or null for default HelperContext. - * @return the de-serialized data graph. - * @throws IOException - */ - public DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext hc) throws IOException; - - /** - * Serialize the specified data graph to the specified outputStream. - * @param dataGraph the data graph to save. - * @param outputStream the outputStream for the data graph. - * @param options serializer control options, or null. - * @throws IOException - */ - public void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException; - - /** - * Registers the specified {@link Type type}(s) to be serialized along with - * the {@link DataObject data object}(s) in the graph. For example, the list of types returned from - * {@link TypeHelper#define} can be registered with this method, allowing deserialization of - * instances of a dynamically defined model. - * @param dataGraph the DataGraph in which to register the specified type(s). - * @param types a list containing the type(s) to be registered (TBD or null to automatically register all - * types used by the objects in the DataGraph). - */ - public void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/types); - - /** - * Create a new cross scope CopyHelper. - * @param hc the HelperContext containing the Types to use to create the copy objects. - * @return the new CopyHelper. - */ - public CopyHelper createCrossScopeCopyHelper(HelperContext targetScope); - - - /** - * Create a new XMLStreamHelper, with visibility to types in the specified HelperContext scope. - * @param hc the HelperContext to use for locating types. - * @return the new XMLStreamHelper. - */ - public XMLStreamHelper createXMLStreamHelper(HelperContext hc); - - /** - * Create a new ObjectInputStream in the specifice HelperContext scope. - * @param inputStream the inputStream with which to create the ObjectInputStream. - * @param helperContext the HelperContext scope. - * @return the new ObjectInputStream. - */ - public ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException; - - /** - * Create a new ObjectOutputStream in the specifice HelperContext scope. - * @param outputStream the outputStream with which to create the ObjectOutputStream. - * @param helperContext the HelperContext scope. - * @return the new ObjectOutputStream. - */ - public ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException; - - /** - * Gets all of the types associated with a uri. - * @param hc the HelperContext to use for locating types. - * @param uri the URI of the Types - * @return a List containing instances of Type, null if uri is not found. - */ - public List getTypes(HelperContext hc, String uri); - - /** - * Gets the open content subset of the specified DataObject's instance properties. - * @param dataObject the DataObject instance - * @return a List containing any open content properties of the DataObject - */ - public List getOpenContentProperties(DataObject dataObject); - - /** - * Return true if the specified type is a special DocumentRoot Type. - * @param type the Type in question - * @return true if type is a DocumentRoot - */ - public boolean isDocumentRoot(Type type); - - /** - * Return an XPath from the containment root to the specified DataObject. - * @param dataObject a DataObject - * @return the XPath from the containment root. - */ - public String getXPath(DataObject dataObject); - - /** - * Gets a MetaDataBuilder which can be used to programatically create SDO Types and Properties. - * @return a MetaDataBuilder instance - */ - public MetaDataBuilder getMetaDataBuilder(); - - /** - * An experimental interface, subject to possible change that permits - * registration of an event listener with a DataObject instance - * @param dob DataObject - * @param listener EventListener - */ - public void addChangeListener(DataObject dob, EventListener listener); - - /** - * An experimental interface, subject to possible change that permits - * deregistration of an event listener with a DataObject instance - * @param dob DataObject - * @param listener EventListener - */ - public void removeChangeListener(DataObject dob, EventListener listener); - - /** - * This interface provides methods which can be used to programatically create SDO Types and Properties. - * It provides a lower level and more efficient API then the DataObject-based one of TypeHelper.define(). - */ - - public interface MetaDataBuilder - { - - /** - * Create a Type in the specified TypeHelper scope. - * @return the new Type. - */ - public Type createType(HelperContext hc, String uri, String name, boolean isDataType); - - /** - * Add a baseType to the specified type. - */ - public void addBaseType(Type type, Type baseType); - - /** - * Add an aliasName to the specified type. - */ - public void addAliasName(Type type, String aliasName); - - /** - * Set the isOpen value of the specified type. - */ - public void setOpen(Type type, boolean isOpen); - - /** - * Set the isSequenced value of the specified type. - */ - public void setSequenced(Type type, boolean isSequenced); - - /** - * Set the isAbstract value of the specified type. - */ - public void setAbstract(Type type, boolean isAbstract); - - /** - * Set the isAbstract value of the specified type. - */ - public void setJavaClassName(Type type, String javaClassName); - - /** - * Create a new property in the specified containingType. - */ - public Property createProperty(Type containingType, String name, Type propertyType); - - /** - * Set a SDO property to become an XSD element or attribute - */ - public void setPropertyXMLKind(Property property, boolean isXmlElement); - - /** - * Create a new open content property in the specified TypeHelper scope. - */ - public Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type); - - /** - * Add an aliasName to the specified property. - */ - public void addAliasName(Property property, String aliasName); - - /** - * Set the isMany value of the specified property. - */ - public void setMany(Property property, boolean isMany); - - /** - * Set the isContainment value of the specified property. - */ - public void setContainment(Property property, boolean isContainment); - - /** - * Set the default value of the specified property. - */ - public void setDefault(Property property, String defaultValue); - - /** - * Set the isReadOnly value of the specified property. - */ - public void setReadOnly(Property property, boolean isReadOnly); - - /** - * Set the opposite value of the specified property. - */ - public void setOpposite(Property property, Property opposite); - - /** - * Add an instance property to the specified type. - */ - public void addTypeInstanceProperty(Type definedType, Property instanceProperty, Object value); - - /** - * Add anf instance property to the specified property. - */ - public void addPropertyInstanceProperty(Property definedProperty, Property instanceProperty, Object value); - } - - /** - * This interface contains options that can be passed to the XMLHelper load() and save() methods. - */ - public interface XMLOptions - { - /** - * Line Break String such as "\n", "\r\n", "\r" and "", absence/null is the default (line.separator System Property) - */ - final String XML_SAVE_LINE_BREAK = "LineBreak"; - - /** - * Indent String such as "\t", "", etc. absence/null is the default (" ") - */ - final String XML_SAVE_INDENT = "indent"; - - /** - * Margin String such as " ", "\t\t", etc. Absence/null/"" is the default (no margin) - */ - final String XML_SAVE_MARGIN = "margin"; - - /** - * Attribute formatting that exceeds the specified width as Integer will cause a line break so that formatting will continue indented on the next line - */ - final String XML_SAVE_LINE_WIDTH = "LINE_WIDTH"; - - /** - * Boolean to save a doctype declaration - */ - final String XML_SAVE_DOCTYPE = "SAVE_DOCTYPE"; - - /** - * Boolean to process the schemaLocation/noNamespaceSchemaLocation attributes occurring in the instance document to {@link XSDHelper#define convert XSD(s) to Types} - */ - final String XML_LOAD_SCHEMA = "ProcessSchemaLocations"; - - /** - * To tolerate malformed elements and attributes (default unless set by System property XML.load.form.lax). 0 not to. - */ - final String XML_LOAD_LAX_FORM = "load malform"; - - /** - * Allows you to record unknown features during deserialization/loading. - * The default is Boolean.FALSE unless set to Boolean.TRUE explicitly. - */ - final String XML_LOAD_UNKNOWN_PROPERTIES = "load unknown properties"; - } - -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java deleted file mode 100644 index 54f86aafbd..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java +++ /dev/null @@ -1,445 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.api; - -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.OutputStream; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sdo.api.EventListener; -import org.apache.tuscany.sdo.spi.HelperProviderBase; - -import commonj.sdo.DataGraph; -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.Sequence; -import commonj.sdo.Type; -import commonj.sdo.helper.CopyHelper; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.TypeHelper; -import commonj.sdo.impl.HelperProvider; - -/** - * This class provides convenient static utility functions for calling the default SDOHelper. - */ -public final class SDOUtil -{ - protected static SDOHelper defaultSDOHelper = ((HelperProviderBase)HelperProvider.INSTANCE).sdoHelper(); - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataTypeWrapper(Type, Object)}. - */ - public static DataObject createDataTypeWrapper(Type dataType, Object value) - { - return defaultSDOHelper.createDataTypeWrapper(dataType, value); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createFromString(Type, String)}. - */ - public static Object createFromString(Type dataType, String literal) - { - return defaultSDOHelper.createFromString(dataType, literal); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#convertToString(Type, Object)}. - */ - public static String convertToString(Type dataType, Object value) - { - return defaultSDOHelper.convertToString(dataType, value); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getXSDSDOType(String)}. - */ - public static Type getXSDSDOType(String xsdType) - { - return defaultSDOHelper.getXSDSDOType(xsdType); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getSubstitutionValues(DataObject, Property)}. - */ - public static Sequence getSubstitutionValues(DataObject dataObject, Property head) - { - return defaultSDOHelper.getSubstitutionValues(dataObject, head); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getJavaSDOType(Class)}. - */ - public static Type getJavaSDOType(Class javaClass) - { - return defaultSDOHelper.getJavaSDOType(javaClass); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isRequired(Property)}. - */ - public static boolean isRequired(Property property) - { - return defaultSDOHelper.isRequired(property); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getUpperBound(Property)}. - */ - public static int getUpperBound(Property property) - { - return defaultSDOHelper.getUpperBound(property); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getLowerBound(Property)}. - */ - public static int getLowerBound(Property property) - { - return defaultSDOHelper.getLowerBound(property); - } - - public static List getEnumerationFacet(Type type) { - return defaultSDOHelper.getEnumerationFacet(type); - } - - public static List getPatternFacet(Type type) { - return defaultSDOHelper.getPatternFacet(type); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isMany(Property, DataObject)}. - */ - public static boolean isMany(Property property, DataObject context) - { - return defaultSDOHelper.isMany(property, context); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataGraph}. - */ - public static DataGraph createDataGraph() - { - return defaultSDOHelper.createDataGraph(); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#setRootObject(DataGraph, DataObject)}. - */ - public static void setRootObject(DataGraph dataGraph, DataObject rootObject) - { - defaultSDOHelper.setRootObject(dataGraph, rootObject); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, TypeHelper)}. - */ - public static DataGraph loadDataGraph(InputStream inputStream, Map options) throws IOException - { - return defaultSDOHelper.loadDataGraph(inputStream, options, (HelperContext)null); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, HelperContext)}. - */ - public static DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext hc) throws IOException - { - return defaultSDOHelper.loadDataGraph(inputStream, options, hc); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#saveDataGraph(DataGraph, OutputStream, Map)}. - */ - public static void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException - { - defaultSDOHelper.saveDataGraph(dataGraph, outputStream, options); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#registerDataGraphTypes(DataGraph, List)}. - */ - public static void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/ types) - { - defaultSDOHelper.registerDataGraphTypes(dataGraph, types); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext(boolean,Map)}. - */ - public static HelperContext createHelperContext(boolean extensibleNamespaces,Map options){ - return defaultSDOHelper.createHelperContext(extensibleNamespaces, options); - } - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext(boolean)}. - */ - public static HelperContext createHelperContext(boolean extensibleNamespaces) - { - return defaultSDOHelper.createHelperContext(extensibleNamespaces); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}. - */ - public static HelperContext createHelperContext(Map options) - { - return defaultSDOHelper.createHelperContext(options); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}. - */ - public static HelperContext createHelperContext() - { - return defaultSDOHelper.createHelperContext(); - } - - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(HelperContext)}. - */ - public static CopyHelper createCrossScopeCopyHelper(HelperContext hc) - { - return defaultSDOHelper.createCrossScopeCopyHelper(hc); - } - - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(HelperContext)}. - */ - public static XMLStreamHelper createXMLStreamHelper(HelperContext hc) - { - return defaultSDOHelper.createXMLStreamHelper(hc); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectInputStream(InputStream, HelperContext)}. - */ - public static ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException - { - return defaultSDOHelper.createObjectInputStream(inputStream, helperContext); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectOutputStream(OutputStream, HelperContext)}. - */ - public static ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException - { - return defaultSDOHelper.createObjectOutputStream(outputStream, helperContext); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getTypes(HelperContext, String)}. - */ - public static List getTypes(HelperContext hc, String uri) { - - return defaultSDOHelper.getTypes(hc, uri); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getOpenContentProperties(DataObject)}. - */ - public static List getOpenContentProperties(DataObject dataObject) - { - return defaultSDOHelper.getOpenContentProperties(dataObject); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isDocumentRoot(Type)}. - */ - public static boolean isDocumentRoot(Type type) - { - return defaultSDOHelper.isDocumentRoot(type); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getXPath(DataObject)}. - */ - public static String getXPath(DataObject dataObject) - { - return defaultSDOHelper.getXPath(dataObject); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createType(HelperContext, String, String, boolean)}. - */ - public static Type createType(HelperContext hc, String uri, String name, boolean isDataType) - { - return defaultSDOHelper.getMetaDataBuilder().createType(hc, uri, name, isDataType); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addBaseType(Type, Type)}. - */ - public static void addBaseType(Type type, Type baseType) - { - defaultSDOHelper.getMetaDataBuilder().addBaseType(type, baseType); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Type, String)}. - */ - public static void addAliasName(Type type, String aliasName) - { - defaultSDOHelper.getMetaDataBuilder().addAliasName(type, aliasName); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpen(Type, boolean)}. - */ - public static void setOpen(Type type, boolean isOpen) - { - defaultSDOHelper.getMetaDataBuilder().setOpen(type, isOpen); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setSequenced(Type, boolean)}. - */ - public static void setSequenced(Type type, boolean isSequenced) - { - defaultSDOHelper.getMetaDataBuilder().setSequenced(type, isSequenced); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setAbstract(Type, boolean)}. - */ - public static void setAbstract(Type type, boolean isAbstract) - { - defaultSDOHelper.getMetaDataBuilder().setAbstract(type, isAbstract); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setJavaClassName(Type, String)}. - */ - public static void setJavaClassName(Type type, String javaClassName) - { - defaultSDOHelper.getMetaDataBuilder().setJavaClassName(type, javaClassName); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createProperty(Type, String, Type)}. - */ - public static Property createProperty(Type containingType, String name, Type propertyType) - { - return defaultSDOHelper.getMetaDataBuilder().createProperty(containingType, name, propertyType); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setPropertyXMLKind(Property, boolean)}. - */ - public static void setPropertyXMLKind(Property property, boolean isXmlElement) { - defaultSDOHelper.getMetaDataBuilder().setPropertyXMLKind(property, isXmlElement); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createOpenContentProperty(TypeHelper, String, String, Type)}. - */ - public static Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type) - { - return defaultSDOHelper.getMetaDataBuilder().createOpenContentProperty(hc, uri, name, type); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Property, String)}. - */ - public static void addAliasName(Property property, String aliasName) - { - defaultSDOHelper.getMetaDataBuilder().addAliasName(property, aliasName); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setMany(Property, boolean)}. - */ - public static void setMany(Property property, boolean isMany) - { - defaultSDOHelper.getMetaDataBuilder().setMany(property, isMany); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setContainment(Property, boolean)}. - */ - public static void setContainment(Property property, boolean isContainment) - { - defaultSDOHelper.getMetaDataBuilder().setContainment(property, isContainment); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setDefault(Property, String)}. - */ - public static void setDefault(Property property, String defaultValue) - { - defaultSDOHelper.getMetaDataBuilder().setDefault(property, defaultValue); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setReadOnly(Property, boolean)}. - */ - public static void setReadOnly(Property property, boolean isReadOnly) - { - defaultSDOHelper.getMetaDataBuilder().setReadOnly(property, isReadOnly); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpposite(Property, Property)}. - */ - public static void setOpposite(Property property, Property opposite) - { - defaultSDOHelper.getMetaDataBuilder().setOpposite(property, opposite); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addTypeInstanceProperty(Type, Property, Object)}. - */ - public static void addTypeInstanceProperty(Type definedType, Property property, Object value) - { - defaultSDOHelper.getMetaDataBuilder().addTypeInstanceProperty(definedType, property, value); - } - - /** - * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addPropertyInstanceProperty(Property, Property, Object)}. - */ - public static void addPropertyInstanceProperty(Property definedProperty, Property property, Object value) - { - defaultSDOHelper.getMetaDataBuilder().addPropertyInstanceProperty(definedProperty, property, value); - } - - - /** - * @see SDOHelper#addChangeListener(DataObject, EventListener) - * @param dob - * @param l - */ - public static void addChangeListener(DataObject dob, EventListener l) { - defaultSDOHelper.addChangeListener(dob, l); - } - - /** - * @see SDOHelper#addChangeListener(DataObject, EventListener) - * @param dob - * @param l - */ - public static void removeChangeListener(DataObject dob, EventListener l) { - defaultSDOHelper.removeChangeListener(dob, l); - } - - -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java deleted file mode 100644 index bf283256fe..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java +++ /dev/null @@ -1,125 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.api; - -import java.util.Map; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -/** - * Helper interface for reading and writing SDO DataObjects from XML streams - * (StAX). - * - * @version $Rev: 503913 $ $Date: 2007-02-05 17:53:34 -0500 (Mon, 05 Feb 2007) $ - */ -public interface XMLStreamHelper { - /** - * Creates and returns an XMLDocument from an XML input stream. The reader - * must be positioned on a START_DOCUMENT event. - * - * @param reader the stream to read - * @return an XMLDocument created from the stream - * @throws XMLStreamException if there was a problem reading the stream - * @throws IllegalStateException if the reader is not positioned on a - * START_DOCUMENT event - */ - XMLDocument load(XMLStreamReader reader) throws XMLStreamException, IllegalStateException; - - /** - * Save a XMLDocument to an XML stream. - * - * @param document the document to be written - * @param writer the stream to write to - * @throws XMLStreamException if there was a problem writing to the stream - */ - void save(XMLDocument document, XMLStreamWriter writer) throws XMLStreamException; - - void save(XMLDocument document, XMLStreamWriter writer, Map options) throws XMLStreamException; - - /** - * Creates and returns a XMLStreamReader that can be used to read an - * XMLDocument as a XML event stream. The reader will be positioned on a - * START_DOCUMENT event. - * - * @param document the XMLDocument to be read - * @return an XMLStreamReader that can be used to read the document - */ - XMLStreamReader createXMLStreamReader(XMLDocument document) throws XMLStreamException; - - /** - * Create a DataObject from an element in a XML stream. The reader must be - * positioned on a START_ELEMENT event. - * - * @param reader the stream to read - * @return a DataObject created from the element in the stream - * @throws XMLStreamException if there was a problem reading the stream - * @throws IllegalStateException if the reader is not positioned on a - * START_ELEMENT event - */ - DataObject loadObject(XMLStreamReader reader) throws XMLStreamException, IllegalStateException; - - /** - * Default Type to load DataObject if the element is unqualified/local - * without xsi:type or the qualified/global element or xsi:type fail to - * resolve. Can be null. - */ - String OPTION_DEFAULT_ROOT_TYPE = "default root type"; - - /** - * Create a DataObject from an element in a XML stream. The reader must be - * positioned on a START_ELEMENT event. - * - * @param reader the stream to read - * @param options {@link OPTION_DEFAULT_ROOT_TYPE}; can be null or empty - * @return a DataObject created from the element in the stream - * @throws XMLStreamException if there was a problem reading the stream - * @throws IllegalStateException if the reader is not positioned on a - * START_ELEMENT event - */ - DataObject loadObject(XMLStreamReader reader, Map options) throws XMLStreamException, IllegalStateException; - - /** - * Save a DataObject to an XML stream. - * - * @param sdo the DataObject to be written - * @param writer the stream to write to - * @throws XMLStreamException if there was a problem writing to the stream - */ - void saveObject(DataObject sdo, XMLStreamWriter writer) throws XMLStreamException; - - void saveObject(DataObject sdo, XMLStreamWriter writer, Map options) throws XMLStreamException; - - /** - * Creates and returns a XMLStreamReader that can be used to read a - * DataObject as a XML event stream. The reader will be positioned on a - * START_ELEMENT event. - * - * @param sdo the DataObject to be read - * @return an XMLStreamReader that can be used to read the DataObject - */ - XMLStreamReader createXMLStreamReader(DataObject sdo); - - HelperContext getHelperContext(); -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/overview.html b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/overview.html deleted file mode 100644 index c6bd255b8f..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/overview.html +++ /dev/null @@ -1,38 +0,0 @@ -<html>
-<!--
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- * -->
-<head>
- <title>Tuscany API extensions to Service Data Objects (SDO)</title>
-</head>
-<BODY>
-<h1>Tuscany API extensions to Service Data Objects (SDO)</h1>
- <h2>Overview</h2>
-<p>
-The "org.apache.tuscany.sdo.api" package represents Tuscany API for SDO Java
-above and beyond what is offered by the SDO API itself. The contents of this
-project provide a means to achieve operations that are not currently addressed
-by the SDO API.
-</p>
-<p>
-The SDOUtil class simply provides a set of static convenince methods for
-exercising the methods of a default instance of the SDOHelper interface.
-</p>
-</BODY>
-</html>
diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java deleted file mode 100644 index 606b4c8fc3..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.lib; - -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; - -import commonj.sdo.helper.HelperContext; - -/** - * This subclass of ObjectInputStream provides a place to store the scope in which - * it was created. - */ -public class SDOObjectInputStream extends ObjectInputStream { - - private HelperContext helperContext; - - public SDOObjectInputStream(InputStream in, HelperContext helperContext) throws IOException{ - super(in); - this.helperContext = helperContext; - } - - public HelperContext getHelperContext() { - return helperContext; - } - - public void setHelperContext(HelperContext helperContext) { - this.helperContext = helperContext; - } - -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java deleted file mode 100644 index 05f2105b97..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.lib; - -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.io.OutputStream; - -import commonj.sdo.helper.HelperContext; - -/** - * This subclass of ObjectOutputStream provides a place to store the scope in which - * it was created. - */ -public class SDOObjectOutputStream extends ObjectOutputStream { - - private HelperContext helperContext; - - public SDOObjectOutputStream(OutputStream os, HelperContext helperContext) throws IOException{ - super(os); - this.helperContext = helperContext; - } - - public HelperContext getHelperContext() { - return helperContext; - } - - public void setHelperContext(HelperContext helperContext) { - this.helperContext = helperContext; - } - -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/UnknownPropertyList.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/UnknownPropertyList.java deleted file mode 100644 index 95eabd4b82..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/lib/UnknownPropertyList.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.lib; - -import java.util.AbstractList; -import java.util.Collections; -import java.util.List; - -import commonj.sdo.DataObject; - -public class UnknownPropertyList extends AbstractList { - protected List delegateList = Collections.EMPTY_LIST; - protected DataObject dataObject; - protected String path; - - public UnknownPropertyList(DataObject dataObject, String path) { - this.dataObject = dataObject; - this.path = path; - } - - public Object get(int index) { - return getDelegateList().get(index); - } - - public int size() { - return getDelegateList().size(); - } - - public Object remove(int index) { - return getDelegateList().remove(index); - } - public Object set(int index, Object element) { - return getDelegateList().set(index, element); - } - - public void add(int index, Object element) { - if (getDelegateList() == Collections.EMPTY_LIST && index == 0) { - dataObject.set(path, Collections.singletonList(element)); - delegateList = (List)dataObject.get(path); - } - else { - delegateList.add(index, element); - } - } - - protected List getDelegateList() { - if (delegateList == Collections.EMPTY_LIST) { - List propertyList = (List)dataObject.get(path); - if (propertyList != null) delegateList = propertyList; - } - return delegateList; - } -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java deleted file mode 100644 index 375552497b..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java +++ /dev/null @@ -1,246 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.spi; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.NotSerializableException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import java.io.ObjectStreamException; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - -import org.apache.tuscany.sdo.api.SDOHelper; -import org.apache.tuscany.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.api.XMLStreamHelper; -import org.apache.tuscany.sdo.lib.SDOObjectInputStream; -import org.apache.tuscany.sdo.lib.SDOObjectOutputStream; - -import commonj.sdo.DataGraph; -import commonj.sdo.DataObject; -import commonj.sdo.helper.CopyHelper; -import commonj.sdo.helper.DataFactory; -import commonj.sdo.helper.DataHelper; -import commonj.sdo.helper.EqualityHelper; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.TypeHelper; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; -import commonj.sdo.helper.XSDHelper; -import commonj.sdo.impl.HelperProvider; -import commonj.sdo.impl.ExternalizableDelegator.Resolvable; - - -/** - * Create and manage all the default helpers - */ -public abstract class HelperProviderBase extends HelperProvider -{ - protected CopyHelper copyHelper; - - protected DataFactory dataFactory; - - protected DataHelper dataHelper; - - protected EqualityHelper equalityHelper; - - protected TypeHelper typeHelper; - - protected XMLHelper xmlHelper; - - protected XSDHelper xsdHelper; - - protected SDOHelper sdoHelper; // Tuscany extension APIs - - protected XMLStreamHelper xmlStreamHelper; - /** - * Subclasses must implement this method to initialize the above Helper instance variables - */ - protected abstract HelperContext createDefaultHelpers(); - - public HelperProviderBase() - { - defaultContext = createDefaultHelpers(); - } - - public SDOHelper sdoHelper() - { - return sdoHelper; - } - - public CopyHelper copyHelper() - { - return copyHelper; - } - - public DataFactory dataFactory() - { - return dataFactory; - } - - public DataHelper dataHelper() - { - return dataHelper; - } - - public EqualityHelper equalityHelper() - { - return equalityHelper; - } - - public TypeHelper typeHelper() - { - return typeHelper; - } - - public XMLHelper xmlHelper() - { - return xmlHelper; - } - - public XMLStreamHelper xmlStreamHelper() - { - return xmlStreamHelper; - } - public XSDHelper xsdHelper() - { - return xsdHelper; - } - - public Resolvable resolvable() - { - return new ResolvableImpl(); - } - - public Resolvable resolvable(Object target) - { - return new ResolvableImpl(target); - } - - protected class ResolvableImpl implements Resolvable - { - protected Object target; - - public ResolvableImpl(Object target) { this.target = target; } - - public ResolvableImpl() { this.target = null; } - - public void writeExternal(ObjectOutput out) throws IOException - { - if (target instanceof DataObject) - { - writeDataObject((DataObject)target, out); - } - else - { - throw new NotSerializableException(); // should never happen - } - } - - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException - { - target = readDataObject(in); - } - - public Object readResolve() throws ObjectStreamException - { - return target; - } - - protected void writeDataObject(DataObject dataObject, ObjectOutput objectOutput) throws IOException - { - DataGraph dataGraph = dataObject.getDataGraph(); - if (dataGraph != null) - { - objectOutput.writeByte(0); - objectOutput.writeUTF(SDOUtil.getXPath(dataObject)); - objectOutput.writeObject(dataGraph); - } - else if (dataObject.getContainer() != null) - { - objectOutput.writeByte(0); - objectOutput.writeUTF(SDOUtil.getXPath(dataObject)); - objectOutput.writeObject(dataObject.getRootObject()); - } - else - { - // Root object - objectOutput.writeByte(1); - - ByteArrayOutputStream compressedByteArrayOutputStream = new ByteArrayOutputStream(); - GZIPOutputStream gzipOutputStream = new GZIPOutputStream(compressedByteArrayOutputStream); - XMLHelper xmlHelperLocal = xmlHelper; - if(objectOutput instanceof SDOObjectOutputStream) - { - xmlHelperLocal = ((SDOObjectOutputStream)objectOutput).getHelperContext().getXMLHelper(); - } - xmlHelperLocal.save(dataObject, "commonj.sdo", "dataObject", gzipOutputStream); - gzipOutputStream.close(); // Flush the contents - - byte[] byteArray = compressedByteArrayOutputStream.toByteArray(); - objectOutput.writeInt(byteArray.length); - objectOutput.write(byteArray); - } - } - - protected DataObject readDataObject(ObjectInput objectInput) throws IOException, ClassNotFoundException - { - boolean isRoot = objectInput.readByte() == 1; - if (isRoot) - { - // Root object: [rootXML] = length + XML contents - int length = objectInput.readInt(); - byte[] compressedBytes = new byte [length]; - - int index = 0; - int bytesRead; - while (index < length) { - if ((bytesRead = objectInput.read(compressedBytes, index, length-index)) == -1) { - break; - } - index += bytesRead; - } - - GZIPInputStream gzipInputStream = new GZIPInputStream(new ByteArrayInputStream(compressedBytes)); - XMLHelper xmlHelperLocal = xmlHelper; - if (objectInput instanceof SDOObjectInputStream) - { - xmlHelperLocal = ((SDOObjectInputStream)objectInput).getHelperContext().getXMLHelper(); - } - XMLDocument doc = xmlHelperLocal.load(gzipInputStream); - gzipInputStream.close(); - - return doc.getRootObject(); - } - else - { - // Non root object: [path] [root] - String xpath = objectInput.readUTF(); - Object object = objectInput.readObject(); - - DataObject root = object instanceof DataGraph ? ((DataGraph)object).getRootObject() : (DataObject)object; - return xpath.equals("") ? root : root.getDataObject(xpath); - } - } - } - -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/SDOHelperBase.java b/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/SDOHelperBase.java deleted file mode 100644 index ce3678d81f..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/SDOHelperBase.java +++ /dev/null @@ -1,176 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.spi; - -/** - * Base class for an implementation of the SDOHelper and SDOHelper.MetaDataBuilder interfaces. - */ -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.OutputStream; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sdo.api.SDOHelper; -import org.apache.tuscany.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.lib.SDOObjectInputStream; -import org.apache.tuscany.sdo.lib.SDOObjectOutputStream; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.helper.HelperContext; - -public abstract class SDOHelperBase implements SDOHelper, SDOHelper.MetaDataBuilder -{ - public HelperContext createHelperContext() - { - return createHelperContext(false); - } - - public ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException - { - return new SDOObjectInputStream(inputStream, helperContext); - } - - public ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException - { - return new SDOObjectOutputStream(outputStream, helperContext); - } - - public String getXPath(DataObject dataObject) - { - StringBuffer path = getXPath(dataObject, new StringBuffer(), dataObject); - return path.toString(); - } - - protected StringBuffer getXPath(DataObject dataObject, StringBuffer path, DataObject root) - { - DataObject container = dataObject.getContainer(); - if (container == null) - return path; - - if (container == root) - throw new IllegalStateException("There is a cycle in the containment hierarchy of " + root); - - boolean first = path.length() == 0; - Property property = dataObject.getContainmentProperty(); - if (SDOUtil.isMany(property, dataObject)) - { - List list = container.getList(property); - int pos = list.indexOf(dataObject); - path.insert(0, property.getName() + "." + pos + (first ? "" : "/")); - } - else - { - path.insert(0, property.getName() + (first ? "" : "/")); - } - - return getXPath(container, path, root); - } - - public MetaDataBuilder getMetaDataBuilder() - { - return this; - } - - //Java instance class to SDO mappings (section 8.1 of the SDO spec) - protected static Map javaToSdoMappings = new HashMap(); - static { - javaToSdoMappings.put(boolean.class, "Boolean"); - javaToSdoMappings.put(byte.class, "Byte"); - javaToSdoMappings.put(char.class, "Character"); - javaToSdoMappings.put(Date.class, "Date"); - javaToSdoMappings.put(BigDecimal.class, "Decimal"); - javaToSdoMappings.put(double.class, "Double"); - javaToSdoMappings.put(float.class, "Float"); - javaToSdoMappings.put(int.class, "Int"); - javaToSdoMappings.put(BigInteger.class, "Integer"); - javaToSdoMappings.put(long.class, "Long"); - javaToSdoMappings.put(Object.class, "Object"); - javaToSdoMappings.put(short.class, "Short"); - javaToSdoMappings.put(String.class, "String"); - javaToSdoMappings.put(Boolean.class, "BooleanObject"); - javaToSdoMappings.put(Byte.class, "ByteObject"); - javaToSdoMappings.put(Character.class, "CharacterObject"); - javaToSdoMappings.put(Double.class, "DoubleObject"); - javaToSdoMappings.put(Float.class, "FloatObject"); - javaToSdoMappings.put(Integer.class, "IntObject"); - javaToSdoMappings.put(Long.class, "LongObject"); - javaToSdoMappings.put(Short.class, "ShortObject"); - } - - //XSD to SDO mappings (section 9.4 of the SDO spec) - protected static Map xsdToSdoMappings = new HashMap(); - static { - xsdToSdoMappings.put("anySimpleType", "Object"); - xsdToSdoMappings.put("anyType", "DataObject"); - xsdToSdoMappings.put("anyURI", "URI"); - xsdToSdoMappings.put("base64Binary", "Bytes"); - xsdToSdoMappings.put("boolean", "Boolean"); - xsdToSdoMappings.put("byte", "Byte"); - xsdToSdoMappings.put("date", "YearMonthDay"); - xsdToSdoMappings.put("dateTime", "DateTime"); - xsdToSdoMappings.put("decimal", "Decimal"); - xsdToSdoMappings.put("double", "Double"); - xsdToSdoMappings.put("duration", "Duration"); - xsdToSdoMappings.put("ENTITIES", "Strings"); - xsdToSdoMappings.put("ENTITY", "String"); - xsdToSdoMappings.put("float", "Float"); - xsdToSdoMappings.put("gDay", "Day"); - xsdToSdoMappings.put("gMonth", "Month"); - xsdToSdoMappings.put("gMonthDay", "MonthDay"); - xsdToSdoMappings.put("gYear", "Year"); - xsdToSdoMappings.put("gYearMonth", "YearMonth"); - xsdToSdoMappings.put("hexBinary", "Bytes"); - xsdToSdoMappings.put("ID","String"); - xsdToSdoMappings.put("IDREF","String"); - xsdToSdoMappings.put("IDREFS","Strings"); - xsdToSdoMappings.put("int","Int"); - xsdToSdoMappings.put("integer","Integer"); - xsdToSdoMappings.put("language","String"); - xsdToSdoMappings.put("long","Long"); - xsdToSdoMappings.put("Name","String"); - xsdToSdoMappings.put("NCName","String"); - xsdToSdoMappings.put("negativeInteger","Integer"); - xsdToSdoMappings.put("NMTOKEN","String"); - xsdToSdoMappings.put("NMTOKENS","Strings"); - xsdToSdoMappings.put("nonNegativeInteger","Integer"); - xsdToSdoMappings.put("nonPositiveInteger","Integer"); - xsdToSdoMappings.put("normalizedString","String"); - xsdToSdoMappings.put("NOTATION","String"); - xsdToSdoMappings.put("positiveInteger","Integer"); - xsdToSdoMappings.put("QName","URI"); - xsdToSdoMappings.put("short","Short"); - xsdToSdoMappings.put("string","String"); - xsdToSdoMappings.put("time","Time"); - xsdToSdoMappings.put("token","String"); - xsdToSdoMappings.put("unsignedByte","Short"); - xsdToSdoMappings.put("unsignedInt","Long"); - xsdToSdoMappings.put("unsignedLong","Integer"); - xsdToSdoMappings.put("unsignedShort","Int"); - } - -} diff --git a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/DISCLAIMER b/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
\ No newline at end of file diff --git a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/LICENSE.txt b/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/LICENSE.txt deleted file mode 100644 index 9a90d375bc..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/LICENSE.txt +++ /dev/null @@ -1,207 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - - - diff --git a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/MANIFEST.MF b/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index aa077ed9d1..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,19 +0,0 @@ -Manifest-Version: 1.0
-Extension-Name: tuscany-sdo-lib
-Specification-Title: Tuscany SDO Implementation Library
-Specification-Vendor: Apache Software Foundation
-Implementation-Vendor: Apache Software Foundation
-Implementation-Vendor-Id: org.apache
-Implementation-Title: tuscany-sdo-lib
-Implementation-Version: ${pom.version}
-Bundle-ManifestVersion: 2
-Bundle-Name: Tuscany SDO Implementation Library
-Bundle-SymbolicName: org.apache.tuscany.sdo.lib
-Bundle-Version: 1.0.0
-Bundle-Vendor: Apache Software Foundation
-Require-Bundle: org.apache.tuscany.sdo.spec;visibility:=reexport
-Export-Package: org.apache.tuscany.sdo.api,
- org.apache.tuscany.sdo.spi,
- org.apache.tuscany.sdo.lib
-X-Compile-Source-JDK: 1.4
-X-Compile-Target-JDK: 1.4
diff --git a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/NOTICE b/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/NOTICE deleted file mode 100644 index 9f9572a167..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/NOTICE +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - diff --git a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/README.txt b/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/README.txt deleted file mode 100644 index 711bd9a2cd..0000000000 --- a/branches/sdo-1.1-incubating/lib/src/main/resources/META-INF/README.txt +++ /dev/null @@ -1,23 +0,0 @@ -Apache Tuscany 1.1-incubating build April 2008) -=============================================== - -http://incubator.apache.org/tuscany/ - -Support -------- - -Any problem with this release can be reported to the Tuscany mailing list -or in the JIRA issue tracker. - -Mailing list subscription: - tuscany-dev-subscribe@ws.apache.org - -Jira: - http://issues.apache.org/jira/browse/Tuscany - - -Thank you for using Tuscany! - - -The Tuscany Team. - |