Modified: incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java?view=diff&rev=557625&r1=557624&r2=557625 ============================================================================== --- incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java (original) +++ incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java Thu Jul 19 06:56:22 2007 @@ -34,9 +34,8 @@ import junit.framework.Assert; import junit.framework.TestCase; -import org.apache.tuscany.sdo.helper.XMLStreamHelper; -import org.apache.tuscany.sdo.util.SDOUtil; - +import org.apache.tuscany.sdo.api.XMLStreamHelper; +import org.apache.tuscany.sdo.api.SDOUtil; import commonj.sdo.DataObject; import commonj.sdo.helper.*; @@ -50,11 +49,11 @@ private XMLOutputFactory outputFactory; - private QName module = new QName("http://foo", "module"); + private final QName module = new QName("http://foo", "module"); - private QName name = new QName("http://bar", "implementation.mock"); + private final QName name = new QName("http://bar", "implementation.mock"); - private String testName = "foo-ext"; + private final String testName = "foo-ext"; // private String testName = "complex"; private String xml; @@ -67,7 +66,7 @@ super.setUp(); hc = SDOUtil.createHelperContext(); - streamHelper = SDOUtil.createXMLStreamHelper(hc.getTypeHelper()); + streamHelper = SDOUtil.createXMLStreamHelper(hc); URL url = getClass().getClassLoader().getResource(testName + ".xsd"); hc.getXSDHelper().define(url.openStream(), url.toExternalForm()); @@ -78,84 +77,85 @@ outputFactory = XMLOutputFactory.newInstance(); url = getClass().getClassLoader().getResource(testName + ".xml"); - InputStreamReader reader = new InputStreamReader(url.openStream()); - StringBuffer stringBuffer = new StringBuffer(); - char buf[] = new char[1024]; + final InputStreamReader reader = new InputStreamReader(url.openStream()); + final StringBuffer stringBuffer = new StringBuffer(); + final char buf[] = new char[1024]; int size; - while ((size = reader.read(buf)) != -1) + while ((size = reader.read(buf)) != -1) { stringBuffer.append(buf, 0, size); + } xml = stringBuffer.toString(); reader.close(); } public void testLoadObject() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml)); + final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml)); int event = reader.getEventType(); - while (!(event == XMLStreamConstants.START_ELEMENT && reader.getName().equals(name)) && reader.hasNext()) { + while (!((event == XMLStreamConstants.START_ELEMENT) && reader.getName().equals(name)) && reader.hasNext()) { event = reader.next(); } - DataObject dataObject = streamHelper.loadObject(reader); + final DataObject dataObject = streamHelper.loadObject(reader); Assert.assertNotNull(dataObject); Assert.assertTrue(dataObject.getString("myAttr").equals("helloworld.HelloWorldImpl")); } public void testLoadUnqualifiedObject() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml.replaceAll("bar:", ""))); + final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml.replaceAll("bar:", ""))); int event = reader.getEventType(); - while (!(event == XMLStreamConstants.START_ELEMENT && reader.getName().getLocalPart().equals(name.getLocalPart())) && reader.hasNext()) { + while (!((event == XMLStreamConstants.START_ELEMENT) && reader.getName().getLocalPart().equals(name.getLocalPart())) && reader.hasNext()) { event = reader.next(); } - Map options = new HashMap(); + final Map options = new HashMap(); options.put(XMLStreamHelper.OPTION_DEFAULT_ROOT_TYPE, hc.getTypeHelper().getType(name.getNamespaceURI(), "MockImplementation")); - DataObject dataObject = streamHelper.loadObject(reader, options); + final DataObject dataObject = streamHelper.loadObject(reader, options); Assert.assertNotNull(dataObject); Assert.assertTrue(dataObject.getString("myAttr").equals("helloworld.HelloWorldImpl")); } public void testLoad() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml)); - XMLDocument document = streamHelper.load(reader); + final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml)); + final XMLDocument document = streamHelper.load(reader); Assert.assertNotNull(document); Assert.assertEquals(document.getRootElementURI(), module.getNamespaceURI()); Assert.assertEquals(document.getRootElementName(), module.getLocalPart()); - DataObject moduleObject = document.getRootObject(); - List components = moduleObject.getList("component"); - DataObject componentObject = (DataObject) components.get(0); - DataObject implObject = componentObject.getDataObject("implementation.mock"); + final DataObject moduleObject = document.getRootObject(); + final List components = moduleObject.getList("component"); + final DataObject componentObject = (DataObject) components.get(0); + final DataObject implObject = componentObject.getDataObject("implementation.mock"); Assert.assertTrue(implObject.getString("myAttr").equals("helloworld.HelloWorldImpl")); } public void testSave() throws XMLStreamException { - XMLDocument document = hc.getXMLHelper().load(xml); - StringWriter writer = new StringWriter(); - XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); + final XMLDocument document = hc.getXMLHelper().load(xml); + final StringWriter writer = new StringWriter(); + final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); streamHelper.save(document, streamWriter); streamWriter.flush(); - String xmlStr = writer.toString(); + final String xmlStr = writer.toString(); //System.out.println(xmlStr); Assert.assertTrue(xmlStr.indexOf("myAttr=\"helloworld.HelloWorldImpl\"")!=-1); } public void testSaveObject() throws XMLStreamException { - XMLDocument document = hc.getXMLHelper().load(xml); - DataObject moduleObject = document.getRootObject(); - List components = moduleObject.getList("component"); - DataObject componentObject = (DataObject) components.get(0); - StringWriter writer = new StringWriter(); - XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); + final XMLDocument document = hc.getXMLHelper().load(xml); + final DataObject moduleObject = document.getRootObject(); + final List components = moduleObject.getList("component"); + final DataObject componentObject = (DataObject) components.get(0); + final StringWriter writer = new StringWriter(); + final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); streamHelper.saveObject(componentObject, streamWriter); streamWriter.flush(); Assert.assertTrue(writer.toString().indexOf("myAttr=\"helloworld.HelloWorldImpl\"")!=-1); } public void testSaveSequence() throws IOException, XMLStreamException { - DataObject quote = hc.getDataFactory().create("http://www.example.com/mixed", "MixedQuote"); + final DataObject quote = hc.getDataFactory().create("http://www.example.com/mixed", "MixedQuote"); quote.setString("symbol", "fbnt"); quote.getSequence().addText(0, "testing"); quote.getSequence().addText("more testing"); - StringWriter writer = new StringWriter(); - XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); + final StringWriter writer = new StringWriter(); + final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); streamHelper.saveObject(quote, streamWriter); streamWriter.flush(); //System.out.println(writer);
Modified: incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java?view=diff&rev=557625&r1=557624&r2=557625 ============================================================================== --- incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java (original) +++ incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java Thu Jul 19 06:56:22 2007 @@ -37,7 +37,6 @@ import commonj.sdo.helper.CopyHelper; import commonj.sdo.helper.HelperContext; import commonj.sdo.helper.TypeHelper; -import commonj.sdo.helper.XSDHelper; /** * This interface provides helper functions which are not included in the SDO specification itself. @@ -61,7 +60,8 @@ * @return the new HelperContext * @see #createHelperContext(boolean) */ - public HelperContext createHelperContext(boolean extensibleNamespaces,Map options); + 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. @@ -69,6 +69,13 @@ * @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. @@ -166,10 +173,23 @@ * creating DataObject instances, or null for default TypeHelper. * @return the de-serialized data graph. * @throws IOException + * @deprecated Replaced by loadDataGraph(InptuStream, Map, HelperContext) */ - public DataGraph loadDataGraph(InputStream inputStream, Map options, TypeHelper scope) throws IOException; + public DataGraph loadDataGraph(InputStream inputStream, Map options, TypeHelper scope) throws IOException; /** + * 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. @@ -193,23 +213,32 @@ * Create a new cross scope CopyHelper. * @param targetScope the TypeHelper containing the Types to use to create the copy objects. * @return the new CopyHelper. + * @deprecated */ public CopyHelper createCrossScopeCopyHelper(TypeHelper targetScope); + + /** + * 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 TypeHelper scope. * @param scope the TypeHelper to use for locating types. * @return the new XMLStreamHelper. + * @deprecated */ public XMLStreamHelper createXMLStreamHelper(TypeHelper scope); /** - * Create a new XMLStreamHelper, with visibility to types in the specified TypeHelper scope. - * @param scope the TypeHelper to use for locating types. - * @param options Map of XMLOptions. + * 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(TypeHelper scope, Map options); + public XMLStreamHelper createXMLStreamHelper(HelperContext hc); + /** * Create a new ObjectInputStream in the specifice HelperContext scope. * @param inputStream the inputStream with which to create the ObjectInputStream. @@ -231,8 +260,17 @@ * @param scope the TypeHelper 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. + * @deprecated */ public List getTypes(TypeHelper scope, String uri); + + /** + * 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. @@ -270,10 +308,17 @@ /** * Create a Type in the specified TypeHelper scope. * @return the new Type. + * @deprecated */ public Type createType(TypeHelper scope, String uri, String name, boolean isDataType); /** + * 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); @@ -315,8 +360,14 @@ /** * Create a new open content property in the specified TypeHelper scope. + * @deprecated */ public Property createOpenContentProperty(TypeHelper scope, String uri, String name, Type type); + + /** + * 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. Modified: incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java?view=diff&rev=557625&r1=557624&r2=557625 ============================================================================== --- incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java (original) +++ incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java Thu Jul 19 06:56:22 2007 @@ -139,11 +139,12 @@ */ public static DataGraph loadDataGraph(InputStream inputStream, Map options) throws IOException { - return defaultSDOHelper.loadDataGraph(inputStream, options, null); + return defaultSDOHelper.loadDataGraph(inputStream, options, (HelperContext)null); } /** - * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, TypeHelper)}. + * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, HelperContext)}. + * @deprecated */ public static DataGraph loadDataGraph(InputStream inputStream, Map options, TypeHelper scope) throws IOException { @@ -151,6 +152,14 @@ } /** + * @see [EMAIL PROTECTED] 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 [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#saveDataGraph(DataGraph, OutputStream, Map)}. */ public static void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException @@ -183,6 +192,14 @@ /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}. */ + public static HelperContext createHelperContext(Map options) + { + return defaultSDOHelper.createHelperContext(options); + } + + /** + * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}. + */ public static HelperContext createHelperContext() { return defaultSDOHelper.createHelperContext(); @@ -190,6 +207,7 @@ /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(TypeHelper)}. + * @deprecated replaced by createCrossScopeCopyHelper(HelperContext) */ public static CopyHelper createCrossScopeCopyHelper(TypeHelper targetScope) { @@ -197,7 +215,16 @@ } /** + * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(HelperContext)}. + */ + public static CopyHelper createCrossScopeCopyHelper(HelperContext hc) + { + return defaultSDOHelper.createCrossScopeCopyHelper(hc); + } + + /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(TypeHelper)}. + * @deprecated Replaced by createXMLStreamHelper(HelperContext) */ public static XMLStreamHelper createXMLStreamHelper(TypeHelper scope) { @@ -205,12 +232,13 @@ } /** - * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(TypeHelper, Map)}. + * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(HelperContext)}. */ - public static XMLStreamHelper createXMLStreamHelper(TypeHelper scope, Map options) + public static XMLStreamHelper createXMLStreamHelper(HelperContext hc) { - return defaultSDOHelper.createXMLStreamHelper(scope, options); + return defaultSDOHelper.createXMLStreamHelper(hc); } + /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#createObjectInputStream(InputStream, HelperContext)}. */ @@ -229,6 +257,7 @@ /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#getTypes(TypeHelper, String)}. + * @deprecated replaced by getTypes(HelperContext, String) */ public static List getTypes(TypeHelper scope, String uri) { @@ -236,6 +265,14 @@ } /** + * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#getTypes(HelperContext, String)}. + */ + public static List getTypes(HelperContext hc, String uri) { + + return defaultSDOHelper.getTypes(hc, uri); + } + + /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper#getOpenContentProperties(DataObject)}. */ public static List getOpenContentProperties(DataObject dataObject) @@ -261,6 +298,7 @@ /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createType(TypeHelper, String, String, boolean)}. + * @deprecated replaced by createType(HelperContext, String, String, boolean) */ public static Type createType(TypeHelper scope, String uri, String name, boolean isDataType) { @@ -268,6 +306,14 @@ } /** + * @see [EMAIL PROTECTED] 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 [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addBaseType(Type, Type)}. */ public static void addBaseType(Type type, Type baseType) @@ -332,10 +378,19 @@ /** * @see [EMAIL PROTECTED] org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createOpenContentProperty(TypeHelper, String, String, Type)}. + * @deprecated replaced by createOpenContentProperty(HelperContext, String, String, Type) */ public static Property createOpenContentProperty(TypeHelper scope, String uri, String name, Type type) { return defaultSDOHelper.getMetaDataBuilder().createOpenContentProperty(scope, uri, name, type); + } + + /** + * @see [EMAIL PROTECTED] 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); } /** Modified: incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java?view=diff&rev=557625&r1=557624&r2=557625 ============================================================================== --- incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java (original) +++ incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java Thu Jul 19 06:56:22 2007 @@ -40,6 +40,7 @@ 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; @@ -73,11 +74,11 @@ /** * Subclasses must implement this method to initialize the above Helper instance variables */ - protected abstract void createDefaultHelpers(); + protected abstract HelperContext createDefaultHelpers(); public HelperProviderBase() { - createDefaultHelpers(); + defaultContext = createDefaultHelpers(); } public SDOHelper sdoHelper() Modified: incubator/tuscany/java/sdo/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java?view=diff&rev=557625&r1=557624&r2=557625 ============================================================================== --- incubator/tuscany/java/sdo/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java (original) +++ incubator/tuscany/java/sdo/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java Thu Jul 19 06:56:22 2007 @@ -384,7 +384,9 @@ return defaultContext; } - static HelperContext defaultContext = new DefaultHelperContext(); +// static HelperContext defaultContext = new DefaultHelperContext(); +// TODO: Tuscany SDO implementation specific to create a special implementation of HelperContext + protected static HelperContext defaultContext; static class DefaultHelperContext implements HelperContext { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
