diff options
Diffstat (limited to 'tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java')
-rw-r--r-- | tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java b/tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java deleted file mode 100644 index 35b06cc30e..0000000000 --- a/tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java +++ /dev/null @@ -1,163 +0,0 @@ -/** - * - * Copyright 2005 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. - */ -package org.apache.tuscany.das.rdb.test; - -import java.util.ArrayList; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.merge.impl.GraphMerger; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.data.OrderData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - - -import commonj.sdo.DataObject; - -public class GraphMergeTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - - } - - - public void testSingleTableMerge() throws Exception { - - Command select = Command.FACTORY - .createCommand("Select ID, LASTNAME, ADDRESS from CUSTOMER where ID <= :ID"); - select.setConnection(getConnection()); - select.setParameterValue("ID", "3"); - DataObject graph1 = select.executeQuery(); - assertEquals(3, graph1.getList("CUSTOMER").size()); - - select.setParameterValue("ID", "5"); - DataObject graph2 = select.executeQuery(); - assertEquals(5, graph2.getList("CUSTOMER").size()); - - GraphMerger merger = new GraphMerger(); - merger.addPrimaryKey("CUSTOMER.ID"); - DataObject mergedGraph = merger.merge(graph1, graph2); - - assertEquals(5, mergedGraph.getList("CUSTOMER").size()); - } - - public void testSingleTableMergeThreeGraphs() throws Exception { - - Command select = Command.FACTORY - .createCommand("Select ID, LASTNAME, ADDRESS from CUSTOMER where ID <= :ID"); - select.setConnection(getConnection()); - select.setParameterValue("ID", "3"); - DataObject graph1 = select.executeQuery(); - assertEquals(3, graph1.getList("CUSTOMER").size()); - - select.setParameterValue("ID", "4"); - DataObject graph2 = select.executeQuery(); - assertEquals(4, graph2.getList("CUSTOMER").size()); - - select.setParameterValue("ID", "5"); - DataObject graph3 = select.executeQuery(); - assertEquals(5, graph3.getList("CUSTOMER").size()); - - GraphMerger merger = new GraphMerger(); - merger.addPrimaryKey("CUSTOMER.ID"); - ArrayList graphs = new ArrayList(); - graphs.add(graph1); - graphs.add(graph2); - graphs.add(graph3); - DataObject mergedGraph = merger.merge(graphs); - - assertEquals(5, mergedGraph.getList("CUSTOMER").size()); - - } - - public void testMultiTableMerge() throws Exception { - //Read some customers and related orders - Command select = Command.FACTORY.createCommand( - "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID "); - select.setConnection(getConnection()); - - //Set minimum metadata necessary to describe relationship - select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID"); - select.addPrimaryKey("CUSTOMER.ID"); - select.addPrimaryKey("ANORDER.ID"); - - select.setConnection(getConnection()); - select.setParameterValue("ID", new Integer(1)); - DataObject graph1 = select.executeQuery(); - - DataObject customer = (DataObject)graph1.getList("CUSTOMER").get(0); - assertEquals(2, customer.getList("ANORDER").size()); - - select.setParameterValue("ID", new Integer(2)); - DataObject graph2 = select.executeQuery(); - DataObject customer2 = (DataObject)graph2.getList("CUSTOMER").get(0); - assertEquals(1, graph2.getList("CUSTOMER").size()); - assertEquals(1, customer2.getList("ANORDER").size()); - assertEquals(2, customer2.getInt("ID")); - - GraphMerger merger = new GraphMerger(); - merger.addPrimaryKey("CUSTOMER.ID"); - merger.addPrimaryKey("ANORDER.ID"); - DataObject mergedGraph = merger.merge(graph1, graph2); - - assertEquals(3, mergedGraph.getList("ANORDER").size()); - assertEquals(2, mergedGraph.getList("CUSTOMER").size()); - - DataObject mergedCustomer = (DataObject) mergedGraph.getList("CUSTOMER").get(1); - assertEquals(2, mergedCustomer.getInt("ID")); - assertEquals(1, mergedCustomer.getList("ANORDER").size()); - DataObject mergedOrder = (DataObject) mergedCustomer.getList("ANORDER").get(0); - assertEquals(4, mergedOrder.getInt("ID")); - - - } - - public void testMultiTableAppendSingleTable() throws Exception { - //Read some customers and related orders - Command select = Command.FACTORY.createCommand( - "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID "); - select.setConnection(getConnection()); - - //Set minimum metadata necessary to describe relationship - select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID"); - select.addPrimaryKey("CUSTOMER.ID"); - select.addPrimaryKey("ANORDER.ID"); - - select.setConnection(getConnection()); - select.setParameterValue("ID", new Integer(1)); - DataObject graph1 = select.executeQuery(); - - DataObject customer = (DataObject)graph1.getList("CUSTOMER").get(0); - assertEquals(2, customer.getList("ANORDER").size()); - - Command select2 = Command.FACTORY.createCommand("select * from ANORDER"); - select2.setConnection(getConnection()); - DataObject graph2 = select2.executeQuery(); - assertEquals(4, graph2.getList("ANORDER").size()); - - GraphMerger merger = new GraphMerger(); - merger.addPrimaryKey("CUSTOMER.ID"); - merger.addPrimaryKey("ANORDER.ID"); - DataObject mergedGraph = merger.merge(graph1, graph2); - assertEquals(4, mergedGraph.getList("ANORDER").size()); - assertEquals(1, mergedGraph.getList("CUSTOMER").size()); - } - -} |