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/19 21:44:13 UTC
svn commit: r548833 - in
/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo:
./ otherSources/ specCodeSnippets/ specExampleSection/ tuscanyapi/
Author: kelvingoodson
Date: Tue Jun 19 12:44:11 2007
New Revision: 548833
URL: http://svn.apache.org/viewvc?view=rev&rev=548833
Log:
More sample improvement. Most samples still require a fair bit of work. Key changes here are to CreateCompany (now in two separate files for two variants)
Added:
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java (with props)
Modified:
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/AccessDataObjectUsingValidXPath.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXmlString.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXsdAndXmlFiles.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/DynamicCustomerTypeSample.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/specCodeSnippets/PrintPropertiesOfDataObject.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/UsingXPath.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessDataObjectsUsingXPath.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingDataObjectsViaPropertyIndex.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingTheContentsOfASequence.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingDataObjectTreesFromXMLDocuments.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingXmlFromDataObjects.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/SerializingDesearializingADataObject.java
incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/UsingTypeAndPropertyWithDataObjects.java
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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -32,7 +32,6 @@
public class SampleBase extends SampleInfrastructure {
- protected HelperContext scope;
public SampleBase()
{
@@ -56,7 +55,7 @@
"So we use a Tuscany specific API to do this ...\n\n" +
"HelperContext scope = SDOUtil.createHelperContext();",
- "Setting a new HelperContext scope for types for the next sample run"
+ "Creating a new HelperContext scope for types for the next sample run"
);
HelperContext scope = SDOUtil.createHelperContext();
@@ -84,7 +83,7 @@
}
- protected void loadXMLSchemaFromFile(String fileName) {
+ protected void loadXMLSchemaFromFile(HelperContext scope, String fileName) {
commentary(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" +
@@ -113,7 +112,7 @@
}
}
- public DataObject loadXMLFromFile(String filename)
+ public DataObject loadXMLFromFile(HelperContext scope, String filename)
throws Exception {
DataObject result = null;
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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -20,6 +20,8 @@
package org.apache.tuscany.samples.sdo;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
@@ -118,7 +120,31 @@
}
-
+ /**
+ * Utility method to obtain information from the user about whether or not they would like to use a DataGraph or simply use a DataObject
+ *
+ * @return whether or not a DataGraph should be used
+ * @throws Exception
+ */
+ protected boolean yesOrNoFromUser(String question) throws Exception {
+
+ System.out.print(question + " {y,n} :");
+ BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
+ String answer = in.readLine();
+ while ((! answer.equalsIgnoreCase("n")) && (! answer.equalsIgnoreCase("y"))) {
+
+ System.out.println();
+ System.out.print("Sorry, please enter 'y' or 'n':");
+ answer = in.readLine();
+ }
+ System.out.println();
+
+ if (answer.equalsIgnoreCase("y")) {
+ return true;
+ } else {
+ return false;
+ }
+ }
}
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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -20,30 +20,15 @@
package org.apache.tuscany.samples.sdo.otherSources;
-import java.io.BufferedReader;
import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import java.util.List;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.DataGraph;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
import org.apache.tuscany.samples.sdo.SampleBase;
import org.apache.tuscany.samples.sdo.SdoSampleConstants;
-import org.apache.tuscany.sdo.util.SDOUtil;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
/**
- * Demonstrates creating a DataObject using the Types defined in a previously generated XML Schema ({@link SdoSampleConstants#COMPANY_XSD}) then persisting to an XML file
- * This example is useful as a reference for creating valid xml documents that conform to an existing XSD and has been used to create valid XML files for use
- * with specification code samples.
- * <p>
* <b>Usage:</b> <br>
* This sample can easily be run from within Eclipse as a Java Application if Tuscany or
* the sample-sdo project is imported into Eclipse as an existing project.
@@ -84,13 +69,7 @@
/**
* XML file generated for the company DataObject
*/
- public static final String COMPANY_GENERATED_XML = "companyGenerated.xml";
-
- /**
- * XML file generated for the company DataGraph
- */
- public static final String COMPANY_DATAGRAPH_GENERATED_XML = "companyDataGraphGenerated.xml";
-
+ private static final String COMPANY_GENERATED_XML = "companyGenerated.xml";
/**
* Main method. Execute this method in order to run sample
@@ -98,9 +77,12 @@
* @throws Exception
*/
public static void main(String[] args) {
- // TODO make the default level NOVICE, once the rest of the sample has been
- // converted to using commentary()
- CreateCompany sample = new CreateCompany(INTERMEDIATE);
+ /*
+ * this sample is suitable for a novice to SDO.
+ * Change the experience level argument to change
+ * the level of commentary output.
+ */
+ CreateCompany sample = new CreateCompany(NOVICE);
try {
sample.run();
@@ -112,153 +94,74 @@
public void run () throws Exception {
-
- System.out.println("***************************************");
- System.out.println("SDO Sample CreateCompany");
- System.out.println("***************************************");
- System.out.println("Demonstrates creating a DataObject using the Types defined in a previously generated xsd {@link SdoSampleConstants#COMPANY_XSD} then persisting to a XML file");
- System.out.println("***************************************");
- /**
- * Use xsd to define model
- */
- scope = useDefaultScopeForTypes();
- defineCompanyTypes();
-
- /**
- * DataObjects can exist on there own or can be associated with a DataGraph. This sample allows you to create and then generate xml for a
- * company DataObject That is either associated with a DataGraph or independent
- */
- boolean useDataGraph = shouldUseDataGraph();
-
- // define these so that they will be scoped appropriately.
- DataGraph dataGraph = null;
- DataObject company = null;
-
- if (useDataGraph) {
-
- /**
- * The SDO specification says the following about creating a DataGraph. A DataGraph is created by a DAS, which returns either an empty
- * DataGraph, or a DataGraph filled with DataObjects. An empty DataGraph can have a root assigned by the createRootObject() methods.
- * However, if a previous root DataObject exists then an IllegalStateException is thrown.
- *
- * In order to create a simple sample which creates a DataGraph without the use of a DAS this sample will use the
- * {@link org.apache.tuscany.sdo.util.SDOUtil} class to create a DataObject
- */
-
- dataGraph = SDOUtil.createDataGraph();
- company = dataGraph.createRootObject(SdoSampleConstants.COMPANY_NAMESPACE, "CompanyType");
-
- } else {
-
- /*
- * The following creates a DataObject without a DataGraph
- */
- Type companyType = scope.getTypeHelper().getType(SdoSampleConstants.COMPANY_NAMESPACE, "CompanyType");
- // this is equivilent to
- // DataObject company = DataFactory.INSTANCE.create(SdoSampleConstants.COMPANY_NAMESPACE, "CompanyType");
- company = scope.getDataFactory().create(companyType);
- }
-
- System.out.println("Populating company DataObject");
- company.setString("name", "ACME");
- company.setString("employeeOfTheMonth", "E0001");
-
- System.out.println("Creating Deptartment");
- DataObject depts = company.createDataObject("departments",SdoSampleConstants.COMPANY_NAMESPACE,"DepartmentType");
-
- depts.setString("name", "Advanced Technologies");
- depts.setString("location", "NY");
- depts.setString("number", "123");
-
- System.out.println("Creating employee John Jones");
- DataObject johnJones = depts.createDataObject("employees",SdoSampleConstants.COMPANY_NAMESPACE, "EmployeeType");
- johnJones.setString("name", "John Jones");
-
- johnJones.setString("SN", "E0001");
-
- System.out.println("Creating employee Jane Doe");
- DataObject janeDoe = depts.createDataObject("employees",SdoSampleConstants.COMPANY_NAMESPACE, "EmployeeType");
- janeDoe.setString("name", "Jane Doe");
- janeDoe.setString("SN", "E0003");
-
- System.out.println("Creating manager A Varone");
- DataObject fVarone = depts.createDataObject("employees",SdoSampleConstants.COMPANY_NAMESPACE, "EmployeeType");
- fVarone.setString("name", "A Varone");
- fVarone.setString("SN", "E0004");
- fVarone.setString("manager", "true");
- System.out.println("DataObject creation completed");
- System.out.println();
+ banner('*',
+ " SDO Sample Create Company \n\n"+
+ "Demonstrates how to create a data graph using a model loaded\n"+
+ "from an XML Schema contained in a file on the file system");
- // print out the generated company DataObject or DataGraph according to user preferences
- if (useDataGraph) {
- //write the DataGraph to generated xml file
- FileOutputStream fos = new FileOutputStream(COMPANY_DATAGRAPH_GENERATED_XML);
- System.out.println("Writing company DataGraph to " + COMPANY_DATAGRAPH_GENERATED_XML);
- // print the Company DataObject
- SDOUtil.saveDataGraph(dataGraph, fos, null);
-
- // print the company DataGraph to System.out
- System.out.println("The xml for the created DataGraph would like : ");
- SDOUtil.saveDataGraph(dataGraph, System.out, null);
-
- } else {
-
- //write out to a generated xml file
- FileOutputStream fos = new FileOutputStream(COMPANY_GENERATED_XML);
- System.out.println("Writing company DataObject to " + COMPANY_GENERATED_XML);
- // print the Company DataObject
- scope.getXMLHelper().save(company, SdoSampleConstants.COMPANY_NAMESPACE, "company", fos);
+ HelperContext scope = createScopeForTypes();
+ loadXMLSchemaFromFile(scope, SdoSampleConstants.COMPANY_XSD);
+
+ commentary(NOVICE,
+ "Now that our type system has been loaded and made available through the scope\n"+
+ "DataObjects can be created by a DataFactory that has access to the required types.\n\n"+
+ "DataObject company = scope.getDataFactory().create(SdoSampleConstants.COMPANY_NAMESPACE, \"CompanyType\");");
+
+ DataObject company = scope.getDataFactory().create(SdoSampleConstants.COMPANY_NAMESPACE, "CompanyType");
+
+ populateGraph(scope, company);
- // print the company DataObject to System.out
- String generatedXml = scope.getXMLHelper().save(company, SdoSampleConstants.COMPANY_NAMESPACE, "company");
- System.out.println("The generated xml for the DataObject would look like : " );
- System.out.println(generatedXml);
- }
+ FileOutputStream fos = new FileOutputStream(COMPANY_GENERATED_XML);
+
+ commentary(NOVICE,
+ "The XMLHelper can be used to write an XML serialized version of the data graph\n\n"+
+ "scope.getXMLHelper().save(company, SdoSampleConstants.COMPANY_NAMESPACE, \"company\", fos);");
+
+ scope.getXMLHelper().save(company, SdoSampleConstants.COMPANY_NAMESPACE, "company", fos);
+
+ commentary(NOVICE,
+ "Similarly we can serialize the graph to an XML String using the XMLHelper\n\n"+
+ "String xml = scope.getXMLHelper().save(company, SdoSampleConstants.COMPANY_NAMESPACE, \"company\");\n");
+
+ String xml = scope.getXMLHelper().save(company, SdoSampleConstants.COMPANY_NAMESPACE, "company");
+
+ System.out.println(xml);
}
- /**
- * Defines company types using XSD.
- * @throws Exception
- */
- private void defineCompanyTypes() throws Exception {
-
- System.out.println("Defining Types using XSD");
- InputStream is = null;
-
- System.out.println("Opening input stream to " + SdoSampleConstants.COMPANY_XSD);
- is = ClassLoader.getSystemResourceAsStream(SdoSampleConstants.COMPANY_XSD);
- List types = scope.getXSDHelper().define(is, null);
- is.close();
- System.out.println("Type definition completed");
+ public void populateGraph(HelperContext scope, DataObject company)
+ {
+ System.out.println("Populating the company DataObject");
+ company.setString("name", "ACME");
+ company.setString("employeeOfTheMonth", "E0001");
+
+ System.out.println("Creating a Department");
+
+ DataObject depts = company.createDataObject("departments");
+
+ depts.setString("name", "Advanced Technologies");
+ depts.setString("location", "NY");
+ depts.setString("number", "123");
+
+ System.out.println("Creating an employee: John Jones");
+ DataObject johnJones = depts.createDataObject("employees");
+ johnJones.setString("name", "John Jones");
+
+ johnJones.setString("SN", "E0001");
+
+ System.out.println("Creating an employee: Jane Doe");
+ DataObject janeDoe = depts.createDataObject("employees");
+ janeDoe.setString("name", "Jane Doe");
+ janeDoe.setString("SN", "E0003");
+
+ System.out.println("Creating a manager: Fred Bloggs");
+ DataObject fVarone = depts.createDataObject("employees");
+ fVarone.setString("name", "Fred Bloggs");
+ fVarone.setString("SN", "E0004");
+ fVarone.setString("manager", "true");
+ System.out.println("DataObject creation completed");
+ System.out.println();
}
-
- /**
- * Utility method to obtain information from the user about whether or not they would like to use a DataGraph or simply use a DataObject
- *
- * @return whether or not a DataGraph should be used
- * @throws Exception
- */
- private static boolean shouldUseDataGraph() throws Exception {
-
- System.out.print("Create company DataObject associated with a DataGraph {y,n} :");
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- String answer = in.readLine();
- while ((! answer.equalsIgnoreCase("n")) && (! answer.equalsIgnoreCase("y"))) {
-
- System.out.println();
- System.out.print("Sorry, please enter 'y' or 'n':");
- answer = in.readLine();
- }
- System.out.println();
-
- if (answer.equalsIgnoreCase("y")) {
- return true;
- } else {
- return false;
- }
- }
-
}
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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -27,6 +27,7 @@
import commonj.sdo.DataObject;
import commonj.sdo.helper.DataFactory;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -90,7 +91,7 @@
*
* @throws Exception
*/
- private void definePOTypes() throws Exception {
+ private void definePOTypes(HelperContext scope) throws Exception {
InputStream is = ClassLoader.getSystemResourceAsStream(SdoSampleConstants.PO_XSD_RESOURCE);
if (is == null) {
@@ -134,9 +135,9 @@
System.out.println("***************************************");
- scope = createScopeForTypes();
+ HelperContext scope = createScopeForTypes();
- definePOTypes();
+ 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");
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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -27,6 +27,7 @@
import commonj.sdo.DataObject;
import commonj.sdo.ChangeSummary;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLDocument;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -67,6 +68,8 @@
// root DataObject
private DataObject purchaseOrder;
+
+ HelperContext scope;
/**
* Uses resources files included in jar file to define types (using xsd), and
@@ -111,7 +114,7 @@
if ((xsdFileName == null) || (xsdFileName.equals("")) || (xsdFileName.equalsIgnoreCase("null"))) {
// use simple example to define type from resource
- loadXMLSchemaFromFile(SdoSampleConstants.PO_XSD_RESOURCE);
+ loadXMLSchemaFromFile(scope, SdoSampleConstants.PO_XSD_RESOURCE);
} else {
System.out.println("Using file to access xsd in order to define types");
@@ -140,7 +143,7 @@
if ((xmlFileName == null) || (xmlFileName.equals("")) || (xmlFileName.equalsIgnoreCase("null"))) {
- purchaseOrder = loadXMLFromFile(SdoSampleConstants.PO_XML_RESOURCE);
+ purchaseOrder = loadXMLFromFile(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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -25,6 +25,7 @@
import java.util.List;
import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLDocument;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -74,13 +75,15 @@
*
*/
public class ReadPurchaseOrder extends SampleBase {
+
+
public ReadPurchaseOrder(int userLevel) {
super(userLevel);
}
- private void definePOTypes() throws Exception {
+ private void definePOTypes(HelperContext scope) throws Exception {
InputStream is = ClassLoader.getSystemResourceAsStream(SdoSampleConstants.PO_XSD_RESOURCE);
if (is == null) {
System.out.println("InputStream is null");
@@ -115,9 +118,9 @@
try {
- scope = createScopeForTypes();
+ HelperContext scope = createScopeForTypes();
- definePOTypes();
+ definePOTypes(scope);
FileInputStream fis = null;
try {
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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -26,6 +26,7 @@
import org.apache.tuscany.samples.sdo.SdoSampleConstants;
import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
/**
* Demonstrates accessing a created DataObject's properties by name.
@@ -71,6 +72,8 @@
* </UL>
*/
public class AccessDataObjectPropertiesByName extends SampleBase {
+
+ HelperContext scope;
public AccessDataObjectPropertiesByName(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectUsingValidXPath.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectUsingValidXPath.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectUsingValidXPath.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/AccessDataObjectUsingValidXPath.java Tue Jun 19 12:44:11 2007
@@ -24,6 +24,7 @@
import org.apache.tuscany.samples.sdo.SdoSampleConstants;
import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -68,6 +69,7 @@
* org.apache.tuscany.samples.sdo.specCodeSnippets.AccessDataObjectUsingValidXPath</LI>
*/
public class AccessDataObjectUsingValidXPath extends SampleBase {
+ HelperContext scope;
public AccessDataObjectUsingValidXPath(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXmlString.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXmlString.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXmlString.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXmlString.java Tue Jun 19 12:44:11 2007
@@ -25,6 +25,7 @@
import commonj.sdo.DataObject;
import commonj.sdo.Sequence;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
/**
@@ -69,7 +70,9 @@
* </UL>
*/
public class CreateDataObjectFromXmlString extends SampleBase {
-
+ HelperContext scope;
+
+
public CreateDataObjectFromXmlString(int userLevel) {
super(userLevel);
}
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXsdAndXmlFiles.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXsdAndXmlFiles.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXsdAndXmlFiles.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/CreateDataObjectFromXsdAndXmlFiles.java Tue Jun 19 12:44:11 2007
@@ -25,6 +25,7 @@
import org.apache.tuscany.samples.sdo.SampleBase;
import org.apache.tuscany.samples.sdo.SdoSampleConstants;
import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLDocument;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -74,6 +75,8 @@
* </UL>
*/
public class CreateDataObjectFromXsdAndXmlFiles extends SampleBase {
+ HelperContext scope;
+
public CreateDataObjectFromXsdAndXmlFiles(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/DynamicCustomerTypeSample.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/DynamicCustomerTypeSample.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/DynamicCustomerTypeSample.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/DynamicCustomerTypeSample.java Tue Jun 19 12:44:11 2007
@@ -23,6 +23,7 @@
import commonj.sdo.DataObject;
import commonj.sdo.Type;
import commonj.sdo.helper.DataFactory;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.TypeHelper;
import java.util.List;
@@ -70,6 +71,7 @@
* </UL>
*/
public class DynamicCustomerTypeSample extends SampleBase {
+ HelperContext scope;
public DynamicCustomerTypeSample(int userLevel) {
super(userLevel);
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=548833&r1=548832&r2=548833
==============================================================================
--- 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 Tue Jun 19 12:44:11 2007
@@ -96,7 +96,9 @@
public class ObtainingDataGraphFromXml extends SampleBase {
-
+ HelperContext scope;
+
+
public ObtainingDataGraphFromXml(int userLevel) {
super(userLevel);
@@ -135,7 +137,7 @@
);
scope = useDefaultScopeForTypes();
- loadXMLSchemaFromFile(SdoSampleConstants.COMPANY_XSD);
+ loadXMLSchemaFromFile(scope, SdoSampleConstants.COMPANY_XSD);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/PrintPropertiesOfDataObject.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/PrintPropertiesOfDataObject.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/PrintPropertiesOfDataObject.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/PrintPropertiesOfDataObject.java Tue Jun 19 12:44:11 2007
@@ -28,6 +28,7 @@
import commonj.sdo.DataObject;
import commonj.sdo.Property;
import commonj.sdo.Type;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -76,6 +77,8 @@
*/
public class PrintPropertiesOfDataObject extends SampleBase {
+
+ HelperContext scope;
public PrintPropertiesOfDataObject(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/UsingXPath.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/UsingXPath.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/UsingXPath.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specCodeSnippets/UsingXPath.java Tue Jun 19 12:44:11 2007
@@ -24,6 +24,7 @@
import org.apache.tuscany.samples.sdo.SdoSampleConstants;
import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -65,6 +66,10 @@
* </UL>
*/
public class UsingXPath extends SampleBase {
+
+ HelperContext scope;
+
+
public UsingXPath(int userLevel) {
super(userLevel);
}
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessDataObjectsUsingXPath.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessDataObjectsUsingXPath.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessDataObjectsUsingXPath.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessDataObjectsUsingXPath.java Tue Jun 19 12:44:11 2007
@@ -26,6 +26,7 @@
import org.apache.tuscany.samples.sdo.SdoSampleConstants;
import org.apache.tuscany.samples.sdo.specCodeSnippets.AccessDataObjectPropertiesByName;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
import commonj.sdo.DataObject;
@@ -105,6 +106,8 @@
*/
public class AccessDataObjectsUsingXPath extends SampleBase {
+
+ HelperContext scope;
public AccessDataObjectsUsingXPath(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingDataObjectsViaPropertyIndex.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingDataObjectsViaPropertyIndex.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingDataObjectsViaPropertyIndex.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingDataObjectsViaPropertyIndex.java Tue Jun 19 12:44:11 2007
@@ -27,6 +27,7 @@
import org.apache.tuscany.samples.sdo.SdoSampleConstants;
import org.apache.tuscany.samples.sdo.specCodeSnippets.AccessDataObjectPropertiesByName;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
import commonj.sdo.DataObject;
@@ -115,6 +116,8 @@
*/
public class AccessingDataObjectsViaPropertyIndex extends SampleBase {
+
+ HelperContext scope;
public AccessingDataObjectsViaPropertyIndex(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingTheContentsOfASequence.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingTheContentsOfASequence.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingTheContentsOfASequence.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/AccessingTheContentsOfASequence.java Tue Jun 19 12:44:11 2007
@@ -24,6 +24,7 @@
import org.apache.tuscany.samples.sdo.SampleBase;
import org.apache.tuscany.samples.sdo.specCodeSnippets.AccessDataObjectPropertiesByName;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
import commonj.sdo.DataObject;
@@ -89,6 +90,9 @@
*/
public class AccessingTheContentsOfASequence extends SampleBase {
+
+
+ HelperContext scope;
public AccessingTheContentsOfASequence(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingDataObjectTreesFromXMLDocuments.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingDataObjectTreesFromXMLDocuments.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingDataObjectTreesFromXMLDocuments.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingDataObjectTreesFromXMLDocuments.java Tue Jun 19 12:44:11 2007
@@ -21,6 +21,7 @@
package org.apache.tuscany.samples.sdo.specExampleSection;
import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -87,6 +88,8 @@
*/
public class CreatingDataObjectTreesFromXMLDocuments extends SampleBase {
+
+ HelperContext scope;
public CreatingDataObjectTreesFromXMLDocuments(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingXmlFromDataObjects.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingXmlFromDataObjects.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingXmlFromDataObjects.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/CreatingXmlFromDataObjects.java Tue Jun 19 12:44:11 2007
@@ -25,6 +25,7 @@
import commonj.sdo.DataObject;
import commonj.sdo.helper.DataFactory;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -89,17 +90,13 @@
public class CreatingXmlFromDataObjects extends SampleBase {
+ HelperContext scope;
+
public CreatingXmlFromDataObjects(int userLevel) {
super(userLevel);
}
- /**
- * Drives sample
- *
- * @param args.
- * none required.
- */
public static void main(String[] args) {
// TODO make the default level NOVICE, once the rest of the sample has been
// converted to using commentary()
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/SerializingDesearializingADataObject.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/SerializingDesearializingADataObject.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/SerializingDesearializingADataObject.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/SerializingDesearializingADataObject.java Tue Jun 19 12:44:11 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.samples.sdo.specExampleSection;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
import commonj.sdo.helper.EqualityHelper;
@@ -92,6 +93,9 @@
*/
public class SerializingDesearializingADataObject extends SampleBase {
+
+
+ HelperContext scope;
public SerializingDesearializingADataObject(int userLevel) {
super(userLevel);
Modified: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/UsingTypeAndPropertyWithDataObjects.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/UsingTypeAndPropertyWithDataObjects.java?view=diff&rev=548833&r1=548832&r2=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/UsingTypeAndPropertyWithDataObjects.java (original)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/specExampleSection/UsingTypeAndPropertyWithDataObjects.java Tue Jun 19 12:44:11 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.samples.sdo.specExampleSection;
+import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
import commonj.sdo.DataObject;
@@ -86,6 +87,10 @@
*/
public class UsingTypeAndPropertyWithDataObjects extends SampleBase {
+
+
+ HelperContext scope;
+
public UsingTypeAndPropertyWithDataObjects(int userLevel) {
super(userLevel);
Added: 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=auto&rev=548833
==============================================================================
--- incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java (added)
+++ incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java Tue Jun 19 12:44:11 2007
@@ -0,0 +1,144 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.samples.sdo.tuscanyapi;
+
+import java.io.FileOutputStream;
+
+import org.apache.tuscany.samples.sdo.SdoSampleConstants;
+import org.apache.tuscany.sdo.api.SDOUtil;
+
+import commonj.sdo.DataGraph;
+import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
+
+/**
+ * <p>
+ * <b>Usage:</b> <br>
+ * This sample can easily be run from within Eclipse as a Java Application if Tuscany or
+ * the sample-sdo project is imported into Eclipse as an existing project.
+ * <br><br>
+ * If executing as a standalone application please do the following:
+ * <br>
+ * <UL>
+ * <LI>Include the following jar files on your classpath :
+ * <UL>
+ * <LI>SDO API and Tuscany Implementation
+ * <UL>
+ * <LI>sdo-api-{version}.jar - SDO API
+ * <LI>tuscany-sdo-impl-{version}.jar - Tuscany SDO implementation
+ * </UL>
+ * </LI>
+ * <LI>EMF dependencies.
+ * <UL>
+ * <LI>emf-common-{version}.jar - some common framework utility and base classes
+ * <LI>emf-ecore-{version}.jar - the EMF core runtime implementation classes (the Ecore metamodel)
+ * <LI>emf-ecore-change-{version}.jar - the EMF change recorder and framework
+ * <LI>emf-ecore-xmi-{version}.jar - EMF's default XML (and XMI) serializer and loader
+ * <LI>xsd-{version}.jar - the XML Schema model
+ * </UL>
+ * </LI>
+ * </UL>
+ *
+ * These jar files can be obtained by downloading a binary distribution of Tuscany SDO Java</LI>
+ * <LI>Execute: <br>
+ * java org.apache.tuscany.samples.sdo.tuscanyApi.CreateCompany</LI>
+ * </UL>
+ */
+public class CreateCompany extends org.apache.tuscany.samples.sdo.otherSources.CreateCompany {
+
+ public CreateCompany(int userLevel) {
+ super(userLevel);
+ }
+
+ /**
+ * XML file generated for the company DataGraph
+ */
+ private String COMPANY_DATAGRAPH_GENERATED_XML = "companyDataGraphGenerated.xml";
+
+
+ /**
+ * Main method. Execute this method in order to run sample
+ * @param args
+ * @throws Exception
+ */
+ public static void main(String[] args) {
+ /*
+ * this sample is best suited so someone with an intermediate level
+ * of understanding of SDO. Change the experience level argument to get more
+ * or less commentary.
+ */
+ CreateCompany sample = new CreateCompany(INTERMEDIATE);
+
+ try {
+ sample.run();
+ }
+ catch (Exception e) {
+ sample.somethingUnexpectedHasHappened(e);
+ }
+ }
+
+ public void run () throws Exception {
+
+ banner('*',
+ " SDO Sample Create Company in a DataGraph \n\n"+
+ "This is a variant of the simple CreateCompany sample, but\n"+
+ "demonstrates how to create a DataGraph in the absence of a Data Access Service (DAS)\n"+
+ "This is not typical of how an SDO user would code, because a DAS is usually\n"+
+ "responsible for creating a DataGraph instance. This is why we must use a Tuscany API\n"+
+ "to create the dataGraph in the first place\n"+
+ "If you don't have a need to use a DataGraph instance then you may want to skip this\n"+
+ "sample, or leave it until you have explored the DataObject interface fully\n");
+
+ commentary(INTERMEDIATE,
+ "As we are dealing with a DataGraph, the SDO API has some gray areas at the moment\n"+
+ "in that the DataGraph API hasn't yet been developed to deal with scopes\n"+
+ "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);
+
+ commentary (INTERMEDIATE,
+ "Here is the use of the Tuscany API for creating a DataGraph instance\n\n"+
+ "DataGraph dataGraph = SDOUtil.createDataGraph();");
+
+ DataGraph dataGraph = SDOUtil.createDataGraph();
+
+ commentary(INTERMEDIATE,
+ "Now we create a root object of a selected type for the DataGraph wrapper to contain.\n"+
+ "This is an example of a DataGraph interface that currently forces us to use the default scope.\n\n"+
+ "company = dataGraph.createRootObject(SdoSampleConstants.COMPANY_NAMESPACE, \"CompanyType\");");
+
+ DataObject company = dataGraph.createRootObject(SdoSampleConstants.COMPANY_NAMESPACE, "CompanyType");
+
+ populateGraph(scope, company);
+
+ commentary(INTERMEDIATE,
+ "Since the SDO API doesn't currently have a method for serializing the DataGraph instance\n"+
+ "we again use a Tuscany specific API\n\n"+
+ "SDOUtil.saveDataGraph(dataGraph, fos, null);");
+
+ FileOutputStream fos = new FileOutputStream(COMPANY_DATAGRAPH_GENERATED_XML);
+ SDOUtil.saveDataGraph(dataGraph, fos, null);
+
+ SDOUtil.saveDataGraph(dataGraph, System.out, null);
+ }
+
+}
Propchange: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sdo/sample/src/main/java/org/apache/tuscany/samples/sdo/tuscanyapi/CreateCompany.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org