You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2007/07/19 15:33:34 UTC

svn commit: r557615 [2/2] - in /incubator/tuscany/branches/sdo-1.0-incubating: impl/src/main/java/org/apache/tuscany/sdo/helper/ impl/src/main/java/org/apache/tuscany/sdo/util/ impl/src/test/java/org/apache/tuscany/sdo/test/ lib/src/main/java/org/apach...

Modified: incubator/tuscany/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java?view=diff&rev=557615&r1=557614&r2=557615
==============================================================================
--- incubator/tuscany/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java (original)
+++ incubator/tuscany/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java Thu Jul 19 06:33:32 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/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java?view=diff&rev=557615&r1=557614&r2=557615
==============================================================================
--- incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java (original)
+++ incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java Thu Jul 19 06:33:32 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.
@@ -162,13 +169,13 @@
    * 
    * @param inputStream the inputStream of the data graph.
    * @param options loader control options, or null.
-   * @param scope the TypeHelper in which to register deserialized Types and to find Types when
-   *              creating DataObject instances, or null for default TypeHelper.
+   * @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, TypeHelper scope) 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.
@@ -188,29 +195,23 @@
    * types used by the objects in the DataGraph).
    */
   public void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/types);
-
+  
   /**
    * Create a new cross scope CopyHelper.
-   * @param targetScope the TypeHelper containing the Types to use to create the copy objects.
+   * @param hc the HelperContext containing the Types to use to create the copy objects.
    * @return the new CopyHelper.
    */
-  public CopyHelper createCrossScopeCopyHelper(TypeHelper targetScope);
+  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.
+   * 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);
+  public XMLStreamHelper createXMLStreamHelper(HelperContext hc);
   
   /**
-   * 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.
-   * @return the new XMLStreamHelper.
-   */
-  public XMLStreamHelper createXMLStreamHelper(TypeHelper scope, Map options);
-  /**
    * Create a new ObjectInputStream in the specifice HelperContext scope.
    * @param inputStream the inputStream with which to create the ObjectInputStream.
    * @param helperContext the HelperContext scope.
@@ -225,14 +226,14 @@
    * @return the new ObjectOutputStream.
    */
   public ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException;
-
+  
   /**
    * Gets all of the types associated with a uri.
-   * @param scope the TypeHelper to use for locating types.
+   * @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(TypeHelper scope, String uri);
+  public List getTypes(HelperContext hc, String uri);
 
   /**
    * Gets the open content subset of the specified DataObject's instance properties.
@@ -267,11 +268,12 @@
    */
   public interface MetaDataBuilder
   {
+
     /**
      * Create a Type in the specified TypeHelper scope.
      * @return the new Type.
      */
-    public Type createType(TypeHelper scope, String uri, String name, boolean isDataType);
+    public Type createType(HelperContext hc, String uri, String name, boolean isDataType);
 
     /**
      * Add a baseType to the specified type.
@@ -316,7 +318,7 @@
     /**
      * Create a new open content property in the specified TypeHelper scope.
      */
-    public Property createOpenContentProperty(TypeHelper scope, String uri, String name, Type type);
+    public Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type);
 
     /**
      * Add an aliasName to the specified property.

Modified: incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java?view=diff&rev=557615&r1=557614&r2=557615
==============================================================================
--- incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java (original)
+++ incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java Thu Jul 19 06:33:32 2007
@@ -139,15 +139,15 @@
    */
   public static DataGraph loadDataGraph(InputStream inputStream, Map options) throws IOException
   {
-    return defaultSDOHelper.loadDataGraph(inputStream, options, null);
+    return defaultSDOHelper.loadDataGraph(inputStream, options, (HelperContext)null);
   }
   
   /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, TypeHelper)}.
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, HelperContext)}.
    */
-  public static DataGraph loadDataGraph(InputStream inputStream, Map options, TypeHelper scope) throws IOException
+  public static DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext hc) throws IOException
   {
-    return defaultSDOHelper.loadDataGraph(inputStream, options, scope);
+    return defaultSDOHelper.loadDataGraph(inputStream, options, hc);
   }
   
   /**
@@ -183,34 +183,37 @@
   /**
    * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}.
    */
