diff options
Diffstat (limited to 'tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java')
-rw-r--r-- | tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java | 254 |
1 files changed, 0 insertions, 254 deletions
diff --git a/tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java b/tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java deleted file mode 100644 index 387dab95b1..0000000000 --- a/tags/java-stable-20060304/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java +++ /dev/null @@ -1,254 +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; - -/* - * This provdes the simplest examples that make use of the change history. The assumptions are: - * - * Single type - * Change history utilized - * Dynamic DataObjects - * - * - */ - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class CrudWithChangeHistory - extends DasTest -{ - - protected void setUp() - throws Exception - { - super.setUp(); - new CustomerData( getAutoConnection() ).refresh(); - } - - protected void tearDown() - throws Exception - { - super.tearDown(); - } - - /** - * Read and modify a customer. - * Provide needed Create/Update/Delete statements programatically - */ - public void testReadModifyApply() - throws Exception - { - - //Read customer 1 - Command select = Command.FACTORY.createCommand( "Select * from CUSTOMER where ID = 1" ); - select.setConnection( getConnection() ); - DataObject root = select.executeQuery(); - - DataObject customer = (DataObject) root.get( "CUSTOMER[1]" ); - - //Modify customer - customer.set( "LASTNAME", "Pavick" ); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection( getConnection() ); - - //Manually create and add update command - Command update = Command.FACTORY.createCommand( "update CUSTOMER set LASTNAME = :LASTNAME where ID = :ID" ); - update.addParameter( "LASTNAME", SDODataTypes.STRING ); - update.addParameter( "ID", SDODataTypes.INTEGER ); - apply.addUpdateCommand( customer.getType(), update ); - - //Flush changes - apply.execute( root ); - - //Verify changes - root = select.executeQuery(); - assertEquals( "Pavick", root.getString( "CUSTOMER[1]/LASTNAME" ) ); - - } - - /** - * Read and modify a customer. - * Provide needed Create/Update/Delete statements via xml file - */ - public void testReadModifyApply1() - throws Exception - { - - //Read customer 1 - Command select = Command.FACTORY.createCommand( "Select * from CUSTOMER where ID = 1" ); - select.setConnection( getConnection() ); - DataObject root = select.executeQuery(); - - DataObject customer = (DataObject) root.get( "CUSTOMER[1]" ); - - //Modify customer - customer.set( "LASTNAME", "Pavick" ); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("basicCustomerMappingWithCUD.xml")); - apply.setConnection( getConnection() ); - - //Flush changes - apply.execute( root ); - - //Verify changes - root = select.executeQuery(); - assertEquals( "Pavick", root.getString( "CUSTOMER[1]/LASTNAME" ) ); - - } - - /** - * Same as previous but: - * Utilizes generated CUD statements - * Key info provided programatically - */ - public void testReadModifyApply2() - throws Exception - { - - //Read customer with particular ID - Command select = Command.FACTORY.createCommand( "Select * from CUSTOMER where ID = 1" ); - select.setConnection( getConnection() ); - DataObject root = select.executeQuery(); - - DataObject customer = root.getDataObject( "CUSTOMER[1]" ); - - //Modify customer - customer.set( "LASTNAME", "Pavick" ); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection( getConnection() ); - //programatically add the only part of the mapping model needed for this simple case. - //The ID designation is needed to generate the CUD statements - apply.addPrimaryKey( "CUSTOMER.ID" ); - - //Flush changes - apply.execute( root ); - - //Verify the change - root = select.executeQuery(); - assertEquals( "Pavick", root.getDataObject( "CUSTOMER[1]" ).getString( "LASTNAME" ) ); - - } - - /** - * Builds on previous but: - * 1. Key info provided via XML file - */ - public void testReadModifyApply3() - throws Exception - { - - //Read customer with particular ID - Command select = Command.FACTORY.createCommand( "Select * from CUSTOMER where ID = 1" ); - select.setConnection( getConnection() ); - DataObject root = select.executeQuery(); - - DataObject customer = (DataObject) root.get( "CUSTOMER[1]" ); - - //Modify customer - customer.set( "LASTNAME", "Pavick" ); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("basicCustomerMapping.xml")); - apply.setConnection( getConnection() ); - - //Flush changes - apply.execute( root ); - - //Verify the change - root = select.executeQuery(); - assertEquals( "Pavick", root.getDataObject( "CUSTOMER[1]" ).getString( "LASTNAME" ) ); - - } - - /** - * Test ability to handle multiple changes to the graph including Creates/Updates/Deletes - * Employs generated CUD - */ - public void testReadModifyDeleteInsertApply() - throws Exception - { - - //Read some customers - Command select = Command.FACTORY.createCommand( "Select * from CUSTOMER where LASTNAME = 'Williams'" ); - select.setConnection( getConnection() ); - DataObject root = select.executeQuery(); - - DataObject cust1 = (DataObject) root.getList( "CUSTOMER" ).get( 0 ); - DataObject cust2 = (DataObject) root.getList( "CUSTOMER" ).get( 1 ); - DataObject cust3 = (DataObject) root.getList( "CUSTOMER" ).get( 2 ); - - //Modify a customer - cust1.set( "LASTNAME", "Pavick" ); - int cust1ID = cust1.getInt( "ID" ); - - //Save IDs before delete - int cust2ID = cust2.getInt( "ID" ); - int cust3ID = cust3.getInt( "ID" ); - //Delete a couple - cust2.delete(); - cust3.delete(); - - //Create a new customer - DataObject cust4 = root.createDataObject( "CUSTOMER" ); - cust4.set( "ID", new Integer( 100 ) ); - cust4.set( "ADDRESS", "5528 Wells Fargo Drive" ); - cust4.set( "LASTNAME", "Gerkin" ); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("basicCustomerMapping.xml")); - apply.setConnection( getConnection() ); - - //Flush changes - apply.execute( root ); - - //Verify deletes - select = Command.FACTORY.createCommand( "Select * from CUSTOMER where ID = :ID" ); - select.setConnection( getConnection() ); - select.setParameterValue( "ID", new Integer( cust2ID ) ); - root = select.executeQuery(); - assertTrue( root.getList( "CUSTOMER" ).isEmpty() ); - //reparameterize same command - select.setParameterValue( "ID", new Integer( cust3ID ) ); - root = select.executeQuery(); - assertTrue( root.getList( "CUSTOMER" ).isEmpty() ); - - //verify insert - select.setParameterValue( "ID", new Integer( 100 ) ); - root = select.executeQuery(); - assertEquals( 1, root.getList( "CUSTOMER" ).size() ); - assertEquals( "5528 Wells Fargo Drive", root.getString( "CUSTOMER[1]/ADDRESS" ) ); - assertEquals( "Gerkin", root.getString( "CUSTOMER[1]/LASTNAME" ) ); - - //verify update - select.setParameterValue( "ID", new Integer( cust1ID ) ); - root = select.executeQuery(); - assertEquals( "Pavick", root.getString( "CUSTOMER[1]/LASTNAME" ) ); - - } - -} |