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