Author: kelvingoodson
Date: Thu Aug 30 06:28:55 2007
New Revision: 571164

URL: http://svn.apache.org/viewvc?rev=571164&view=rev
Log:
TUSCANY-1399 add more tests

Added:
    incubator/tuscany/java/sdo/toolsTest/src/main/resources/CustomerAccount.xsd
    
incubator/tuscany/java/sdo/toolsTest/src/main/resources/simpleWithChangeSummary.xsd
    
incubator/tuscany/java/sdo/toolsTest/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java
Modified:
    incubator/tuscany/java/sdo/pom.xml
    incubator/tuscany/java/sdo/toolsTest/pom.xml

Modified: incubator/tuscany/java/sdo/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/pom.xml?rev=571164&r1=571163&r2=571164&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/pom.xml (original)
+++ incubator/tuscany/java/sdo/pom.xml Thu Aug 30 06:28:55 2007
@@ -117,6 +117,7 @@
                 <module>impl</module>
                 <module>tools</module>
                 <module>sample</module>
+                <module>toolsTest</module>
             </modules>
         </profile>
     </profiles>

Modified: incubator/tuscany/java/sdo/toolsTest/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/toolsTest/pom.xml?rev=571164&r1=571163&r2=571164&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/toolsTest/pom.xml (original)
+++ incubator/tuscany/java/sdo/toolsTest/pom.xml Thu Aug 30 06:28:55 2007
@@ -65,8 +65,26 @@
                         <id>simple</id>
                         <configuration>
                             
<schemaFile>${basedir}/src/main/resources/simple.xsd</schemaFile>
-                            <noNotification>true</noNotification>
-                            <noUnsettable>true</noUnsettable>
+                        </configuration>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>simpleWithChangeSummary</id>
+                        <configuration>
+                            
<schemaFile>${basedir}/src/main/resources/simpleWithChangeSummary.xsd</schemaFile>
+                            <prefix>CS</prefix>
+                        </configuration>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>customer</id>
+                        <configuration>
+                            
<schemaFile>${basedir}/src/main/resources/CustomerAccount.xsd</schemaFile>
+                            <prefix>Customer</prefix>
                         </configuration>
                         <goals>
                             <goal>generate</goal>

Added: 
incubator/tuscany/java/sdo/toolsTest/src/main/resources/CustomerAccount.xsd
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/toolsTest/src/main/resources/CustomerAccount.xsd?rev=571164&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/toolsTest/src/main/resources/CustomerAccount.xsd 
(added)
+++ incubator/tuscany/java/sdo/toolsTest/src/main/resources/CustomerAccount.xsd 
Thu Aug 30 06:28:55 2007
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.    
+ -->
+<xs:schema xmlns:sdo="commonj.sdo" xmlns:sdoJava="commonj.sdo/java" 
xmlns:stn_1="http://example.com/customer"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; attributeFormDefault="qualified" 
elementFormDefault="qualified" targetNamespace="http://example.com/customer";>
+
+       <xs:complexType abstract="false" name="Account">
+               <xs:sequence/>
+               <xs:attribute default="0" name="accountNum" type="xs:int"/>
+       </xs:complexType>
+
+       <xs:element name="account" type="stn_1:Account"/>
+       
+       <xs:complexType abstract="false" name="Customer">
+               <xs:sequence>
+                       <xs:element name="account" type="stn_1:Account"/>
+               </xs:sequence>
+               <xs:attribute name="firstName" type="xs:string"/>
+       </xs:complexType>
+       
+       <xs:element name="customer" type="stn_1:Customer"/>
+
+</xs:schema>

Added: 
incubator/tuscany/java/sdo/toolsTest/src/main/resources/simpleWithChangeSummary.xsd
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/toolsTest/src/main/resources/simpleWithChangeSummary.xsd?rev=571164&view=auto
==============================================================================
--- 
incubator/tuscany/java/sdo/toolsTest/src/main/resources/simpleWithChangeSummary.xsd
 (added)
+++ 
incubator/tuscany/java/sdo/toolsTest/src/main/resources/simpleWithChangeSummary.xsd
 Thu Aug 30 06:28:55 2007
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ *  Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, 
as applicable.
+ *
+ *  Licensed 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.
+ -->
+<xsd:schema xmlns:sdo="commonj.sdo" 
xmlns:simpleCS="http://www.example.com/simpleCS"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
targetNamespace="http://www.example.com/simpleCS";>
+  
+                 
+  <xsd:import namespace="commonj.sdo" schemaLocation="sdoModel.xsd"/>
+  
+  <xsd:complexType name="QuoteBase">
+       <xsd:complexContent>
+         <xsd:extension base="simpleCS:Quote">
+           <xsd:sequence>
+               <xsd:element name="changes" type="sdo:ChangeSummaryType"/>
+           </xsd:sequence>
+         </xsd:extension>
+       </xsd:complexContent>
+
+  </xsd:complexType>
+                  
+  <xsd:element name="stockQuote" type="simpleCS:QuoteBase"/>
+
+  <xsd:complexType name="Quote">
+    <xsd:sequence>
+      <xsd:element name="symbol" type="xsd:string"/>
+      <xsd:element name="companyName" type="xsd:string"/>
+      <xsd:element name="price" type="xsd:decimal"/>
+      <xsd:element name="open1" type="xsd:decimal"/>
+      <xsd:element name="high" type="xsd:decimal"/>
+      <xsd:element name="low" type="xsd:decimal"/>
+      <xsd:element name="volume" type="xsd:double"/>
+      <xsd:element name="change1" type="xsd:double"/>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="quotes" 
type="simpleCS:Quote"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+</xsd:schema>

