diff options
Diffstat (limited to 'tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java')
-rw-r--r-- | tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java b/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java deleted file mode 100644 index f67001b8b5..0000000000 --- a/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java +++ /dev/null @@ -1,81 +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.Iterator; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.ResultSetShape; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.impl.ReadCommandImpl; -import org.apache.tuscany.das.rdb.test.data.PartData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -public class RecursiveTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new PartData(getAutoConnection()).refresh(); - } - - public void testReadEngineParts() throws Exception { - - //Table definition - //CREATE TABLE PART (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(50), QUANTITY INT, PARENT_ID INT ); - - String threeLevelPartsSQL = "SELECT P1.*, P2.*, P3.* FROM PART AS P1 LEFT JOIN PART AS P2 ON P1.ID = P2.PARENT_ID " - + "LEFT JOIN PART AS P3 on P2.ID = P3.PARENT_ID WHERE P1.ID = 1"; - Command select = Command.FACTORY.createCommand(threeLevelPartsSQL, getConfig("PartsConfig.xml")); - select.setConnection(getConnection()); - - String[] columns = {"ID", "NAME", "QUANTITY", "PARENT_ID", "ID", "NAME", "QUANTITY", "PARENT_ID", "ID", "NAME", "QUANTITY", "PARENT_ID"}; - String[] tables = {"PART", "PART", "PART", "PART", "PART", "PART", "PART", "PART", "PART", "PART", "PART", "PART"}; - Type[] types = {SDODataTypes.INTEGEROBJECT, SDODataTypes.STRING, SDODataTypes.INTEGEROBJECT, SDODataTypes.INTEGEROBJECT, SDODataTypes.INTEGEROBJECT, SDODataTypes.STRING, SDODataTypes.INTEGEROBJECT, SDODataTypes.INTEGEROBJECT, SDODataTypes.INTEGEROBJECT, SDODataTypes.STRING, SDODataTypes.INTEGEROBJECT, SDODataTypes.INTEGEROBJECT}; - ResultSetShape shape = new ResultSetShape(tables, columns, types); - - //Hack until we provide a nicer API - ((ReadCommandImpl)select).setResultSetShape(shape); - - // Need to set the key explicitly. The aggregate of columns not working - // because of null values - DataObject root = select.executeQuery(); - - assertEquals(5, root.getList("PART").size()); - // printList(root.getList("PART")); - DataObject engine = root.getDataObject("PART.0"); - assertEquals("Engine", engine.getString("NAME")); - - assertEquals(3, engine.getList("subparts").size()); - - DataObject piston = null; - Iterator i = engine.getList("subparts").iterator(); - while ( i.hasNext() ) { - DataObject obj = (DataObject)i.next(); - if ( obj.getString("NAME").equals("Piston")) - piston = obj; - } - - assertEquals("Piston", piston.getString("NAME")); - assertEquals(1, piston.getList("subparts").size()); - assertEquals("Piston Ring", piston.getDataObject("subparts.0").getString("NAME")); - - } - -} |