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/06/21 15:10:57 UTC

svn commit: r549465 - in /incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo: ./ otherSources/ specCodeSnippets/ tuscanyapi/

Author: kelvingoodson
Date: Thu Jun 21 06:10:56 2007
New Revision: 549465

URL: http://svn.apache.org/viewvc?view=rev&rev=549465
Log:
more updates to samples

Modified:
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/ExecuteSamples2.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleBase.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleInfrastructure.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreateCompany.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreatePurchaseOrder.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/PurchaseOrderControl.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/ReadPurchaseOrder.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectPropertiesByName.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/ObtainingDataGraphFromXml.java
    incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/ExecuteSamples2.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/ExecuteSamples2.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/ExecuteSamples2.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/ExecuteSamples2.java Thu Jun 21 06:10:56 2007
@@ -19,21 +19,27 @@
  */
 package org.apache.tuscany.samples.sdo;
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 
+import org.apache.tuscany.samples.sdo.otherSources.CreatePurchaseOrder;
+import org.apache.tuscany.samples.sdo.otherSources.ReadPurchaseOrder;
 import org.apache.tuscany.samples.sdo.specCodeSnippets.AccessDataObjectPropertiesByName;
 import org.apache.tuscany.samples.sdo.specCodeSnippets.DynamicCustomerTypeSample;
 import org.apache.tuscany.samples.sdo.specCodeSnippets.ObtainingDataGraphFromXml;
 
 public class ExecuteSamples2 {
   
-  public static void main(String [] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
+  public static void main(String [] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, IOException {
 
     Class[] sampleClasses = {
       org.apache.tuscany.samples.sdo.otherSources.CreateCompany.class,
+      ReadPurchaseOrder.class,
       AccessDataObjectPropertiesByName.class,
-
+      CreatePurchaseOrder.class,
       DynamicCustomerTypeSample.class,
       ObtainingDataGraphFromXml.class,
       org.apache.tuscany.samples.sdo.tuscanyapi.CreateCompany.class 
@@ -56,14 +62,21 @@
      *  By default run all samples from novice level right up to advanced level.
      *  Edit this to run fewer samples.
      */
-    int sampleLevel = SampleInfrastructure.SAMPLE_LEVEL_ADVANCED.intValue(); 
+    int runSamplesUpToLevel = SampleInfrastructure.SAMPLE_LEVEL_ADVANCED.intValue(); 
+    
+    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
     
+    int sampleCount = 0;
     for (int i=0; i < sampleClasses.length; i++) {
       Constructor c = sampleClasses[i].getConstructor(constructorArgTypes);
       SampleBase sample = (SampleBase)c.newInstance(constructorArgs);
-      if(sample.getSampleComplexityLevel() <= sampleLevel) {
+      if(sample.getSampleComplexityLevel() <= runSamplesUpToLevel) {
         sample.run();
+        sampleCount++;
+        System.out.println(">>>Press Enter to continue");
+        in.readLine();
       }
     }
+    System.out.println("Ran " + sampleCount + " samples");
   }
 }

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleBase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleBase.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleBase.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleBase.java Thu Jun 21 06:10:56 2007
@@ -20,7 +20,11 @@
 
 package org.apache.tuscany.samples.sdo;
 
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
 import java.io.InputStream;
+import java.io.StringBufferInputStream;
+import java.io.StringReader;
 
 import org.apache.tuscany.sdo.api.SDOUtil;
 
@@ -95,7 +99,7 @@
   }
   
   
-  protected void loadXMLSchemaFromFile(HelperContext scope, String fileName) {
+  protected void loadTypesFromXMLSchemaFile(HelperContext scope, String fileName) {
     commentary(COMMENTARY_FOR_NOVICE,
         "If you want to create types dynamically by loading an XML schema you\n" +
         "use an instance of XSDHelper. You get that helper from a HelperContext.\n" +
@@ -125,29 +129,70 @@
    }
   }
   
-  public DataObject loadXMLFromFile(HelperContext scope, String filename)
+  public DataObject getDataObjectFromFile(HelperContext scope, String filename)
       throws Exception {
 
-    DataObject result = null;
+
+    XMLDocument xmlDoc = getXMLDocumentFromFile(scope, filename);
+    commentary(COMMENTARY_FOR_NOVICE,
+        "An XMLDocument instance provides a wrapper for the root DataObject of a data graph\n" +
+        "along with other aspects of the XML nature of the document\n\n"+
+        "DataObject result = xmlDoc.getRootObject();",
+        
+        "Geting the root object from an XMLDocument as seen in previous samples"
+    );
+    DataObject result = xmlDoc.getRootObject();
+
+    return result;
+  }
+  
+  public XMLDocument getXMLDocumentFromFile(HelperContext scope,
+      String filename) throws Exception {
+
+    XMLDocument result = null;
     InputStream is = null;
 
     try {
-      is = ClassLoader
-          .getSystemResourceAsStream(filename);
-      XMLDocument xmlDoc = scope.getXMLHelper().load(is);
-      result = xmlDoc.getRootObject();
-
+      commentary(COMMENTARY_FOR_NOVICE,
+          "The XMLHelper can be used to create an SDO XMLDocument instance from a file\n\n"+
+          "inputStream = ClassLoader.getSystemResourceAsStream(filename);\n"+
+          "result = scope.getXMLHelper().load(is);",
+      
+          "Getting an XMLDocument instance from an XML file as seen in previous samples"
+      );
+      is = ClassLoader.getSystemResourceAsStream(filename);
+      result = scope.getXMLHelper().load(is);
+      
     } catch (Exception e) {
       somethingUnexpectedHasHappened(e);
     } finally {
-        try {
-          is.close();
-        } catch (Exception e) {
-          somethingUnexpectedHasHappened(e);
-        }
+      try {
+        is.close();
+      } catch (Exception e) {
+        somethingUnexpectedHasHappened(e);
+      }
     }
 
     return result;
+  }
+  
+  protected XMLDocument getXMLDocumentFromString(HelperContext scope, String xmlDoc) throws IOException {
+    XMLDocument result = null;
+    InputStream is = null;
+
+
+      commentary(COMMENTARY_FOR_NOVICE,
+          "The XMLHelper can be used to create an SDO XMLDocument instance from an\n\n"+
+          "inputStream = new ByteArrayInputStream(xmlDoc.getBytes());\n"+
+          "result = scope.getXMLHelper().load(is);",
+      
+          "Getting an XMLDocument instance from an XML file as seen in previous samples"
+      );
+      
+      is = new ByteArrayInputStream(xmlDoc.getBytes());
+      result = scope.getXMLHelper().load(is);
+      
+      return result;
   }
 
 }

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleInfrastructure.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleInfrastructure.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleInfrastructure.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/SampleInfrastructure.java Thu Jun 21 06:10:56 2007
@@ -61,7 +61,7 @@
   protected static final Integer COMMENTARY_FOR_ADVANCED = new Integer(2);
   protected static final Integer COMMENTARY_ALWAYS = new Integer(3);
   
-  protected static final String[] userLevels = {"COMMENTARY_FOR_NOVICE","COMMENTARY_FOR_INTERMEDIATE","COMMENTARY_FOR_ADVANCED","COMMENTARY_ALWAYS"};
+  protected static final String[] userLevels = {"novice","intermediate","advanced"};
   
   public void banner(char borderChar, String text) {
     if(text == null || text.length() == 0) {
@@ -167,12 +167,17 @@
   }
   
   public void run() {
+ 
     
-    commentary(COMMENTARY_ALWAYS,"    Tuscany SDO Java Sample " + this.getClass().getName() + "    ");
     commentary(COMMENTARY_FOR_INTERMEDIATE, "Running with commentary level for a " + userLevels[commentaryLevel] + " user\n"+
-        "Edit the sample program's constructor argument to one from COMMENTARY_FOR_NOVICE, COMMENTARY_FOR_INTERMEDIATE or COMMENTARY_FOR_ADVANCED\n"+
+        "Edit the sample program's constructor argument to one from\n"+
+        "COMMENTARY_FOR_NOVICE\nCOMMENTARY_FOR_INTERMEDIATE or\nCOMMENTARY_FOR_ADVANCED\n"+
         "in order to alter the level of commentary you are seeing",
         "");
+    
+    commentary(COMMENTARY_ALWAYS,"    Tuscany SDO Java Sample " + this.getClass().getName() + "    \n"+
+        "    This sample is aimed at a " + userLevels[sampleComplexityLevel] + " user");
+
     
     try {
       runSample();

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreateCompany.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreateCompany.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreateCompany.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreateCompany.java Thu Jun 21 06:10:56 2007
@@ -99,7 +99,7 @@
                "from an XML Schema contained in a file on the file system");
                 
         HelperContext scope = createScopeForTypes();       
-        loadXMLSchemaFromFile(scope, SdoSampleConstants.COMPANY_XSD);
+        loadTypesFromXMLSchemaFile(scope, SdoSampleConstants.COMPANY_XSD);
         
         commentary(
             "Now that our type system has been loaded and made available through the scope\n"+

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreatePurchaseOrder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreatePurchaseOrder.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreatePurchaseOrder.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/CreatePurchaseOrder.java Thu Jun 21 06:10:56 2007
@@ -25,10 +25,13 @@
 import java.io.OutputStream;
 
 import org.apache.tuscany.samples.sdo.SampleBase;
+import org.apache.tuscany.samples.sdo.SampleInfrastructure;
 import org.apache.tuscany.samples.sdo.SdoSampleConstants;
 
 import commonj.sdo.DataObject;
+import commonj.sdo.helper.DataFactory;
 import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.XMLDocument;
 
 /**
  * Demonstrates creating a purchaseOrder DataObject from an existing XSD and then
@@ -77,8 +80,8 @@
 
 public class CreatePurchaseOrder extends SampleBase {
 
-    public CreatePurchaseOrder(Integer intermediate) {
-      super(intermediate);
+    public CreatePurchaseOrder(Integer commentaryLevel) {
+      super(commentaryLevel, SampleInfrastructure.SAMPLE_LEVEL_NOVICE);
     }
 
     /**
@@ -107,78 +110,100 @@
      */
     public static void main(String[] args) {
 
-      // TODO make the default level COMMENTARY_FOR_NOVICE, once the rest of the sample has been
-      // converted to using commentary()
-      CreatePurchaseOrder sample = new CreatePurchaseOrder(COMMENTARY_FOR_INTERMEDIATE);
+
+      CreatePurchaseOrder sample = new CreatePurchaseOrder(COMMENTARY_FOR_NOVICE);
 
       sample.run();
 
     }
     
     public void runSample() throws Exception {
-        try {
 
-            System.out.println("***************************************");
-            System.out.println("SDO Sample CreatePurchaseOrder");
-            System.out.println("***************************************");
-            System.out.println("This sample is based upon Fuhwei Lwo's paper "
-                    + "http://www-128.ibm.com/developerworks/webservices/library/ws-sdoxmlschema/"
-                    + " and demonstrates creating a purchaseOrder DataObject from an "
-                    + " existing XSD and then persisting to disk. Uses previously defined model");
-
-            System.out.println("***************************************");
-
-            HelperContext scope = createScopeForTypes();
-            
-            definePOTypes(scope);
-            System.out.println("Defined Types using xsd");
-            DataObject purchaseOrder = scope.getDataFactory().create(SdoSampleConstants.PO_NAMESPACE, "PurchaseOrderType");
-            System.out.println("Created DataObject using DataFactory");
-
-            purchaseOrder.setString("orderDate", "1999-10-20");
-
-            DataObject shipTo = purchaseOrder.createDataObject("shipTo");
-            shipTo.set("country", "US");
-            shipTo.set("name", "Alice Smith");
-            shipTo.set("street", "123 Maple Street");
-            shipTo.set("city", "Mill Valley");
-            shipTo.set("state", "CA");
-            shipTo.setString("zip", "90952");
-            DataObject billTo = purchaseOrder.createDataObject("billTo");
-            billTo.set("country", "US");
-            billTo.set("name", "Robert Smith");
-            billTo.set("street", "8 Oak Avenue");
-            billTo.set("city", "Mill Valley");
-            billTo.set("state", "PA");
-            billTo.setString("zip", "95819");
-            purchaseOrder.set("comment", "Hurry, my lawn is going wild!");
-            System.out.println("Created orderDate, shipTo, billTo and comment properties");
-
-            DataObject items = purchaseOrder.createDataObject("items");
-
-            DataObject item1 = items.createDataObject("item");
-            item1.set("partNum", "872-AA");
-            item1.set("productName", "Lawnmower");
-            item1.setInt("quantity", 1);
-            item1.setString("price", "148.95");
-
-            item1.set("comment", "Confirm this is electric");
-
-            DataObject item2 = items.createDataObject("item");
-            item2.set("partNum", "926-AA");
-            item2.set("productName", "Baby Monitor");
-            item2.setInt("quantity", 1);
-            item2.setString("price", "39.98");
-            item2.setString("shipDate", "1999-05-21");
-            System.out.println("Created 2 items");
-
-            OutputStream stream = new FileOutputStream(SdoSampleConstants.PO_XML_GENERATED);
-            scope.getXMLHelper().save(purchaseOrder, SdoSampleConstants.PO_NAMESPACE, "purchaseOrder", stream);
-            System.out.println("Created file " + SdoSampleConstants.PO_XML_GENERATED);
-        } catch (Exception e) {
-            System.out.println("Sorry an error occured " + e.toString());
-            e.printStackTrace();
-        }
-        System.out.println("GoodBye");
-    }
+          commentary(COMMENTARY_ALWAYS,
+              "This sample is based upon Fuhwei Lwo's paper\n"
+              + "http://www-128.ibm.com/developerworks/webservices/library/ws-sdoxmlschema/\n"
+              + "and demonstrates creating a purchaseOrder DataObject from an\n"
+              + "existing XSD and then persisting to disk. Uses previously defined model");
+
+          HelperContext scope = createScopeForTypes();
+          
+          loadTypesFromXMLSchemaFile(scope, SdoSampleConstants.PO_XSD_RESOURCE);
+          
+          
+          commentary (COMMENTARY_FOR_NOVICE,
+              "We are creating a DataObject using a DataFactory by specifying the URI and name of\n"+
+              "the Type that we want to use for the DataObject.\n\n"+
+              "DataFactory factory = scope.getDataFactory();\n"+
+              "DataObject purchaseOrder = factory.create(SdoSampleConstants.PO_NAMESPACE, \"PurchaseOrderType\");");
+          
+          DataFactory factory = scope.getDataFactory();           
+          DataObject purchaseOrder = factory.create(SdoSampleConstants.PO_NAMESPACE, "PurchaseOrderType");
+
+
+          commentary(COMMENTARY_FOR_NOVICE,
+              "Now we build on the graph using the DataObject's set() and createDataObject() methods.\n"+
+              "Take a look inside the program code for the full detail of these steps");
+          
+          purchaseOrder.setString("orderDate", "1999-10-20");
+          DataObject shipTo = purchaseOrder.createDataObject("shipTo");
+          shipTo.set("country", "US");
+          shipTo.set("name", "Alice Smith");
+          shipTo.set("street", "123 Maple Street");
+          shipTo.set("city", "Mill Valley");
+          shipTo.set("state", "CA");
+          shipTo.setString("zip", "90952");
+          DataObject billTo = purchaseOrder.createDataObject("billTo");
+          billTo.set("country", "US");
+          billTo.set("name", "Robert Smith");
+          billTo.set("street", "8 Oak Avenue");
+          billTo.set("city", "Mill Valley");
+          billTo.set("state", "PA");
+          billTo.setString("zip", "95819");
+          purchaseOrder.set("comment", "Hurry, my lawn is going wild!");
+
+          DataObject items = purchaseOrder.createDataObject("items");
+
+          DataObject item1 = items.createDataObject("item");
+          item1.set("partNum", "872-AA");
+          item1.set("productName", "Lawnmower");
+          item1.setInt("quantity", 1);
+          item1.setString("price", "148.95");
+
+          item1.set("comment", "Confirm this is electric");
+
+          DataObject item2 = items.createDataObject("item");
+          item2.set("partNum", "926-AA");
+          item2.set("productName", "Baby Monitor");
+          item2.setInt("quantity", 1);
+          item2.setString("price", "39.98");
+          item2.setString("shipDate", "1999-05-21");
+          System.out.println("Created 2 items");
+
+          commentary(COMMENTARY_FOR_NOVICE,
+              "Now we use the XMLHelper to write an XML document representing the data graph\n"+
+              "to a file.  We must supply a namespace and a name for the root element of the graph, since it is\n"+
+              "not contained in the DataObject\n\n"+
+              "OutputStream stream = new FileOutputStream(SdoSampleConstants.PO_XML_GENERATED);\n"+
+              "scope.getXMLHelper().save(purchaseOrder, SdoSampleConstants.PO_NAMESPACE, \"purchaseOrder\", stream);"
+              );
+          
+          
+          OutputStream stream = new FileOutputStream(SdoSampleConstants.PO_XML_GENERATED);
+          scope.getXMLHelper().save(purchaseOrder, SdoSampleConstants.PO_NAMESPACE, "purchaseOrder", stream);
+          stream.close();
+
+          commentary(COMMENTARY_FOR_NOVICE,
+              "We could instead have created an XMLDocument instance to wrap the DataObject\n"+
+              "This has the advantage that the namespace URI and root element name are preserved in the Object\n"+
+              "This interface was introduced after Fuhwei's paper,  and has particular advantage\n"+
+              "when loading an XML document from a file\n\n"+
+              "scope.getXMLHelper().createDocument(purchaseOrder, SdoSampleConstants.PO_NAMESPACE, \"purchaseOrder\");\n"+
+              "scope.getXMLHelper().save(doc, System.out, null);");
+          
+          
+          XMLDocument doc = scope.getXMLHelper().createDocument(purchaseOrder, SdoSampleConstants.PO_NAMESPACE, "purchaseOrder");
+          scope.getXMLHelper().save(doc, System.out, null);
+          System.out.println();
+      }
+
 }

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/PurchaseOrderControl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/PurchaseOrderControl.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/PurchaseOrderControl.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/PurchaseOrderControl.java Thu Jun 21 06:10:56 2007
@@ -115,7 +115,7 @@
         if ((xsdFileName == null) || (xsdFileName.equals("")) || (xsdFileName.equalsIgnoreCase("null"))) {
 
             // use simple example to define type from resource
-            loadXMLSchemaFromFile(scope, SdoSampleConstants.PO_XSD_RESOURCE);
+            loadTypesFromXMLSchemaFile(scope, SdoSampleConstants.PO_XSD_RESOURCE);
 
         } else {
             System.out.println("Using file to access xsd in order to define types");
@@ -144,7 +144,7 @@
 
         if ((xmlFileName == null) || (xmlFileName.equals("")) || (xmlFileName.equalsIgnoreCase("null"))) {
 
-            purchaseOrder = loadXMLFromFile(scope, SdoSampleConstants.PO_XML_RESOURCE);
+            purchaseOrder = getDataObjectFromFile(scope, SdoSampleConstants.PO_XML_RESOURCE);
         } else {
             try {
 

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/ReadPurchaseOrder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/ReadPurchaseOrder.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/ReadPurchaseOrder.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/otherSources/ReadPurchaseOrder.java Thu Jun 21 06:10:56 2007
@@ -31,6 +31,7 @@
 import commonj.sdo.helper.XSDHelper;
 
 import org.apache.tuscany.samples.sdo.SampleBase;
+import org.apache.tuscany.samples.sdo.SampleInfrastructure;
 import org.apache.tuscany.samples.sdo.SdoSampleConstants;
 
 /**
@@ -75,90 +76,95 @@
  * 
  */
 public class ReadPurchaseOrder extends SampleBase {
-  
-
 
   
-    public ReadPurchaseOrder(Integer userLevel) {
-      super(userLevel);
-    }
+  public static String purchaseOrderDoc = 
+    "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n"+
+    "    <po:purchaseOrder xmlns:po=\"http://www.example.com/PO\" orderDate=\"1999-10-20\">\n"+
+    "      <shipTo country=\"US\">\n"+
+    "        <name>Alice Smith</name>\n"+
+    "        <street>123 Maple Street</street>\n"+
+    "        <city>Mill Valley</city>\n"+
+    "        <state>CA</state>\n"+
+    "        <zip>90952</zip>\n"+
+    "      </shipTo>\n"+
+    "      <billTo country=\"US\">\n"+
+    "        <name>Robert Smith</name>\n"+
+    "        <street>8 Oak Avenue</street>\n"+
+    "        <city>Mill Valley</city>\n"+
+    "        <state>PA</state>\n"+
+    "        <zip>95819</zip>\n"+
+    "      </billTo>\n"+
+    "      <po:comment>Hurry, my lawn is going wild!</po:comment>\n"+
+    "      <items>\n"+
+    "        <item partNum=\"872-AA\">\n"+
+    "          <productName>Lawnmower</productName>\n"+
+    "          <price>148.95</price>\n"+
+    "          <quantity>1</quantity>\n"+
+    "          <po:comment>Confirm this is electric</po:comment>\n"+
+    "        </item>\n"+
+    "        <item partNum=\"926-AA\">\n"+
+    "          <productName>Baby Monitor</productName>\n"+
+    "          <price>39.98</price>\n"+
+    "          <quantity>1</quantity>\n"+
+    "          <shipDate>1999-05-21</shipDate>\n"+
+    "        </item>\n"+
+    "      </items>\n"+
+    "    </po:purchaseOrder>\n";
 
-    private void definePOTypes(HelperContext scope) throws Exception {
-        InputStream is = ClassLoader.getSystemResourceAsStream(SdoSampleConstants.PO_XSD_RESOURCE);
-        if (is == null) {
-            System.out.println("InputStream is null");
-        } else {
-            System.out.println("Obtained Input Stream from resource");
-        }
-        scope.getXSDHelper().define(is, null);
-        is.close();
+    public ReadPurchaseOrder(Integer commentaryLevel) {
+      super(commentaryLevel, SampleInfrastructure.SAMPLE_LEVEL_NOVICE);
     }
 
     public static void main(String[] args) {
-      // TODO make the default level COMMENTARY_FOR_NOVICE, once the rest of the sample has been
-      // converted to using commentary()
-      ReadPurchaseOrder sample = new ReadPurchaseOrder(COMMENTARY_FOR_INTERMEDIATE);
-
-      try {
-        sample.run();
-      }
-      catch (Exception e) {
-        sample.somethingUnexpectedHasHappened(e);
-      }
+      ReadPurchaseOrder sample = new ReadPurchaseOrder(COMMENTARY_FOR_NOVICE);
+      sample.run();
+
     }
 
     public void runSample () throws Exception {
-        System.out.println("***************************************");
-        System.out.println("SDO Sample ReadPurchaseOrder");
-        System.out.println("***************************************");
-        System.out.println("This sample is based upon Fuhwei Lwo's paper http://www-128.ibm.com/developerworks/webservices/library/ws-sdoxmlschema/");
-        System.out.println("previously generated by CreatePurchaseOrder sample to populate purchase order DataObject");
-
-        System.out.println("***************************************");
-
-        try {
-          
-            HelperContext scope = createScopeForTypes();
-            
-            definePOTypes(scope);
-
-            FileInputStream fis = null;
-            try {
-                fis = new FileInputStream(SdoSampleConstants.PO_XML_GENERATED);
-            } catch (Exception e) {
-                System.out.println("Sorry an error occcured, please run CreatePurchaseOrder sample first");
-                System.out.println("Exception : " + e.toString());
-                e.printStackTrace();
-                return;
-            }
+        commentary(COMMENTARY_ALWAYS,
+            "This sample is based upon Fuhwei Lwo's paper \n"+
+            "http://www-128.ibm.com/developerworks/webservices/library/ws-sdoxmlschema/\n");
+
+        HelperContext scope = createScopeForTypes();
+        
+        loadTypesFromXMLSchemaFile(scope, SdoSampleConstants.PO_XSD_RESOURCE);
+
+        commentary(
+            "We load the purchase order document into an instance of XMLDocument\n\n"+
+            "XMLDocument xmlDoc = getXMLDocumentFromString(scope, purchaseOrderDoc);\n");
+
+        XMLDocument xmlDoc = getXMLDocumentFromString(scope, purchaseOrderDoc);      
+
+        commentary(
+            "We then retrieve the root DataObject from the XMLDocument\n"+
+            "then print out some of the details\n\n"+
+            "DataObject purchaseOrder = xmlDoc.getRootObject();");
+        
+            DataObject purchaseOrder = xmlDoc.getRootObject();
 
-            XMLDocument xmlDoc = scope.getXMLHelper().load(fis);
+        System.out.println("Order date: " + purchaseOrder.get("orderDate"));
+        System.out.println("Comment: " + purchaseOrder.get("comment"));
 
-            DataObject purchaseOrder = xmlDoc.getRootObject();
+        DataObject shipTo = purchaseOrder.getDataObject("shipTo");
+        System.out.println("Ship to name: " + shipTo.get("name"));
+
+        DataObject billTo = purchaseOrder.getDataObject("billTo");
+        System.out.println("Bill to name: " + billTo.get("name"));
+        System.out.println();
 
-            System.out.println("Order date: " + purchaseOrder.get("orderDate"));
-            System.out.println("Comment: " + purchaseOrder.get("comment"));
+        DataObject items = purchaseOrder.getDataObject("items");
+        List itemList = items.getList("item");
+        for (int i = 0; i < itemList.size(); i++) {
 
-            DataObject shipTo = purchaseOrder.getDataObject("shipTo");
-            System.out.println("Ship to name: " + shipTo.get("name"));
+            DataObject item = (DataObject) itemList.get(i);
 
-            DataObject billTo = purchaseOrder.getDataObject("billTo");
-            System.out.println("Bill to name: " + billTo.get("name"));
-            System.out.println();
-
-            DataObject items = purchaseOrder.getDataObject("items");
-            List itemList = items.getList("item");
-            for (int i = 0; i < itemList.size(); i++) {
-
-                DataObject item = (DataObject) itemList.get(i);
-
-                System.out.println("Part num: " + item.get("partNum"));
-                System.out.println("Product name: " + item.get("productName"));
-            } // for
-        } catch (Exception e) {
-            System.out.println("Sorry an error was encountered " + e.toString());
-            e.printStackTrace();
+            System.out.println("Part num: " + item.get("partNum"));
+            System.out.println("Product name: " + item.get("productName"));
         }
-        System.out.println("GoodBye");
+
     }
+
+
 }

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectPropertiesByName.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectPropertiesByName.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectPropertiesByName.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectPropertiesByName.java Thu Jun 21 06:10:56 2007
@@ -95,9 +95,9 @@
 
         // setting up the type system for the example,  see the utility methods for details of these operations
         HelperContext scope = createScopeForTypes();
-        loadXMLSchemaFromFile(scope, SdoSampleConstants.PO_XSD_RESOURCE);
+        loadTypesFromXMLSchemaFile(scope, SdoSampleConstants.PO_XSD_RESOURCE);
 
-        DataObject purchaseOrder = loadXMLFromFile(scope, SdoSampleConstants.PO_XML_RESOURCE);
+        DataObject purchaseOrder = getDataObjectFromFile(scope, SdoSampleConstants.PO_XML_RESOURCE);
 
 
         System.out.println("Accessing properties by name");

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/ObtainingDataGraphFromXml.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/ObtainingDataGraphFromXml.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/ObtainingDataGraphFromXml.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/ObtainingDataGraphFromXml.java Thu Jun 21 06:10:56 2007
@@ -137,7 +137,7 @@
         );
         
         scope = useDefaultScopeForTypes();
-        loadXMLSchemaFromFile(scope, SdoSampleConstants.COMPANY_XSD);
+        loadTypesFromXMLSchemaFile(scope, SdoSampleConstants.COMPANY_XSD);
         
 
 

Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java?view=diff&rev=549465&r1=549464&r2=549465
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java Thu Jun 21 06:10:56 2007
@@ -108,7 +108,7 @@
             "other than the default scope. So here is an occasion where we must use"+
             "the default singleton scope");
         HelperContext scope = useDefaultScopeForTypes();
-        loadXMLSchemaFromFile(scope, SdoSampleConstants.COMPANY_XSD);
+        loadTypesFromXMLSchemaFile(scope, SdoSampleConstants.COMPANY_XSD);
        
         commentary (COMMENTARY_FOR_INTERMEDIATE,
             "Here is the use of the Tuscany API for creating a DataGraph instance\n\n"+



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