Added: 
incubator/tuscany/java/sdo/toolsTest/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/toolsTest/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java?rev=571164&view=auto
==============================================================================
--- 
incubator/tuscany/java/sdo/toolsTest/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java
 (added)
+++ 
incubator/tuscany/java/sdo/toolsTest/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java
 Thu Aug 30 06:28:55 2007
@@ -0,0 +1,131 @@
+/**
+ *
+ *  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.sdo.test;
+
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.List;
+
+import org.apache.tuscany.sdo.api.SDOUtil;
+
+import junit.framework.TestCase;
+
+import com.example.customer.Account;
+import com.example.customer.Customer;
+import com.example.customer.CustomerFactory;
+import com.example.simple.cs.CSFactory;
+import com.example.simple.cs.Quote;
+import com.example.simple.cs.QuoteBase;
+import commonj.sdo.ChangeSummary;
+import commonj.sdo.DataGraph;
+import commonj.sdo.DataObject;
+import commonj.sdo.Type;
+import commonj.sdo.helper.HelperContext;
+import commonj.sdo.impl.HelperProvider;
+
+
+public class ChangeSummaryGenTestCase extends TestCase {
+
+    public void testMixedQuoteType() throws IOException {
+        QuoteBase quote = CSFactory.INSTANCE.createQuoteBase();
+        DataObject dQuote = (DataObject)quote;
+
+        // ChangeSummary csp = quote.getChanges();
+        ChangeSummary cs = dQuote.getChangeSummary();
+        ChangeSummary csp = quote.getChanges();
+        cs.beginLogging();
+
+        assertSame(cs, csp);
+        
+        quote.setSymbol("fbnt");
+        quote.setCompanyName("FlyByNightTechnology");
+        quote.setPrice(new BigDecimal("1000.0"));
+        quote.setOpen1(new BigDecimal("1000.0"));
+        quote.setHigh(new BigDecimal("1000.0"));
+        quote.setLow(new BigDecimal("1000.0"));
+        quote.setVolume(1000);
+        quote.setChange1(1000);
+        
+        List quotes = quote.getQuotes();
+        Quote innerQuote = CSFactory.INSTANCE.createQuote();
+        
+        quotes.add(innerQuote);
+        innerQuote.setPrice(new BigDecimal("2000.0"));
+        
+        cs.endLogging();
+       
+        //XMLHelper.INSTANCE.save(dQuote, "http://www.example.com/simpleCS";, 
"quoteBase", System.out);
+               
+        cs.undoChanges();
+        
+        //System.out.println("\nAfter Undo Changes:");
+        //XMLHelper.INSTANCE.save(dQuote, "http://www.example.com/simpleCS";, 
"quoteBase", System.out);
+    }
+
+    public void testChangeSummaryOnDatagraphWithContainmentStatic() throws 
Exception {
+      
+      HelperContext hc = HelperProvider.getDefaultContext();
+      CustomerFactory.INSTANCE.register(hc);    
+      
+      Type customerType = hc.getTypeHelper().getType(Customer.class);   
+      DataGraph dataGraph = SDOUtil.createDataGraph();
+      Customer customer = (Customer) dataGraph.createRootObject(customerType);
+    
+      Account account = CustomerFactory.INSTANCE.createAccount();
+      customer.setAccount(account);
+      customer.setFirstName("John");
+      customer.getAccount().setAccountNum(1234);
+        
+      ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+      SDOUtil.saveDataGraph(dataGraph, outputStream, null);
+      DataGraph loadDataGraph = SDOUtil.loadDataGraph(new 
ByteArrayInputStream(outputStream.toByteArray()), null);
+      
+      loadDataGraph.getChangeSummary().beginLogging();
+      
+      customer = (Customer) loadDataGraph.getRootObject();
+      customer.getAccount().setAccountNum(987);   
+      
+      loadDataGraph.getChangeSummary().endLogging();
+      
+      List changedDataObjects = 
loadDataGraph.getChangeSummary().getChangedDataObjects();   
+        assertEquals("in fact 1 Object was changed in the code", 1, 
changedDataObjects.size());     
+    }
+    
+    public void testChangeSummaryOnDataGraphWithInt() throws Exception {
+      
+      HelperContext hc = HelperProvider.getDefaultContext();
+      CustomerFactory factory = CustomerFactory.INSTANCE;
+      factory.register(hc);
+      Customer customer = factory.createCustomer();
+      Account account = factory.createAccount();
+      customer.setAccount(account);
+      DataObject customerDO = (DataObject) customer; 
+      DataGraph dg = SDOUtil.createDataGraph();
+      SDOUtil.setRootObject(dg, customerDO);
+      dg.getChangeSummary().beginLogging();
+      dg.getRootObject().getDataObject(0).delete();
+      ByteArrayOutputStream baos = new ByteArrayOutputStream();
+      SDOUtil.saveDataGraph(dg, baos, null);
+    }
+    
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to