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]