-  public static HelperContext createHelperContext()
+  public static HelperContext createHelperContext(Map options)
   {
-    return defaultSDOHelper.createHelperContext();
+    return defaultSDOHelper.createHelperContext(options);
   }
   
   /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(TypeHelper)}.
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}.
    */
-  public static CopyHelper createCrossScopeCopyHelper(TypeHelper targetScope) 
+  public static HelperContext createHelperContext()
   {
-    return defaultSDOHelper.createCrossScopeCopyHelper(targetScope); 
+    return defaultSDOHelper.createHelperContext();
   }
   
+  
   /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(TypeHelper)}.
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(HelperContext)}.
    */
-  public static XMLStreamHelper createXMLStreamHelper(TypeHelper scope)
+  public static CopyHelper createCrossScopeCopyHelper(HelperContext hc) 
   {
-    return defaultSDOHelper.createXMLStreamHelper(scope);
+    return defaultSDOHelper.createCrossScopeCopyHelper(hc); 
   }
   
+  
   /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(TypeHelper, Map)}.
+   * @see {@link 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 {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectInputStream(InputStream, HelperContext)}.
    */
@@ -228,11 +231,11 @@
   }
   
   /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getTypes(TypeHelper, String)}.
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getTypes(HelperContext, String)}.
    */
-  public static List getTypes(TypeHelper scope, String uri) {
+  public static List getTypes(HelperContext hc, String uri) {
 
-    return defaultSDOHelper.getTypes(scope, uri);
+    return defaultSDOHelper.getTypes(hc, uri);
   }
   
   /**
@@ -260,11 +263,11 @@
   }
   
   /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createType(TypeHelper, String, String, boolean)}.
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createType(HelperContext, String, String, boolean)}.
    */
-  public static Type createType(TypeHelper scope, String uri, String name, boolean isDataType)
+  public static Type createType(HelperContext hc, String uri, String name, boolean isDataType)
   {
-    return defaultSDOHelper.getMetaDataBuilder().createType(scope, uri, name, isDataType);
+    return defaultSDOHelper.getMetaDataBuilder().createType(hc, uri, name, isDataType);
   }
   
   /**
@@ -333,9 +336,9 @@
   /**
    * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createOpenContentProperty(TypeHelper, String, String, Type)}.
    */
-  public static Property createOpenContentProperty(TypeHelper scope, String uri, String name, Type type)
+  public static Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type)
   {
-    return defaultSDOHelper.getMetaDataBuilder().createOpenContentProperty(scope, uri, name, type);
+    return defaultSDOHelper.getMetaDataBuilder().createOpenContentProperty(hc, uri, name, type);
   }
   
   /**

Modified: incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java?view=diff&rev=557615&r1=557614&r2=557615
==============================================================================
--- incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java (original)
+++ incubator/tuscany/branches/sdo-1.0-incubating/lib/src/main/java/org/apache/tuscany/sdo/spi/HelperProviderBase.java Thu Jul 19 06:33:32 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/branches/sdo-1.0-incubating/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.0-incubating/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java?view=diff&rev=557615&r1=557614&r2=557615
==============================================================================
--- incubator/tuscany/branches/sdo-1.0-incubating/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java (original)
+++ incubator/tuscany/branches/sdo-1.0-incubating/sdo-api/src/main/java/commonj/sdo/impl/HelperProvider.java Thu Jul 19 06:33:32 2007
@@ -384,7 +384,9 @@
       return defaultContext;
     }
       
-    static HelperContext defaultContext = new DefaultHelperContext();
+//    static HelperContext defaultContext = new DefaultHelperContext();
+//  TODO: Feed back to spec -- Tuscany SDO implementation specific to create a special implementation of HelperContext
+    protected static HelperContext defaultContext;
 
     static class DefaultHelperContext implements HelperContext
     {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org