From 76e9f96ca7f494088fe3af5a46ad0d153e961008 Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 11 Nov 2009 23:11:40 +0000 Subject: Moving 1.x branches git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835139 13f79535-47bb-0310-9956-ffa450edef68 --- .../tuscany/das/rdb/ApplyChangesCommand.java | 101 - .../java/org/apache/tuscany/das/rdb/Command.java | 222 - .../org/apache/tuscany/das/rdb/CommandFactory.java | 93 - .../org/apache/tuscany/das/rdb/CommandGroup.java | 63 - .../tuscany/das/rdb/CommandGroupFactory.java | 37 - .../org/apache/tuscany/das/rdb/ConfigHelper.java | 67 - .../java/org/apache/tuscany/das/rdb/Converter.java | 52 - .../main/java/org/apache/tuscany/das/rdb/Key.java | 58 - .../java/org/apache/tuscany/das/rdb/Pager.java | 62 - .../java/org/apache/tuscany/das/rdb/Parameter.java | 128 - .../org/apache/tuscany/das/rdb/ResultSetShape.java | 96 - .../org/apache/tuscany/das/rdb/SDODataTypes.java | 64 - .../das/rdb/config/wrapper/MappingWrapper.java | 411 -- .../das/rdb/config/wrapper/QualifiedColumn.java | 41 - .../rdb/config/wrapper/RelationshipWrapper.java | 44 - .../das/rdb/config/wrapper/TableWrapper.java | 124 - .../das/rdb/generator/impl/CudGenerator.java | 64 - .../das/rdb/generator/impl/DeleteGenerator.java | 98 - .../das/rdb/generator/impl/InsertGenerator.java | 179 - .../das/rdb/generator/impl/UpdateGenerator.java | 206 - .../das/rdb/graphbuilder/impl/DataObjectMaker.java | 120 - .../rdb/graphbuilder/impl/DefaultConverter.java | 91 - .../graphbuilder/impl/GraphBuilderMetadata.java | 98 - .../rdb/graphbuilder/impl/MultiTableRegistry.java | 105 - .../das/rdb/graphbuilder/impl/ResultMetadata.java | 293 -- .../rdb/graphbuilder/impl/ResultSetProcessor.java | 137 - .../das/rdb/graphbuilder/impl/ResultSetRow.java | 169 - .../das/rdb/graphbuilder/impl/RowObjects.java | 140 - .../rdb/graphbuilder/impl/SingleTableRegistry.java | 52 - .../das/rdb/graphbuilder/impl/TableData.java | 75 - .../das/rdb/graphbuilder/impl/TableRegistry.java | 43 - .../das/rdb/graphbuilder/schema/ESchemaMaker.java | 171 - .../rdb/graphbuilder/schema/ResultSetTypeMap.java | 133 - .../das/rdb/impl/ApplyChangesCommandImpl.java | 111 - .../tuscany/das/rdb/impl/BaseCommandImpl.java | 68 - .../apache/tuscany/das/rdb/impl/ChangeFactory.java | 199 - .../tuscany/das/rdb/impl/ChangeOperation.java | 79 - .../tuscany/das/rdb/impl/ChangeSummarizer.java | 266 -- .../org/apache/tuscany/das/rdb/impl/Changes.java | 80 - .../tuscany/das/rdb/impl/CommandFactoryImpl.java | 77 - .../das/rdb/impl/CommandGroupFactoryImpl.java | 31 - .../tuscany/das/rdb/impl/CommandGroupImpl.java | 207 - .../apache/tuscany/das/rdb/impl/CommandImpl.java | 145 - .../tuscany/das/rdb/impl/ConnectionImpl.java | 95 - .../tuscany/das/rdb/impl/CreateOperation.java | 29 - .../tuscany/das/rdb/impl/DatabaseObject.java | 148 - .../tuscany/das/rdb/impl/DeleteCommandImpl.java | 25 - .../apache/tuscany/das/rdb/impl/DeleteList.java | 72 - .../tuscany/das/rdb/impl/DeleteOperation.java | 38 - .../tuscany/das/rdb/impl/FactoryRegistry.java | 49 - .../tuscany/das/rdb/impl/InsertCommandImpl.java | 79 - .../apache/tuscany/das/rdb/impl/InsertList.java | 82 - .../das/rdb/impl/OptimisticWriteCommandImpl.java | 45 - .../org/apache/tuscany/das/rdb/impl/PagerImpl.java | 64 - .../apache/tuscany/das/rdb/impl/ParameterImpl.java | 107 - .../apache/tuscany/das/rdb/impl/Parameters.java | 150 - .../apache/tuscany/das/rdb/impl/QueryString.java | 87 - .../tuscany/das/rdb/impl/ReadCommandImpl.java | 168 - .../tuscany/das/rdb/impl/SDODataTypeHelper.java | 100 - .../apache/tuscany/das/rdb/impl/SPCommandImpl.java | 73 - .../org/apache/tuscany/das/rdb/impl/Statement.java | 206 - .../tuscany/das/rdb/impl/UpdateCommandImpl.java | 25 - .../apache/tuscany/das/rdb/impl/UpdateList.java | 42 - .../tuscany/das/rdb/impl/UpdateOperation.java | 30 - .../tuscany/das/rdb/impl/WriteCommandImpl.java | 97 - .../tuscany/das/rdb/merge/impl/GraphMerger.java | 166 - .../apache/tuscany/das/rdb/util/ConfigUtil.java | 51 - .../tuscany/das/rdb/util/DataObjectUtil.java | 73 - .../tuscany/das/rdb/util/DebugFormatter.java | 34 - .../org/apache/tuscany/das/rdb/util/DebugUtil.java | 66 - .../rdb/src/main/resources/META-INF/LICENSE.txt | 1277 ------ .../rdb/src/main/resources/META-INF/MANIFEST.MF | 13 - .../das/rdb/src/main/resources/META-INF/NOTICE | 18 - .../das/rdb/src/main/resources/META-INF/README.txt | 35 - .../java/das/rdb/src/main/resources/config.xsd | 103 - .../java/das/rdb/src/main/resources/dasmodel4.mdl | 4645 -------------------- .../tuscany/das/rdb/test/BestPracticeTests.java | 150 - .../apache/tuscany/das/rdb/test/CUDGeneration.java | 124 - .../tuscany/das/rdb/test/CommandGroupTests.java | 165 - .../apache/tuscany/das/rdb/test/CompanyTests.java | 105 - .../tuscany/das/rdb/test/CompoundKeyTests.java | 100 - .../tuscany/das/rdb/test/ConverterTests.java | 114 - .../tuscany/das/rdb/test/CorrectedDefectTests.java | 244 - .../das/rdb/test/CrudWithChangeHistory.java | 377 -- .../apache/tuscany/das/rdb/test/DefectTests.java | 303 -- .../tuscany/das/rdb/test/ExceptionTests.java | 149 - .../das/rdb/test/GeneratedCommandTests.java | 93 - .../apache/tuscany/das/rdb/test/GeneratedId.java | 294 -- .../tuscany/das/rdb/test/GraphMergeTests.java | 154 - .../tuscany/das/rdb/test/NameMappingTests.java | 64 - .../org/apache/tuscany/das/rdb/test/OCCTests.java | 64 - .../das/rdb/test/OneToOneRelationshipTests.java | 155 - .../das/rdb/test/OperationOrderingTests.java | 85 - .../org/apache/tuscany/das/rdb/test/Paging.java | 108 - .../tuscany/das/rdb/test/PartialUpdateTests.java | 103 - .../das/rdb/test/PassiveConnectionTests.java | 85 - .../das/rdb/test/ProgrammaticConfigTests.java | 157 - .../tuscany/das/rdb/test/ReadDBSchemaTests.java | 62 - .../tuscany/das/rdb/test/RecursiveTests.java | 81 - .../tuscany/das/rdb/test/RelationshipTests.java | 121 - .../tuscany/das/rdb/test/ResultSetShapeTests.java | 105 - .../tuscany/das/rdb/test/SerializationTests.java | 90 - .../apache/tuscany/das/rdb/test/SimplestCrud.java | 256 -- .../apache/tuscany/das/rdb/test/StoredProcs.java | 194 - .../org/apache/tuscany/das/rdb/test/TopDown.java | 85 - .../org/apache/tuscany/das/rdb/test/TypeTests.java | 96 - .../commands/ReadCustomersByLastnameCommand.java | 54 - .../rdb/test/commands/ReadCustomersCommand.java | 55 - .../commands/ReadCustomersStaticTypesCommand.java | 62 - .../commands/ReadCustomersWithShapeCommand.java | 40 - .../SimpleReadCustomersWithShapeCommand.java | 66 - .../das/rdb/test/company/CompanyFactory.java | 73 - .../tuscany/das/rdb/test/company/CompanyType.java | 101 - .../das/rdb/test/company/DatagraphRoot.java | 81 - .../das/rdb/test/company/DepartmentType.java | 153 - .../tuscany/das/rdb/test/company/EmployeeType.java | 137 - .../rdb/test/company/impl/CompanyFactoryImpl.java | 174 - .../rdb/test/company/impl/CompanyPackageImpl.java | 1258 ------ .../das/rdb/test/company/impl/CompanyTypeImpl.java | 303 -- .../rdb/test/company/impl/DatagraphRootImpl.java | 252 -- .../rdb/test/company/impl/DepartmentTypeImpl.java | 395 -- .../rdb/test/company/impl/EmployeeTypeImpl.java | 333 -- .../tuscany/das/rdb/test/customer/AnOrder.java | 216 - .../tuscany/das/rdb/test/customer/Customer.java | 153 - .../das/rdb/test/customer/CustomerFactory.java | 64 - .../das/rdb/test/customer/DataGraphRoot.java | 66 - .../das/rdb/test/customer/impl/AnOrderImpl.java | 461 -- .../test/customer/impl/CustomerFactoryImpl.java | 150 - .../das/rdb/test/customer/impl/CustomerImpl.java | 395 -- .../test/customer/impl/CustomerPackageImpl.java | 847 ---- .../rdb/test/customer/impl/DataGraphRootImpl.java | 213 - .../apache/tuscany/das/rdb/test/data/BookData.java | 45 - .../apache/tuscany/das/rdb/test/data/CityData.java | 54 - .../tuscany/das/rdb/test/data/CompanyData.java | 45 - .../tuscany/das/rdb/test/data/CompanyDeptData.java | 42 - .../tuscany/das/rdb/test/data/CompanyEmpData.java | 44 - .../tuscany/das/rdb/test/data/CustomerData.java | 45 - .../tuscany/das/rdb/test/data/DepEmpData.java | 45 - .../tuscany/das/rdb/test/data/DepartmentData.java | 41 - .../tuscany/das/rdb/test/data/EmployeeData.java | 45 - .../tuscany/das/rdb/test/data/OrderData.java | 42 - .../das/rdb/test/data/OrderDetailsData.java | 43 - .../apache/tuscany/das/rdb/test/data/PartData.java | 52 - .../tuscany/das/rdb/test/data/StateData.java | 51 - .../tuscany/das/rdb/test/data/TypesData.java | 64 - .../tuscany/das/rdb/test/framework/DB2Setup.java | 35 - .../tuscany/das/rdb/test/framework/DasTest.java | 155 - .../das/rdb/test/framework/DatabaseSetup.java | 238 - .../tuscany/das/rdb/test/framework/DerbySetup.java | 42 - .../das/rdb/test/framework/JavaStoredProcs.java | 79 - .../tuscany/das/rdb/test/framework/MySQLSetup.java | 96 - .../das/rdb/test/framework/RelationshipData.java | 81 - .../tuscany/das/rdb/test/framework/TestData.java | 87 - .../framework/TestDataWithExplicitColumns.java | 82 - .../test/mappings/IntegerToBooleanConverter.java | 40 - .../test/mappings/SillyDateStringConverter.java | 73 - .../test/mappings/StringToIntegerConverter.java | 37 - .../rdb/test/mappings/StringToLongConverter.java | 35 - .../das/rdb/test/suites/AllCommonTests.java | 98 - .../tuscany/das/rdb/test/suites/AllTestsDB2.java | 39 - .../tuscany/das/rdb/test/suites/AllTestsDerby.java | 34 - .../tuscany/das/rdb/test/suites/AllTestsMySQL.java | 34 - .../das/rdb/test/typed/SimplestStaticCrud.java | 58 - .../rdb/src/test/resources/1xM_mapping_no_cud.xml | 33 - .../das/rdb/src/test/resources/BooksConfig.xml | 24 - .../das/rdb/src/test/resources/CompanyConfig.xml | 48 - .../src/test/resources/CompanyEmployeeConfig.xml | 67 - .../test/resources/CustOrdersConnectionProps.xml | 61 - .../test/resources/CustomerConfigWithConverter.xml | 24 - .../resources/CustomerConfigWithIDConverter.xml | 23 - .../src/test/resources/CustomersOrdersConfig.xml | 45 - .../test/resources/OrdersOrderDetailsConfig.xml | 30 - .../das/rdb/src/test/resources/PartsConfig.xml | 27 - .../resources/basicCompanyDepartmentMapping.xml | 36 - .../rdb/src/test/resources/basicCompanyMapping.xml | 22 - .../src/test/resources/basicCustomerMapping.xml | 25 - .../test/resources/basicCustomerMappingWithCUD.xml | 28 - .../basicCustomerMappingWithInvalidCUD.xml | 28 - .../test/resources/basicCustomerOrderMapping.xml | 32 - .../rdb/src/test/resources/basicStaticCustomer.xml | 25 - .../java/das/rdb/src/test/resources/cityStates.xml | 37 - .../java/das/rdb/src/test/resources/company.ecore | 130 - .../das/rdb/src/test/resources/company.genmodel | 38 - .../java/das/rdb/src/test/resources/company.xsd | 53 - .../das/rdb/src/test/resources/companyMapping.xml | 39 - .../resources/companyMappingWithConverters.xml | 41 - .../java/das/rdb/src/test/resources/customer.ecore | 96 - .../das/rdb/src/test/resources/customer.genmodel | 32 - .../java/das/rdb/src/test/resources/customer.xsd | 47 - .../das/rdb/src/test/resources/customerMapping.xml | 25 - .../resources/customerOrderRelationshipMapping.xml | 31 - 191 files changed, 26925 deletions(-) delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ApplyChangesCommand.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandFactory.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroup.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroupFactory.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Converter.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Key.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Pager.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Parameter.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ResultSetShape.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/SDODataTypes.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/CudGenerator.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DefaultConverter.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/MultiTableRegistry.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetRow.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/RowObjects.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/SingleTableRegistry.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableData.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableRegistry.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ESchemaMaker.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ResultSetTypeMap.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Changes.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandFactoryImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupFactoryImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ConnectionImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CreateOperation.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DatabaseObject.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteList.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteOperation.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/FactoryRegistry.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertList.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/OptimisticWriteCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/PagerImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SDODataTypeHelper.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateList.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateOperation.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/merge/impl/GraphMerger.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/ConfigUtil.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DataObjectUtil.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugFormatter.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugUtil.java delete mode 100644 branches/java-M1/java/das/rdb/src/main/resources/META-INF/LICENSE.txt delete mode 100644 branches/java-M1/java/das/rdb/src/main/resources/META-INF/MANIFEST.MF delete mode 100644 branches/java-M1/java/das/rdb/src/main/resources/META-INF/NOTICE delete mode 100644 branches/java-M1/java/das/rdb/src/main/resources/META-INF/README.txt delete mode 100644 branches/java-M1/java/das/rdb/src/main/resources/config.xsd delete mode 100644 branches/java-M1/java/das/rdb/src/main/resources/dasmodel4.mdl delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedCommandTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedId.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/NameMappingTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OneToOneRelationshipTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OperationOrderingTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/Paging.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ReadDBSchemaTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SimplestCrud.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/StoredProcs.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TopDown.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersByLastnameCommand.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersCommand.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersStaticTypesCommand.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersWithShapeCommand.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/SimpleReadCustomersWithShapeCommand.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyFactory.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyType.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DatagraphRoot.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DepartmentType.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/EmployeeType.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyFactoryImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyPackageImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyTypeImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DatagraphRootImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DepartmentTypeImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/EmployeeTypeImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/AnOrder.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/Customer.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/CustomerFactory.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/DataGraphRoot.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/AnOrderImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerFactoryImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerPackageImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/DataGraphRootImpl.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/BookData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CityData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyDeptData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyEmpData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CustomerData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepEmpData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepartmentData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/EmployeeData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderDetailsData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/PartData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/StateData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DB2Setup.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DasTest.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DerbySetup.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/JavaStoredProcs.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/MySQLSetup.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/RelationshipData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestDataWithExplicitColumns.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/IntegerToBooleanConverter.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/SillyDateStringConverter.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToIntegerConverter.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToLongConverter.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDB2.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDerby.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsMySQL.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/typed/SimplestStaticCrud.java delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/1xM_mapping_no_cud.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/BooksConfig.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/CompanyConfig.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/CompanyEmployeeConfig.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/CustOrdersConnectionProps.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithConverter.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithIDConverter.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/CustomersOrdersConfig.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/OrdersOrderDetailsConfig.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/PartsConfig.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/basicCompanyDepartmentMapping.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/basicCompanyMapping.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMapping.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithCUD.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithInvalidCUD.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/basicCustomerOrderMapping.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/basicStaticCustomer.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/cityStates.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/company.ecore delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/company.genmodel delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/company.xsd delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/companyMapping.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/companyMappingWithConverters.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/customer.ecore delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/customer.genmodel delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/customer.xsd delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/customerMapping.xml delete mode 100644 branches/java-M1/java/das/rdb/src/test/resources/customerOrderRelationshipMapping.xml (limited to 'branches/java-M1/java/das/rdb/src') diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ApplyChangesCommand.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ApplyChangesCommand.java deleted file mode 100644 index 75f81ca1e3..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ApplyChangesCommand.java +++ /dev/null @@ -1,101 +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; - -import java.sql.Connection; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -/** - * An ApplyChangesCommand is used to flush the changes associated with a - * modified graph of DataObjects to a database. - * - * - */ -public interface ApplyChangesCommand { - - /** - * Adds a user-provided update command. In the absence of a user-provided - * command, the DAS will generate one. However this alternative may make - * sense if the user requires a SQL statement different from what the DAS - * generates. - * - * @param type - * The DataObject type this command applys to - * @param cmd - * The Command used to UPDATE data objects of the specified type - */ - public void addUpdateCommand(Type type, Command cmd); - - /** - * Adds a user-provided create command. In the absence of a user-provided - * command, the DAS will generate one. However this alternative may make - * sense if the user requires a SQL statement different from what the DAS - * generates. - * - * @param type - * The DataObject type this command applys to - * @param cmd - * The Command used to INSERT data objects of the specified type - */ - public void addCreateCommand(Type type, Command cmd); - - /** - * Adds a user-provided delete command. In the absence of a user-provided - * command, the DAS will generate one. However this alternative may make - * sense if the user requires a SQL statement different from what the DAS - * generates. - * - * @param type - * The DataObject type this command applys to - * @param cmd - * The Command used to DELETE data objects of the specified type - */ - public void addDeleteCommand(Type type, Command cmd); - - /** - * The change history is scanned and modifications to the graph of data - * objects are flushed to the database. - * - * @param root - * the topmost containing data object - */ - public void execute(DataObject root); - - /** - * Provides the java.sql.Connection to be used for this executing this - * command. - * - * @param connection - * the java.sql.Connection - */ - public void setConnection(Connection connection); - - /** - * Provides the java.sql.Connection to be used for this executing this - * command. - * - * @param connection - * the java.sql.Connection - * @param manageTransactions - * true if the DAS should perform tx - * commit/rollback - */ - public void setConnection(Connection connection, boolean manageTransactions); - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java deleted file mode 100644 index 37d67fd10c..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java +++ /dev/null @@ -1,222 +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; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.impl.CommandFactoryImpl; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -/** - * A Command is used to execute a read or write to a database - * - * - */ -public interface Command { - - public static CommandFactory FACTORY = new CommandFactoryImpl(); - - /** - * Performs the function defined by the command - */ - public void execute(); - - /** - * Performs the function defined by the command and return the results in - * the root DataObject - * - * @return the root DataObject - */ - public DataObject executeQuery(); - - /** - * Returns the parameter associated with "name" - * - * @param name - * the name of the parameter - * @return the associated parameter - */ - public Parameter getParameter(String name); - - /** - * Returns the Parameter at index - * - * @param index - * the index of the Parameter - * @return the associated Parameter - */ - public Parameter getParameter(int index); - - /** - * Sets the value of the named Parameter - * - * @param name - * the name of this Parameter - * @param value - * the value for the Parameter - */ - public void setParameterValue(String name, Object value); - - /** - * Sets the value of the associated Parameter - * - * @param index - * the index of the Parameter - * @param value - * the value for the Parameter - */ - public void setParameterValue(int index, Object value); - - /** - * Sets the "type" of the associated Parameter - * - * @param name - * the name of this Parameter - * @param type - * the SDODataTypes-defined "type" for the Parameter. - */ - public void setParameterType(String string, Type dataType); - - /** - * Sets the "type" of the associated Parameter - * - * @param index - * the index of the Parameter - * @param type - * the SDODataTypes-defined "type" for the Parameter. - */ - public void setParameterType(int index, Type dataType); - - /** - * Returns the value of the associated Parameter - * - * @param name - * the name of the Parameter - * @return the value of the Parameter - */ - public Object getParameterValue(String name); - - /** - * Returns the value of the associated Parameter - * - * @param index - * the index of the Parameter - * @return the value of the Parameter - */ - public Object getParameterValue(int index); - - /** - * Adds a Parameter to the command - * - * @param index - * the index of the parameter - * @param sdoType - * the commonj.sdo.Type of the Parameter - */ - public void addParameter(int index, Type sdoType); - - /** - * Adds a Parameter to the command - * - * @param name - * the index of the parameter - * @param sdoType - * the commonj.sdo.Type of the Parameter - */ - public void addParameter(String name, Type sdoType); - - /** - * Adds a Parameter to the command - * - * @param index - * the index of the parameter - * @param direction - * the direction of the Parameter. Either Parameter.IN, - * Parameter.OUT or Parameter.INOUT - * @param sdoType - * specifies the type as a commonj.sdo.Type from - * {@link SDODataTypes} - */ - public void addParameter(int index, int direction, Type sdoType); - - /** - * Adds a Parameter to the command - * - * @param name - * the name associated with the Parameter - * @param direction - * the direction of the Parameter. Either Parameter.IN, - * Parameter.OUT or Parameter.INOUT - * @param sdoType - * specifies the type as a commonj.sdo.Type from - * {@link SDODataTypes} - */ - public void addParameter(String name, int direction, Type sdoType); - - /** - * Specifies an object model for a graph of DataObjects returned by - * #executeQuery() - * - * @param schema - * the model as a commonj.sdo.Type - */ - public void setDataObjectModel(Type schema); - - /** - * Defines the structure of the ResultSet returned by the JDBC Driver when - * this command is executed. If the shape is not specified then the shape is - * taken from the ResultSetMetatadta instance provided by the JDBC Driver. - *

- * This method is prvided primarily to support platforms (such as Oracle) - * that do not provide complete support for ResultSetMetadata - * - * @param shape - * the specified result set shape - * @see ResultSetShape - */ - public void setResultSetShape(ResultSetShape shape); - - /** - * Provides the java.sql.Connection to be used for this executing this - * command. - * - * @param connection - * the java.sql.Connection - */ - public void setConnection(Connection connection); - - /** - * Provides the java.sql.Connection to be used for this executing this - * command. - * - * @param connection - * the java.sql.Connection - * @param manageTransactions - * true if the DAS should perform tx - * commit/rollback - */ - public void setConnection(Connection connection, boolean manageTransactions); - - /** - * Cleans up and realeases all resources associated with this command. This - * should be called when the application is done with this command. - */ - public void close(); - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandFactory.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandFactory.java deleted file mode 100644 index 2bf5e4143d..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandFactory.java +++ /dev/null @@ -1,93 +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; - -import java.io.IOException; -import java.io.InputStream; - -import org.apache.tuscany.das.rdb.config.Config; - -/** - * A CommandFactory produces {@link Command} and {@link ApplyChangesCommand} - * instances. - * - * - */ -public interface CommandFactory { - - /** - * Creates a Command based on the provided SQL statement - * - * @param sql - * The SQL statement - * @return returns a Command instance - */ - public Command createCommand(String sql); - - /** - * Creates a Command based on the provided SQL statement and configuration - * - * @param sql - * The SQL statement - * @param mappingModel - * The congiguration as XML file stream - * @return returns a COmmand instance - */ - public Command createCommand(String sql, InputStream config); - - /** - * Creates a Command based on the provided SQL statement and configuration - * - * @param sql - * The SQL statement - * @param config - * The congiguration as Config instance - * @return returns a COmmand instance - */ - public Command createCommand(String sql, Config config); - - /** - * Creates an {@linkApplyChangesCommand} instance - * - * @return Returns the ApplyChangesCommand instance - */ - public ApplyChangesCommand createApplyChangesCommand(); - - /** - * Creates an {@linkApplyChangesCommand} instance with the provided - * configuration - * - * @param config - * The provided configuration as a stream over an xml file - * @return Returns an ApplyChangesCOmmand in stance - * @throws IOException - */ - public ApplyChangesCommand createApplyChangesCommand(InputStream config) throws IOException; - - - /** - * Creates an {@linkApplyChangesCommand} instance with the provided - * configuration - * - * @param config - * The provided configuration as a Config instance - * @return Returns an ApplyChangesCommand in stance - * @throws IOException - */ - public ApplyChangesCommand createApplyChangesCommand(Config config); - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroup.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroup.java deleted file mode 100644 index c41f9dcfdc..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroup.java +++ /dev/null @@ -1,63 +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; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.impl.CommandGroupFactoryImpl; - -/** - * A CommandGroup represents a set of {@link Command} and single - * {@link ApplyChangesCommand} that are created from a common config file. - * - * - */ -public interface CommandGroup { - - public static CommandGroupFactory FACTORY = new CommandGroupFactoryImpl(); - - /** - * Return the ApplyChangesCommnad for this configured factory - * - * @return Returns an instance of ApplyChangesCommand - */ - public ApplyChangesCommand getApplyChangesCommand(); - - /** - * Gets the named command from this factory's inventory - * - * @param name - * The identifying name of the requested command - * @return Returns the identified command - */ - public Command getCommand(String name); - - /** - * Set the default connection for all command in the group - * - * @param connection - */ - public void setConnection(Connection connection); - - /** - * If the CommandGroup is managing connections then this method - * must be called when the client is done with the instance. - * - */ - public void releaseResources(); - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroupFactory.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroupFactory.java deleted file mode 100644 index dfcdd81823..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/CommandGroupFactory.java +++ /dev/null @@ -1,37 +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; - -import java.io.InputStream; - -/** - * A CommandGroupFactory produces {@link CommandGroup} instances. - * - * - */ -public interface CommandGroupFactory { - - /** - * Creates a CommandGroup based on the provided config file stream - * - * @param configStream - * A stream over a DAS config file - * @return returns a CommandGroup instance - */ - public CommandGroup createCommandGroup(InputStream configStream); - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java deleted file mode 100644 index c7357fbe09..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java +++ /dev/null @@ -1,67 +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; - -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; -import org.apache.tuscany.das.rdb.config.impl.ConfigFactoryImpl; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; - -/** - * A ConfigHelper is used as an aid in programmatic construction of Config instances. - * Manual contrution fo COnfig is an alternative to providing needed configuration - * information in an XML file - * - */public class ConfigHelper { - - private Config config; - - private MappingWrapper configWrapper; - - private ConfigFactory factory = ConfigFactoryImpl.eINSTANCE; - - public ConfigHelper() { - config = factory.createConfig(); - configWrapper = new MappingWrapper(config); - } - - public ConfigHelper(Config config) { - this.config = config; - configWrapper = new MappingWrapper(config); - } - - public Config newInstance() { - return factory.createConfig(); - } - - public void addPrimaryKey(String columnName) { - configWrapper.addPrimaryKey(columnName); - } - - public void addRelationship(String parentName, String childName) { - configWrapper.addRelationship(parentName, childName); - } - - public void addTable(String name, String propertyName) { - configWrapper.addTable(name, propertyName); - } - - public Config getConfig() { - return config; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Converter.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Converter.java deleted file mode 100644 index eb1ed24230..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Converter.java +++ /dev/null @@ -1,52 +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; - -/** - * A lightweight Table-column <--> DataObject-property converter framework. - * Converters allow a user to insert a transformation between a column value and - * is destination DataObject property value. For example, by default, a VARCHAR - * column will be represented as a String in its corresponding DataObject - * property. A user could insert a converter that transforms the the VARCHAR - * value to an Integer. If this is done then although the column returns - * character data, the DataObject property will be an Integer - * - * - */ -public interface Converter { - - /** - * Transform the columnData object to a new value and possibly new type. - * This should be the invers operation of #getColumnValue - * - * @param columnData - * The column value to transorm - * @return Returns the transformed value - */ - public Object getPropertyValue(Object columnData); - - /** - * Transform the columnData object to a new value and possibly new type. - * This should be the invers operation of #getPropertyValue - * - * @param propertyData - * The property value to transform - * @return Returns the transformed value - */ - public Object getColumnValue(Object propertyData); - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Key.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Key.java deleted file mode 100644 index 4622b2a8fb..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Key.java +++ /dev/null @@ -1,58 +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; - -import java.util.ArrayList; -import java.util.List; - -/** - * A key instance is used to describe a Table key definition. This is used - * primarily for compound keys since simple keys are described with a name. - * - * - */public class Key { - - private List columnNames = new ArrayList(); - - /** - * Contructor for a single column key - * @param columnName The single column fo rthe key - */ - public Key(String columnName) { - super(); - this.columnNames.add(columnName); - } - - /** - * Constructor for a compound key - * @param columns The array of column names that compose the key - */ - public Key(String[] columns) { - for (int i=0;i - * Explicit definition of type is required only for OUT parameters of stored - * procedures commands - * - * @param type - */ - public void setType(Type type); - - /** - * Set the index of the parameter. For example, if a SQL statement requires - * two parameters, the first one has an index of one. - * - * @param index - * The index of the parameter - */ - public void setIndex(int index); - - /** - * Sets the name of the parameter - * - * @param name - * the parameter name - */ - public void setName(String name); - - /** - * Sets the value of the parameter. All IN and IN_OUT parameters must be set - * beore a command can be executed. - * - * @param value - * The value for the parameter - */ - public void setValue(Object value); - - /** - * Parameters are typically IN and this is the default. A parameter's - * direction must be set when the parameter is OUT or IN_OUT. - * - * @param direction - * the parameters direction - */ - public void setDirection(int direction); - - /** - * TODO Not sure this method is needed. - * @param converter - */ - public void setConverter(Converter converter); - - /** - * @return the type of the paramater in terms of {@link SDODataTypes} - */ - public Type getType(); - - /** - * TODO Not sure this is is needed. - * @return - */ - public Converter getConverter(); - - /** - * @return the index of the parameter - */ - public int getIndex(); - - /** - * @return the name of the parameter - */ - public String getName(); - - /** - * @return the value of the parameter - */ - public Object getValue(); - - /** - * @return the direction of the parameter - */ - public int getDirection(); - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ResultSetShape.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ResultSetShape.java deleted file mode 100644 index 46838778d1..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ResultSetShape.java +++ /dev/null @@ -1,96 +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; - -import java.sql.ResultSetMetaData; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.graphbuilder.schema.ResultSetTypeMap; - -import commonj.sdo.Type; - -/** - * Describes the structure of the result set returned from execution - * of a SELECT statement. This description is typcially not required since the - * shape can be retreived from the JDBC ResultSetMetadata. However, some platforms - * such as Oracle do not support fully suport ResultSetMedata. - *

- * There may also be a performance boost when using this interface. - * - * - */ -public class ResultSetShape { - - private final String[] columns; - private final String[] tables; - private final Type[] types; - - public ResultSetShape(String[] t, String[] c, Type[] dataTypes) { - this.columns = c; - this.tables = t; - this.types = dataTypes; - } - - public ResultSetShape(ResultSetMetaData metadata) throws SQLException { - columns = new String[metadata.getColumnCount()]; - tables = new String[metadata.getColumnCount()]; - types = new Type[metadata.getColumnCount()]; - - ResultSetTypeMap typeMap = ResultSetTypeMap.instance; - for (int i = 1; i <= metadata.getColumnCount(); i++) { - tables[i-1] = metadata.getTableName(i); - columns[i-1] = metadata.getColumnName(i); - types[i-1] = typeMap.getType(metadata.getColumnType(i), true); - } - } - - public int getColumnCount() { - return columns.length; - } - - public String getTableName(int i) { - return tables[i-1]; - } - - public String getColumnName(int i) { - return columns[i-1]; - } - - public Type getColumnType(int i) { - return types[i-1]; - } - - - public String toString() { - StringBuffer result = new StringBuffer(); - result.append(" column/table/type: "); - for (int i=0; i < columns.length; i++) { - result.append(columns[i]); - result.append('\t'); - result.append(tables[i]); - result.append('\t'); - if ( types[i] == null ) - result.append("null"); - else - result.append(types[i].getName()); - result.append('\n'); - } - - return result.toString(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/SDODataTypes.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/SDODataTypes.java deleted file mode 100644 index 683d5092c7..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/SDODataTypes.java +++ /dev/null @@ -1,64 +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; - -import commonj.sdo.Type; -import commonj.sdo.helper.TypeHelper; - -/** - * Defines SDO data types. This is used primalirly to type stored procedure OUT parameters. - * - */public class SDODataTypes { - - static TypeHelper helper = TypeHelper.INSTANCE; - - final public static Type BOOLEAN = helper.getType("commonj.sdo", "Boolean"); - final public static Type BYTE = helper.getType("commonj.sdo", "Byte"); - final public static Type BYTES = helper.getType("commonj.sdo", "ByteArray"); - final public static Type CHARACTER = helper.getType("commonj.sdo", "Char"); - final public static Type DATE = helper.getType("commonj.sdo", "Date"); - final public static Type DATETIME = helper.getType("commonj.sdo", "Date"); - final public static Type DAY = helper.getType("commonj.sdo", "Date"); - final public static Type DECIMAL = helper.getType("commonj.sdo", "Float"); - final public static Type DOUBLE =helper.getType("commonj.sdo", "Double"); - final public static Type DURATION = helper.getType("commonj.sdo", "Date"); - final public static Type FLOAT = helper.getType("commonj.sdo", "Float"); - final public static Type INT = helper.getType("commonj.sdo", "Int"); - final public static Type INTEGER = helper.getType("commonj.sdo", "Integer"); - final public static Type LONG = helper.getType("commonj.sdo", "Long"); - final public static Type MONTH = helper.getType("commonj.sdo", "Date"); - final public static Type MONTHDAY = helper.getType("commonj.sdo", "Date"); - final public static Type OBJECT = helper.getType("commonj.sdo", "Object"); - final public static Type SHORT = helper.getType("commonj.sdo", "Short"); - final public static Type STRING = helper.getType("commonj.sdo", "String"); - final public static Type STRINGS = helper.getType("commonj.sdo", "String"); - final public static Type TIME = helper.getType("commonj.sdo", "Date"); - final public static Type URI = helper.getType("commonj.sdo", "String"); - final public static Type YEAR = helper.getType("commonj.sdo", "Date"); - final public static Type YEARMONTH = helper.getType("commonj.sdo", "Date"); - final public static Type YEARMONTHDAY = helper.getType("commonj.sdo", "Date"); - final public static Type BOOLEANOBJECT = helper.getType("commonj.sdo", "BooleanObject"); - final public static Type BYTEOBJECT = helper.getType("commonj.sdo", "ByteObject"); - final public static Type CHARACTEROBJECT = helper.getType("commonj.sdo", "CharacterObject"); - final public static Type DOUBLEOBJECT = helper.getType("commonj.sdo", "DoubleObject"); - final public static Type FLOATOBJECT = helper.getType("commonj.sdo", "FloatObject"); - final public static Type INTEGEROBJECT = helper.getType("commonj.sdo", "IntObject"); - final public static Type LONGOBJECT = helper.getType("commonj.sdo", "LongObject"); - final public static Type SHORTOBJECT = helper.getType("commonj.sdo", "ShortObject"); - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java deleted file mode 100644 index b9c4dae0be..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java +++ /dev/null @@ -1,411 +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.config.wrapper; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.Key; -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; -import org.apache.tuscany.das.rdb.config.KeyPair; -import org.apache.tuscany.das.rdb.config.Relationship; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.impl.ConfigFactoryImpl; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.Property; - -public class MappingWrapper { - - private static final ConfigFactory factory = ConfigFactoryImpl.eINSTANCE; - - private static final boolean debug = false; - - private Config config; - - public MappingWrapper() { - // Empty Constructor - } - - public MappingWrapper(Config mapping) { - this.config = mapping; - } - - public Config getConfig() { - return this.config; - } - - public Table getTable(String name) { - if (config == null) - return null; - DebugUtil.debugln(getClass(), debug, "Looking for table " + name); - Iterator i = config.getTable().iterator(); - while (i.hasNext()) { - Table t = (Table) i.next(); - if (name.equals(t.getName())) - return t; - } - - return null; - } - - public Table getTableByPropertyName(String name) { - if (config == null) - return null; - DebugUtil.debugln(getClass(), debug, "Looking for table by property: " + name); - Iterator i = config.getTable().iterator(); - while (i.hasNext()) { - Table t = (Table) i.next(); - TableWrapper wrapper = new TableWrapper(t); - if (name.equals(wrapper.getPropertyName())) - return t; - } - return null; - - // throw new RuntimeException("Table with property name " + name - // + " not found."); - - } - - public void addRelationship(String parentName, String childName) { - - if (config == null) - config = factory.createConfig(); - - QualifiedColumn parent = new QualifiedColumn(parentName); - QualifiedColumn child = new QualifiedColumn(childName); - - Relationship r = factory.createRelationship(); - r.setName(child.getTableName()); - r.setPrimaryKeyTable(parent.getTableName()); - r.setForeignKeyTable(child.getTableName()); - DebugUtil.debugln(getClass(), debug, "Created relationship from " + r.getPrimaryKeyTable() + " to " - + r.getForeignKeyTable() + " named " + r.getName()); - - KeyPair pair = factory.createKeyPair(); - pair.setPrimaryKeyColumn(parent.getColumnName()); - pair.setForeignKeyColumn(child.getColumnName()); - - r.getKeyPair().add(pair); - r.setMany(true); - - config.getRelationship().add(r); - - } - - public void addRelationship(Key parentKey, Key childKey) { - - if (config == null) - config = factory.createConfig(); - - QualifiedColumn parent = new QualifiedColumn((String) parentKey.getColumNames().get(0)); - QualifiedColumn child = new QualifiedColumn((String) childKey.getColumNames().get(0)); - - Relationship r = factory.createRelationship(); - r.setName(child.getTableName()); - r.setPrimaryKeyTable(parent.getTableName()); - r.setForeignKeyTable(child.getTableName()); - DebugUtil.debugln(getClass(), debug, "Created relationship from " + r.getPrimaryKeyTable() + " to " - + r.getForeignKeyTable() + " named " + r.getName()); - - Iterator i = parentKey.getColumNames().iterator(); - Iterator j = childKey.getColumNames().iterator(); - while (i.hasNext() && j.hasNext()) { - parent = new QualifiedColumn((String) i.next()); - child = new QualifiedColumn((String) j.next()); - KeyPair pair = factory.createKeyPair(); - pair.setPrimaryKeyColumn(parent.getColumnName()); - pair.setForeignKeyColumn(child.getColumnName()); - - r.getKeyPair().add(pair); - } - r.setMany(true); - config.getRelationship().add(r); - - } - - public void addPrimaryKey(String columnName) { - Key k = new Key(columnName); - addPrimaryKey(k, false); - } - - public void addPrimaryKey(Key key) { - addPrimaryKey(key, false); - } - - public void addGeneratedPrimaryKey(String columnName) { - Key key = new Key(columnName); - addPrimaryKey(key, true); - } - - private void addPrimaryKey(Key key, boolean generated) { - if (config == null) - config = factory.createConfig(); - - Iterator i = key.getColumNames().iterator(); - while (i.hasNext()) { - String columnName = (String) i.next(); - - QualifiedColumn pkColumn = new QualifiedColumn(columnName); - Table t = findOrCreateTable(pkColumn.getTableName()); - Column c = findOrCreateColumn(t, pkColumn.getColumnName()); - c.setPrimaryKey(true); - if (generated) - c.setGenerated(true); - } - } - - public String getTablePropertyName(String tableName) { - Table t = getTable(tableName); - if (t == null) - return tableName; - String propertyName = t.getPropertyName(); - - if (propertyName == null) - return tableName; - - return propertyName; - } - - public Column getColumn(Table t, String name) { - if (t == null) - return null; - Iterator i = t.getColumn().iterator(); - while (i.hasNext()) { - Column c = (Column) i.next(); - if (c.getName().equals(name)) { - return c; - } - } - DebugUtil - .debugln(getClass(), debug, "WARNING: Could not find column " + name + " in table " + t.getName()); - return null; - } - - public Column getColumnByPropertyName(Table t, String propertyName) { - if (t == null) - return null; - Iterator i = t.getColumn().iterator(); - while (i.hasNext()) { - Column c = (Column) i.next(); - if (c.getName().equals(propertyName)) - return c; - if (c.getPropertyName() != null && c.getPropertyName().equals(propertyName)) - return c; - } - DebugUtil.debugln(getClass(), debug, "WARNING: Could not find column " + propertyName + " in table " - + t.getName()); - return null; - } - - public String getColumnPropertyName(String tableName, String columnName) { - Table t = getTable(tableName); - Column c = getColumn(t, columnName); - if (c == null) - return columnName; - - String propertyName = c.getPropertyName(); - if (propertyName == null) - return c.getName(); - - return propertyName; - } - - public void addCollisionColumn(String columnName) { - - if (config == null) - config = factory.createConfig(); - - QualifiedColumn occColumn = new QualifiedColumn(columnName); - Table t = findOrCreateTable(occColumn.getTableName()); - Column c = findOrCreateColumn(t, occColumn.getColumnName()); - c.setCollision(true); - - config.getTable().add(t); - } - - public void addTable(String tableName, String propertyName) { - Table table = getTable(tableName); - if (table != null) - throw new Error("Table " + tableName + "already exists"); - - table = ConfigFactoryImpl.eINSTANCE.createTable(); - table.setName(tableName); - table.setPropertyName(propertyName); - config.getTable().add(table); - - } - - private Table findOrCreateTable(String tableName) { - Table table = getTable(tableName); - if (table == null) { - table = ConfigFactoryImpl.eINSTANCE.createTable(); - table.setName(tableName); - config.getTable().add(table); - } - return table; - - } - - private Column findOrCreateColumn(Table t, String name) { - Iterator i = t.getColumn().iterator(); - while (i.hasNext()) { - Column c = (Column) i.next(); - if (name.equals(c.getName())) - return c; - } - - Column c = ConfigFactoryImpl.eINSTANCE.createColumn(); - c.setName(name); - t.getColumn().add(c); - return c; - } - - public boolean hasRecursiveRelationships() { - if (config != null) { - Iterator i = getConfig().getRelationship().iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - if (r.getPrimaryKeyTable().equals(r.getForeignKeyTable())) - return true; - } - } - return false; - } - - public Collection getRelationshipsByChildTable(String name) { - ArrayList results = new ArrayList(); - if (config != null) { - Iterator i = getConfig().getRelationship().iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - if (name.equals(r.getForeignKeyTable())) - results.add(r); - } - } - return results; - } - - // TODO optimize - public ArrayList getInsertOrder() { - DebugUtil.debugln(getClass(), debug, "Getting insert order"); - ArrayList inserts = new ArrayList(); - HashMap parentToChild = new HashMap(); - - ArrayList parents = new ArrayList(); - ArrayList children = new ArrayList(); - if (config != null) { - Iterator i = getConfig().getRelationship().iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - parents.add(r.getPrimaryKeyTable()); - children.add(r.getForeignKeyTable()); - parentToChild.put(r.getPrimaryKeyTable(), r.getForeignKeyTable()); - } - - while (parents.size() > 0) { - String parent = (String) parents.get(0); - if (!children.contains(parent)) { - if (!inserts.contains(parent)) - inserts.add(parent); - - String child = (String) parentToChild.get(parent); - if (!inserts.contains(child)) - inserts.add(child); - - parents.remove(parent); - children.remove(child); - } else { - parents.add(parents.remove(0)); - } - } - inserts.addAll(children); - - } - - DebugUtil.debugln(getClass(), debug, inserts); - return inserts; - } - - public ArrayList getDeleteOrder() { - ArrayList deleteOrder = new ArrayList(); - deleteOrder.addAll(getInsertOrder()); - Collections.reverse(deleteOrder); - return deleteOrder; - } - - public void addConverter(String name, String converter) { - if (config == null) - config = factory.createConfig(); - - QualifiedColumn column = new QualifiedColumn(name); - Table t = findOrCreateTable(column.getTableName()); - Column c = findOrCreateColumn(t, column.getColumnName()); - c.setConverterClassName(converter); - - } - - public String getConverter(String tableName, String columnName) { - Table t = getTable(tableName); - Column c = getColumn(t, columnName); - if (c != null) - return c.getConverterClassName(); - return null; - } - - public HashMap getConverters(Table table) { - HashMap converters = new HashMap(); - - Iterator columns = table.getColumn().iterator(); - while (columns.hasNext()) { - Column c = (Column) columns.next(); - if (c.getConverterClassName() != null) { - String property = c.getPropertyName(); - if (property == null) - property = c.getName(); - converters.put(property, c.getConverterClassName()); - } - } - return converters; - } - - public Relationship getRelationshipByReference(Property ref) { - Iterator i = config.getRelationship().iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - if (ref.getName().equals(r.getName()) || ref.getOpposite().getName().equals(r.getName())) - return r; - } - throw new RuntimeException("Could not find relationship " + ref.getName() + " in the configuration"); - } - - public Relationship getRelationshipByName(String name) { - Iterator i = config.getRelationship().iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - if (name.equals(r.getName())) - return r; - } - throw new RuntimeException("Could not find relationship " + name + " in the configuration"); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java deleted file mode 100644 index 6babe0c349..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java +++ /dev/null @@ -1,41 +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.config.wrapper; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - -public class QualifiedColumn { - - private final String tableName; - private final String columnName; - private static boolean debug = false; - - public QualifiedColumn(String name) { - tableName = name.substring(0, name.indexOf('.')); - columnName = name.substring(name.indexOf('.') + 1); - DebugUtil.debugln(getClass(), debug, tableName); - DebugUtil.debugln(getClass(), debug, columnName); - } - - public String getTableName() { - return this.tableName; - } - - public String getColumnName() { - return this.columnName; - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java deleted file mode 100644 index 14403367d8..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java +++ /dev/null @@ -1,44 +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.config.wrapper; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.config.KeyPair; -import org.apache.tuscany.das.rdb.config.Relationship; - -public class RelationshipWrapper { - - private Relationship relationship; - - public RelationshipWrapper(Relationship r) { - this.relationship = r; - } - - public Collection getForeignKeys() { - ArrayList keys = new ArrayList(); - Iterator i = this.relationship.getKeyPair().iterator(); - while ( i.hasNext()) { - KeyPair pair = (KeyPair) i.next(); - keys.add(pair.getForeignKeyColumn()); - } - return keys; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java deleted file mode 100644 index 2c2d1dc677..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java +++ /dev/null @@ -1,124 +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.config.wrapper; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Table; - -public class TableWrapper { - - private Table table; - - public TableWrapper(Table table) { - this.table = table; - } - - public String getPropertyName() { - return table.getPropertyName() == null ? table.getName() : table - .getPropertyName(); - } - - public Collection getPrimaryKeyNames() { - ArrayList pkNames = new ArrayList(); - Iterator i = table.getColumn().iterator(); - while (i.hasNext()) { - Column c = (Column) i.next(); - if (c.isPrimaryKey()) - pkNames.add(c.getName()); - } - return pkNames; - } - - public Collection getPrimaryKeyProperties() { - - ArrayList keyProperties = new ArrayList(); - Iterator columns = table.getColumn().iterator(); - while (columns.hasNext()) { - Column c = (Column) columns.next(); - if (c.isPrimaryKey()) { - keyProperties.add(getColumnPropertyName(c)); - } - } - - return keyProperties; - } - - private String getColumnPropertyName(Column c) { - if (c.getPropertyName() != null) - return c.getPropertyName(); - else - return c.getName(); - } - - public boolean isGeneratedColumnProperty(String name) { - Column c = getColumnByPropertyName(name); - return c == null ? false : c.isGenerated(); - } - - // public Object getColumnNameByProperty(String propertyName) { - // Iterator i = table.getColumn().iterator(); - // while (i.hasNext()) { - // Column c = (Column) i.next(); - // if (propertyName.equals(c.getPropertyName())) - // return c.getName(); - // } - // return propertyName; - // } - - public String getConverter(String propertyName) { - Column c = getColumnByPropertyName(propertyName); - return (c == null) ? null : c.getConverterClassName(); - } - - public Column getColumnByPropertyName(String propertyName) { - Iterator columns = table.getColumn().iterator(); - while (columns.hasNext()) { - Column c = (Column) columns.next(); - String property = c.getPropertyName(); - if (property == null) - property = c.getName(); - if (propertyName.equals(property)) - return c; - } - - return null; - } - - public Column getCollisionColumn() { - Iterator columns = table.getColumn().iterator(); - while (columns.hasNext()) { - Column c = (Column) columns.next(); - if ( c.isCollision() ) - return c; - } - - return null; - - } - - public String getCollisionColumnPropertyName() { - Column c = getCollisionColumn(); - if ( c.getPropertyName() != null ) - return c.getPropertyName(); - else - return c.getName(); - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/CudGenerator.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/CudGenerator.java deleted file mode 100644 index 411104fa3f..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/CudGenerator.java +++ /dev/null @@ -1,64 +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.generator.impl; - -import java.util.Collection; - -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.impl.DeleteCommandImpl; -import org.apache.tuscany.das.rdb.impl.InsertCommandImpl; -import org.apache.tuscany.das.rdb.impl.UpdateCommandImpl; - -import commonj.sdo.DataObject; - -public class CudGenerator { - - private static final UpdateGenerator updateGenerator = UpdateGenerator.instance; - - private static final InsertGenerator insertGenerator = InsertGenerator.instance; - - private static final DeleteGenerator deleteGenerator = DeleteGenerator.instance; - - public DeleteCommandImpl getDeleteCommand(Table t) { - return deleteGenerator.getDeleteCommand(t); - } - - public Collection getDeleteParameters(Table table) { - return deleteGenerator.getDeleteParameters(table); - } - - public Collection getCreateParameters(MappingWrapper mapping, DataObject changedObject, Table table) { - return insertGenerator.getInsertParameters(mapping, changedObject, table); - } - - public InsertCommandImpl getInsertCommand(MappingWrapper mapping, DataObject changedObject, - Table table) { - return insertGenerator.getInsertCommand(mapping, changedObject, table); - } - - public UpdateCommandImpl getUpdateCommand(MappingWrapper mapping, - DataObject changedObject, Table table) { - return updateGenerator.getUpdateCommand(mapping, changedObject, table); - } - - public Collection getUpdateParameters(DataObject changedObject, Table table) { - return updateGenerator.getUpdateParameters(changedObject, table); - } - -} - diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java deleted file mode 100644 index c2d312b56d..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java +++ /dev/null @@ -1,98 +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.generator.impl; - -import java.util.Collection; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.Converter; -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper; -import org.apache.tuscany.das.rdb.impl.DeleteCommandImpl; -import org.apache.tuscany.das.rdb.impl.ParameterImpl; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -public class DeleteGenerator { - - public static final DeleteGenerator instance = new DeleteGenerator(); - - private static final boolean debug = false; - - public DeleteGenerator() { - super(); - } - - public String getDeleteStatement(Table t) { - TableWrapper table = new TableWrapper(t); - - StringBuffer statement = new StringBuffer(); - statement.append("delete from "); - statement.append(t.getName()); - statement.append(" where "); - - Iterator names = table.getPrimaryKeyNames().iterator(); - Iterator properties = table.getPrimaryKeyProperties().iterator(); - while (names.hasNext() && properties.hasNext()) { - String name = (String) names.next(); - statement.append(name); - statement.append(" = ?"); - if (names.hasNext() && properties.hasNext()) - statement.append(" and "); - } - - DebugUtil.debugln(getClass(), debug, statement.toString()); - return statement.toString(); - } - - public Collection getDeleteParameters(Table table) { - TableWrapper wrapper = new TableWrapper(table); - return wrapper.getPrimaryKeyProperties(); - } - - public DeleteCommandImpl getDeleteCommand(Table t) { - DeleteCommandImpl deleteCommand = new DeleteCommandImpl(getDeleteStatement(t)); - - Iterator i = getDeleteParameters(t).iterator(); - for(int idx=1; i.hasNext(); idx++) { - String property = (String) i.next(); - Parameter p = new ParameterImpl(); - p.setName(property); - p.setType(SDODataTypes.OBJECT); - p.setConverter(getConverter(t, property)); - p.setIndex(idx); - deleteCommand.addParameter(p); - } - return deleteCommand; - } - - private Converter getConverter(Table t, String name) { - TableWrapper tw = new TableWrapper(t); - String converter = tw.getConverter(name); - if ( converter != null ) { - try { - return (Converter) Class.forName(converter).newInstance(); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - return null; - } - -} - diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java deleted file mode 100644 index 5653b23aa2..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java +++ /dev/null @@ -1,179 +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.generator.impl; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import org.apache.tuscany.das.rdb.Converter; -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.config.Relationship; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.RelationshipWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper; -import org.apache.tuscany.das.rdb.impl.InsertCommandImpl; -import org.apache.tuscany.das.rdb.impl.ParameterImpl; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; - -public class InsertGenerator { - - public static final InsertGenerator instance = new InsertGenerator(); - - private static final boolean debug = false; - - public InsertGenerator() { - super(); - } - - public InsertCommandImpl getInsertCommand(MappingWrapper config, - DataObject changedObject, Table t) { - ArrayList parameters = new ArrayList(); - TableWrapper table = new TableWrapper(t); - StringBuffer statement = new StringBuffer("insert into "); - statement.append(t.getName()); - - Iterator i = getAttributeProperties(changedObject, config).iterator(); - - ArrayList attributes = new ArrayList(); - while (i.hasNext()) { - Property attr = (Property) i.next(); - if (!table.isGeneratedColumnProperty(attr.getName())) { - attributes.add(attr.getName()); - parameters.add(changedObject.getType().getProperty( - attr.getName())); - } - } - - statement.append("("); - Iterator attrs = attributes.iterator(); - while (attrs.hasNext()) { - String name = (String) attrs.next(); - statement.append(""); - statement.append(name); - if (attrs.hasNext()) - statement.append(", "); - else - statement.append(")"); - } - - statement.append(" values ("); - for (int idx = 1; idx <= attributes.size(); idx++) { - statement.append('?'); - if (idx < attributes.size()) - statement.append(", "); - else - statement.append(")"); - } - - InsertCommandImpl cmd = new InsertCommandImpl(statement.toString()); - Iterator params = parameters.iterator(); - for (int idx = 1; params.hasNext(); idx++) { - Property property = (Property) params.next(); - Parameter p = new ParameterImpl(); - p.setName(property.getName()); - p.setType(property.getType()); - p.setConverter(getConverter(table, property.getName())); - p.setIndex(idx); - cmd.addParameter(p); - - } - DebugUtil.debugln(getClass(), debug, statement.toString()); - return cmd; - - } - - private Converter getConverter(TableWrapper tw, String name) { - String converter = tw.getConverter(name); - if ( converter != null ) { - try { - return (Converter) Class.forName(converter).newInstance(); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - return null; - } - - private List getAttributeProperties(DataObject obj, MappingWrapper config) { - ArrayList fields = new ArrayList(); - Iterator i = obj.getType().getProperties().iterator(); - while (i.hasNext()) { - Property p = (Property) i.next(); - if (p.getType().isDataType()) { - if (obj.isSet(p)) - fields.add(p); - } else { - if ( obj.isSet(p) ) { - Relationship relationship = config.getRelationshipByReference(p); - if ( p.getOpposite().isMany() || (hasState(config, relationship, obj))) { - RelationshipWrapper r = new RelationshipWrapper( - relationship); - Iterator keys = r.getForeignKeys().iterator(); - while (keys.hasNext()) { - String key = (String) keys.next(); - Property keyProp = obj.getType().getProperty(key); - fields.add(keyProp); - } - } - - } - } - } - - return fields; - - } - - public Collection getInsertParameters(MappingWrapper config, - DataObject changedObject, Table table) { - ArrayList parameters = new ArrayList(); - TableWrapper wrapper = new TableWrapper(table); - - Iterator i = getAttributeProperties(changedObject, config).iterator(); - - while (i.hasNext()) { - Property attr = (Property) i.next(); - if (!wrapper.isGeneratedColumnProperty(attr.getName())) - parameters.add(changedObject.getType().getProperty( - attr.getName())); - } - - return parameters; - } - - private boolean hasState(MappingWrapper config, Relationship rel, DataObject changedObject) { - - if ( !rel.isMany()) { - Table t = config.getTableByPropertyName(changedObject.getType().getName()); - TableWrapper tw = new TableWrapper(t); - RelationshipWrapper rw = new RelationshipWrapper(rel); - if (( rel.getForeignKeyTable().equals(t.getName())) && - ( Collections.disjoint(tw.getPrimaryKeyProperties(),rw.getForeignKeys()) )) - return true; - } - - return false; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java deleted file mode 100644 index 3243ba2388..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java +++ /dev/null @@ -1,206 +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.generator.impl; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -import org.apache.tuscany.das.rdb.Converter; -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.RelationshipWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper; -import org.apache.tuscany.das.rdb.impl.OptimisticWriteCommandImpl; -import org.apache.tuscany.das.rdb.impl.ParameterImpl; -import org.apache.tuscany.das.rdb.impl.UpdateCommandImpl; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.ChangeSummary; -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.Type; - -public class UpdateGenerator { - - private boolean debug = false; - - public static UpdateGenerator instance = new UpdateGenerator(); - - public UpdateGenerator() { - super(); - } - - public UpdateCommandImpl getUpdateCommand(MappingWrapper mapping, DataObject changedObject, Table table) { - ArrayList parameters = new ArrayList(); - Type type = changedObject.getType(); - TableWrapper t = new TableWrapper(table); - StringBuffer statement = new StringBuffer("update "); - statement.append(table.getName()); - statement.append(" set "); - - - ChangeSummary summary = changedObject.getDataGraph().getChangeSummary(); - Iterator i = getChangedFields(mapping, summary, changedObject).iterator(); - - while (i.hasNext()) { - Property attr = (Property) i.next(); - Column c = t.getColumnByPropertyName(attr.getName()); - if ((c != null) && (c.isCollision() || c.isPrimaryKey())) { - // get rid of comma if OCC or PK is last field - if (!i.hasNext()) { - statement - .delete(statement.length() - 2, statement.length()); - } - } else { - parameters.add(attr); - statement.append(c == null ? attr.getName() : c.getName()); - statement.append(" = ?"); - if (i.hasNext()) - statement.append(", "); - } - } - - statement.append(" where "); - - Iterator names = t.getPrimaryKeyNames().iterator(); - Iterator properties = t.getPrimaryKeyProperties().iterator(); - while (names.hasNext() && properties.hasNext()) { - String name = (String) names.next(); - String property = (String) properties.next(); - statement.append(name); - statement.append(" = ?"); - if (names.hasNext() && properties.hasNext()) - statement.append(" and "); - parameters.add(type.getProperty(property)); - } - - if (t.getCollisionColumn() != null) { - statement.append(" and "); - statement.append(t.getCollisionColumn().getName()); - statement.append(" = ?"); - parameters.add(type.getProperty(t.getCollisionColumnPropertyName())); - } - - - UpdateCommandImpl updateCommand; - if ( t.getCollisionColumn() != null ) - updateCommand = new OptimisticWriteCommandImpl(statement.toString()); - else - updateCommand = new UpdateCommandImpl(statement.toString()); - - Iterator params = parameters.iterator(); - for (int idx = 1; params.hasNext(); idx++ ) { - Property p = (Property)params.next(); - Parameter param = new ParameterImpl(); - param.setName(p.getName()); - param.setType(p.getType()); - param.setConverter(getConverter(t, p.getName())); - param.setIndex(idx); - updateCommand.addParameter(param); - } - DebugUtil.debugln(getClass(), debug, statement.toString()); - return updateCommand; - } - - private List getAttributeProperties(DataObject obj) { - ArrayList fields = new ArrayList(); - Iterator i = obj.getType().getProperties().iterator(); - while ( i.hasNext() ) { - Property p = (Property) i.next(); - if ( p.getType().isDataType()) - fields.add(p); - } - return fields; - } - - - private List getChangedFields(MappingWrapper mapping, ChangeSummary summary, DataObject obj) { - ArrayList changes = new ArrayList(); - Iterator i = summary.getOldValues(obj).iterator(); - while (i.hasNext()) { - ChangeSummary.Setting setting = (ChangeSummary.Setting) i.next(); - if (setting.getProperty().getType().isDataType()) { - changes.add(setting.getProperty()); - } else { - Property ref = setting.getProperty(); - if ( !ref.isMany() ) { - RelationshipWrapper r = new RelationshipWrapper(mapping.getRelationshipByReference(ref)); - - Iterator keys = r.getForeignKeys().iterator(); - while ( keys.hasNext()) { - String key = (String) keys.next(); - Property p = obj.getType().getProperty(key); - changes.add(p); - } - } - - } - } - return changes; - } - - - private Converter getConverter(TableWrapper tw, String name) { - String converter = tw.getConverter(name); - if ( converter != null ) { - try { - return (Converter) Class.forName(converter).newInstance(); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - return null; - } - - public Collection getUpdateParameters(DataObject changedObject, Table table) { - Type type = changedObject.getType(); - TableWrapper wrapper = new TableWrapper(table); - Collection pkNames = wrapper.getPrimaryKeyProperties(); - ArrayList parameters = new ArrayList(); - ArrayList pkParams = new ArrayList(); - - Iterator i = getAttributeProperties(changedObject).iterator(); - while (i.hasNext()) { - Property attr = (Property) i.next(); - String field = attr.getName(); - - Parameter p = getParameter(wrapper, type.getProperty(field)); - if (pkNames.contains(field)) { - pkParams.add(p); - } else { - parameters.add(p); - } - } - parameters.addAll(pkParams); - return parameters; - - } - - private Parameter getParameter(TableWrapper wrapper, Property property) { - Parameter param = new ParameterImpl(); - param.setName(property.getName()); - param.setType(property.getType()); - param.setConverter(getConverter(wrapper, property.getName())); - - return param; - } -} - diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java deleted file mode 100644 index 2d58c0f269..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java +++ /dev/null @@ -1,120 +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.graphbuilder.impl; - -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.Type; -import commonj.sdo.helper.DataFactory; - -public class DataObjectMaker { - - private final DataObject rootObject; - - private boolean debug = false; - - public DataObjectMaker(DataObject root) { - this.rootObject = root; - } - - /** - * @param tableData - * @return - */ - public DataObject createAndAddDataObject(TableData tableData, - ResultMetadata resultMetadata) { - // Get a Type from the package and create a standalone DataObject - - DebugUtil.debugln(getClass(), this.debug, "Looking for Type for " - + tableData.getTableName()); - - Type tableClass = findTableTypeByPropertyName(tableData.getTableName()); - - if (tableClass == null) - throw new RuntimeException("An SDO Type with name " - + tableData.getTableName() + " was not found"); - - DataObject obj = DataFactory.INSTANCE.create(tableClass); - - // Now, check to see if the root data object has a containment reference - // to this EClass. If so, add it to the graph. If not, it will be taken - // care - // of when we process relationships - - Iterator i = this.rootObject.getType().getProperties().iterator(); - while (i.hasNext()) { - Property p = (Property) i.next(); - - if (p.isContainment() && p.getType().equals(tableClass)) { - if (p.isMany()) - rootObject.getList(p).add(obj); - // TODO This was a performance optimization for EMF in SDO 1.1, - // check to see if there is - // something equivalent in SDO 2.0 - // ((InternalEList) this.dataGraph.eGet(ref)).addUnique(obj); - else - this.rootObject.set(p, obj); - } - - } - - Iterator columnNames = resultMetadata.getColumnNames( - tableData.getTableName()).iterator(); - while (columnNames.hasNext()) { - String columnName = (String) columnNames.next(); - DataObject dataObject = (DataObject) obj; - Property p = findProperty(dataObject.getType(), columnName); - Object value = tableData.getColumnData(columnName); - - dataObject.set(p, value); - } - - return obj; - } - - // temporary, ignoring case - private Property findProperty(Type type, String columnName) { - Iterator properties = type.getProperties().iterator(); - while (properties.hasNext()) { - Property p = (Property) properties.next(); - if (columnName.equalsIgnoreCase(p.getName())) - return p; - } - return null; - } - - private Type findTableTypeByPropertyName(String tableName) { - Iterator i = rootObject.getType().getProperties().iterator(); - while (i.hasNext()) { - Property p = (Property) i.next(); - // System.out.println(p.getType().getName()); - if (tableName.equals(p.getType().getName())) - return p.getType(); - } - - return null; - } - - private Type findTableTypeByRootReference(String refName) { - return rootObject.getProperty(refName).getType(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DefaultConverter.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DefaultConverter.java deleted file mode 100644 index 54c536d95c..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DefaultConverter.java +++ /dev/null @@ -1,91 +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.graphbuilder.impl; - -import java.sql.Blob; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.Converter; - - -public class DefaultConverter implements Converter { - - public DefaultConverter() { - super(); - } - - public Object getColumnValue(Object data) { - return data; - } - - public Object getPropertyValue(Object data) { -// if (type.isInstance(data)) -// return data; -// -// if ( data == null ) -// return null; -// -// String name = type.getInstanceClass().getName(); -// if (name == "java.lang.Byte" || name == "byte") { -// return new Byte(data.toString()); -// } -// -// else if (name == "java.lang.Double" || name == "double") { -// return new Double(data.toString()); -// } -// -// else if (name == "java.lang.Float" || name == "float") { -// return new Float(data.toString()); -// } -// -// else if (name == "java.lang.Integer" || name == "int") { -// return new Integer(data.toString()); -// } -// -// else if (name == "java.lang.Long" || name == "long") { -// return new Long(data.toString()); -// } -// -// else if (name == "java.lang.Short" || name == "short") { -// return new Short(data.toString()); -// } -// -// else if (name == "java.lang.String") { -// return String.valueOf(data.toString()); -// } - - if ( data instanceof Blob ) { - Blob b = (Blob) data; - try { - return b.getBytes(1, (int)b.length()); - } catch (SQLException e) { - throw new RuntimeException(e); - } - } else { - return data; - } - - - -// else { -// -// throw new IllegalArgumentException("The database value of type " -// + data.getClass().getName() + " must be converted to type " -// + type.getInstanceClass().getName()); -// } - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java deleted file mode 100644 index 6247dea757..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java +++ /dev/null @@ -1,98 +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.graphbuilder.impl; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.ResultSetShape; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.graphbuilder.schema.ESchemaMaker; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.Type; - - -/** - */ -public class GraphBuilderMetadata { - - private Config mappingModel; - private final Collection resultSets = new ArrayList(); - private boolean debug = false; - private Type schema; - - - public GraphBuilderMetadata(Collection results, Type schema, Config model, ResultSetShape shape) throws SQLException { - this.mappingModel = model; - this.schema = schema; - - Iterator i = results.iterator(); - while (i.hasNext()) { - ResultSet rs = (ResultSet) i.next(); - ResultMetadata resultMetadata = new ResultMetadata(rs, mappingModel, shape); - resultSets.add(resultMetadata); - } - - DebugUtil.debugln(getClass(), debug, "Mapping model: " + mappingModel); - } - - - public Collection getResultMetadata() { - return this.resultSets; - } - - - public boolean hasMappingModel() { - return mappingModel == null ? false : true; - } - - - /** - * @return - */ - - public Collection getRelationships() { - if (!hasMappingModel()) { - DebugUtil.debugln(getClass(), debug, "No relationships to return"); - return Collections.EMPTY_LIST; - } - - return mappingModel.getRelationship(); - } - - - /** - * @return - */ - public Type getSchema() { - if ( this.schema == null ) { - ESchemaMaker schemaMaker = new ESchemaMaker(this); - return schemaMaker.createTypes(); - } else { - return this.schema; - } - } - - public Config getMapping() { - return this.mappingModel; - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/MultiTableRegistry.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/MultiTableRegistry.java deleted file mode 100644 index 142aee5c60..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/MultiTableRegistry.java +++ /dev/null @@ -1,105 +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.graphbuilder.impl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; - - - -/** - * - * Used to store and look up table objects based on primary key - * This could be a lot more efficient if we could use LinkedHashMap from JDK 1.4 - */ -public class MultiTableRegistry implements TableRegistry { - - private HashMap tableNameMap; - private HashMap tableValueMap; - private boolean debug = false; - - - public MultiTableRegistry() { - tableNameMap = new HashMap(); - tableValueMap = new HashMap(); - } - - - - /** - * Get the table with the specified name and primary key - * @param tableName - * @param primaryKey - * @return EDataObject - */ - public DataObject get(String tableName, List primaryKey) { - if ( debug ) { - DebugUtil.debugln(getClass(), debug, "Looking for table " + tableName + " with PK " + primaryKey); - DebugUtil.debugln(getClass(), debug, ("\tReturning " + getPkMap(tableName).get(primaryKey))); - } - return (DataObject) getPkMap(tableName).get(primaryKey); - } - - /** - * Add the table with the specified name and primary key - * @param tableName - * @param primaryKey - * @param value - */ - public void put(String tableName, List primaryKey, DataObject value) { - if ( getPkMap(tableName).put(primaryKey, value) == null ) - getCreateValueList(tableName).add(value); - } - - /** - * Get the HashMap that contains the primary key to table object - * mappings. - * @param tableName - * @return HashMap - */ - private HashMap getPkMap(String tableName) { - HashMap pkMap = (HashMap)tableNameMap.get(tableName); - if ( pkMap == null ) { - pkMap = new HashMap(); - tableNameMap.put(tableName, pkMap); - } - return pkMap; - } - - private List getCreateValueList(String tableName) { - List values = (List) tableValueMap.get(tableName); - if ( values == null ) { - values = new ArrayList(); - tableValueMap.put(tableName, values); - } - return values; - } - - - - public boolean contains(String tableName, List primaryKey) { - return get(tableName,primaryKey) == null ? false : true; - - } - - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java deleted file mode 100644 index 04c873db13..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java +++ /dev/null @@ -1,293 +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.graphbuilder.impl; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.Converter; -import org.apache.tuscany.das.rdb.ResultSetShape; -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.Type; - -public class ResultMetadata { - - private HashMap tableToColumnMap = new HashMap(); - - private ArrayList tablePropertyNames = new ArrayList(); - - private ArrayList columnPropertyNames = new ArrayList(); - - private final ResultSet resultSet; - - private final ResultSetShape resultSetShape; - - private final MappingWrapper mappingWrapper; - - private Converter[] converters; - - private static boolean debug = false; - - public ResultMetadata(ResultSet rs, Config model, ResultSetShape shape) - throws SQLException { - debug("Creating new ResultMetadata with mapping model " + model); - this.resultSet = rs; - this.mappingWrapper = new MappingWrapper(model); - - if (shape == null) - this.resultSetShape = new ResultSetShape(rs.getMetaData()); - else - this.resultSetShape = shape; - - this.converters = new Converter[resultSetShape.getColumnCount()]; - - for (int i = 1; i <= resultSetShape.getColumnCount(); i++) { - String tableName = resultSetShape.getTableName(i); - - String tableProperty = mappingWrapper - .getTablePropertyName(tableName); - String columnProperty = mappingWrapper.getColumnPropertyName( - tableName, resultSetShape.getColumnName(i)); - String converter = mappingWrapper.getConverter(tableName, - resultSetShape.getColumnName(i)); - if (converter != null) { - - try { - - Class converterClazz= Class.forName(converter, true, Thread.currentThread().getContextClassLoader()); - if(null != converterClazz) - converters[i - 1]= (Converter) converterClazz.newInstance(); - - }catch( Exception e){ - //try loading below.... - converters[i - 1]= null; //safety - } - - - if(null == converters[i - 1] ) - try{ - - - Converter convInstance = (Converter) Class.forName( - converter).newInstance(); - converters[i - 1] = convInstance; - } catch (Exception ex) { - throw new RuntimeException(ex); - } - - } else { - // TODO make static - converters[i - 1] = new DefaultConverter(); - } - DebugUtil.debugln(getClass(), debug, "Adding table/column: " - + tableProperty + "/" + columnProperty); - tablePropertyNames.add(tableProperty); - columnPropertyNames.add(columnProperty); - - Collection columns = (Collection) tableToColumnMap - .get(tableProperty); - if (columns == null) - columns = new ArrayList(); - columns.add(columnProperty); - tableToColumnMap.put(tableProperty, columns); - } - - // Add any tables defined in the model but not included in the ResultSet - // to the list of propertyNames - if (model != null) { - Iterator tablesFromModel = model.getTable().iterator(); - while (tablesFromModel.hasNext()) { - TableWrapper t = new TableWrapper((Table) tablesFromModel - .next()); - if (tableToColumnMap.get(t.getPropertyName()) == null) - tableToColumnMap.put(t.getPropertyName(), - Collections.EMPTY_LIST); - } - } - - if (debug) { - DebugUtil.debugln(getClass(), debug, toString()); - DebugUtil - .debugln(getClass(), debug, this.resultSetShape.toString()); - } - - } - - private void debug(Object string) { - if (debug) - DebugUtil.debugln(getClass(), debug, string); - } - - public Collection getColumnNames() { - return columnPropertyNames; - } - - public String getColumnPropertyName(int i) { - return (String) columnPropertyNames.get(i - 1); - } - - public String getDatabaseColumnName(int i) { - return resultSetShape.getColumnName(i); - } - - public String getTableName(String columnName) { - return (String) tablePropertyNames.get(columnPropertyNames - .indexOf(columnName)); - } - - public int getTableSize(String tableName) { - return ((Collection) tableToColumnMap.get(tableName)).size(); - } - - public Type getDataType(String columnName) { - return resultSetShape.getColumnType(columnPropertyNames - .indexOf(columnName)); - } - - public String getTablePropertyName(int i) { - return (String) tablePropertyNames.get(i - 1); - } - - public Collection getAllTablePropertyNames() { - return tableToColumnMap.keySet(); - } - - public String toString() { - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (Table Names: "); - Iterator i = tablePropertyNames.iterator(); - while (i.hasNext()) { - String tableName = (String) i.next(); - result.append(' '); - result.append(tableName); - result.append(','); - } - - result.append(" columnNames: "); - - i = columnPropertyNames.iterator(); - while (i.hasNext()) { - String columnName = (String) i.next(); - result.append(' '); - result.append(columnName); - result.append(','); - } - - result.append(" mappingModel: "); - result.append(this.mappingWrapper.getConfig()); - - result.append(" resultSet: "); - result.append(resultSet); - - result.append(" resultSetSize: "); - result.append(resultSetShape.getColumnCount()); - result.append(')'); - return result.toString(); - - } - - /** - * @return - */ - public int getNumberOfTables() { - return tableToColumnMap.keySet().size(); - } - - /** - * Return whether the column at the given position is part of a primary key. - * If we don't have this information, we assume every column is a primary - * key. This results in uniqueness checks using all columns in a table. - * - * @param i - * @return - */ - public boolean isPKColumn(int i) { - if (debug) { - DebugUtil.debugln(getClass(), debug, "Checking to see if " - + getColumnPropertyName(i) + " is a PK column in " - + getTablePropertyName(i)); - } - if (!hasMappingModel()) { - if (debug) - DebugUtil - .debugln(getClass(), debug, - "No mapping model exists, all columns will be considered PK columns"); - return true; - } else { - Table t = mappingWrapper.getTable(getTablePropertyName(i)); - if (t == null) - return true; - Column c = mappingWrapper.getColumn(t, getDatabaseColumnName(i)); - - if (c == null) - return false; - - if (c.isPrimaryKey()) - return true; - } - return false; - } - - public boolean hasMappingModel() { - return mappingWrapper.getConfig() == null ? false : true; - } - - /** - * @param i - * @return - */ - public Type getDataType(int i) { - return resultSetShape.getColumnType(i); - } - - /** - * @param tableName - * @return - */ - public Collection getColumnNames(String tableName) { - return (Collection) tableToColumnMap.get(tableName); - } - - public ResultSet getResultSet() { - return this.resultSet; - } - - public int getResultSetSize() { - return resultSetShape.getColumnCount(); - } - - public boolean isRecursive() { - return mappingWrapper.hasRecursiveRelationships(); - } - - public Converter getConverter(int i) { - return converters[i - 1]; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java deleted file mode 100644 index 8ccc0aee12..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java +++ /dev/null @@ -1,137 +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.graphbuilder.impl; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; - -/** - * - * A ResultSetProcessor is used to transform the data in a ResultSet into a set - * of inter-related EDataObjects. - */ -public class ResultSetProcessor { - - private TableRegistry registry; - - private GraphBuilderMetadata metadata; - - private boolean debug = false; - - private final DataObjectMaker doMaker; - - public ResultSetProcessor(DataObject g, GraphBuilderMetadata gbmd) { - - this.metadata = gbmd; - if (metadata.getRelationships().size() == 0) - registry = new SingleTableRegistry(); - else - registry = new MultiTableRegistry(); - - doMaker = new DataObjectMaker(g); - - debug(metadata); - - } - - private void debug(Object output) { - DebugUtil.debugln(getClass(), debug, output); - } - - /** - * Process the ResultSet. For each row in the ResultSet, a - * - * @link ResultSetRow object will be created to represent the row as a set - * of EDataObjects. Then, the relevant relationships will be - * constructed between each object in the - * @link ResultSetRow. - * - * @param rs - * The ResultSet - */ - public void processResults(int start, int end) throws SQLException { - - Iterator i = metadata.getResultMetadata().iterator(); - while ( i.hasNext()) { - ResultMetadata resultMetadata = (ResultMetadata)i.next(); - ResultSet results = resultMetadata.getResultSet(); - - processResultSet(results, resultMetadata, start, end); - - //TODO These statements HAVE to be closed or we will have major problems - //results.getStatement().close(); - results.close(); - } - - } - - - private void processResultSet(ResultSet rs, ResultMetadata rsMetadata, - int start, int end) throws SQLException { - - if ( rs.getType() == ResultSet.TYPE_FORWARD_ONLY) { - while (rs.next() && start < end) { - ResultSetRow rsr = new ResultSetRow(rs, rsMetadata); - addRowToGraph(rsr, rsMetadata); - ++start; - } - } else { - while (rs.absolute(start) && start < end) { - ResultSetRow rsr = new ResultSetRow(rs, rsMetadata); - addRowToGraph(rsr, rsMetadata); - ++start; - } - } - } - - /** - * @param row - * @param resultMetadata - */ - private void addRowToGraph(ResultSetRow row, ResultMetadata resultMetadata) { - RowObjects tableObjects = new RowObjects(metadata, registry); - Iterator tables = row.getAllTableData().iterator(); - while (tables.hasNext()) { - TableData rawDataFromRow = (TableData) tables.next(); - - if ( (resultMetadata.hasMappingModel()) && (!rawDataFromRow.hasValidPrimaryKey() ) ) - continue; - - String tableName = rawDataFromRow.getTableName(); - DataObject tableObject = registry.get(tableName, rawDataFromRow - .getPrimaryKeyValues()); - if (tableObject == null) { - tableObject = doMaker.createAndAddDataObject(rawDataFromRow, resultMetadata); - - debug("Putting table " + tableName + " with PK " + rawDataFromRow.getPrimaryKeyValues() + " into registry"); - - registry.put(tableName, rawDataFromRow.getPrimaryKeyValues(), - tableObject); - } - tableObjects.put(tableName, tableObject); - } - - tableObjects.processRelationships(); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetRow.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetRow.java deleted file mode 100644 index f68f48fc06..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetRow.java +++ /dev/null @@ -1,169 +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.graphbuilder.impl; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.HashMap; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - - -/** - * - * A ResultSetRow is used to transform a single row of a ResultSet into a set of - * EDataObjects. - */ -public class ResultSetRow { - - private final ResultMetadata metadata; - - private HashMap tableMap = new HashMap(); - - private ArrayList allTableData; - - private boolean debug = false; - - /** - * Method ResultSetRow. - * - * @param rs - * A ResultSet positioned on the desired row - * @param ePackage - * The package used to create EDataObjects - */ - public ResultSetRow(ResultSet rs, ResultMetadata m) throws SQLException { - this.metadata = m; - if (m.isRecursive()) - processRecursiveRow(rs); - else - processRow(rs); - } - - /** - * Processes a single row in the ResultSet Method processRow. - * - * @param rs - */ - private void processRow(ResultSet rs) throws SQLException { - - DebugUtil.debugln(getClass(), debug, ""); - for (int i = 1; i <= metadata.getResultSetSize(); i++) { - Object data = getObject(rs, i); - - TableData table = getRawData(metadata.getTablePropertyName(i)); - DebugUtil.debugln(getClass(), debug, "Adding column: " - + metadata.getColumnPropertyName(i) + "\tValue: " + data - + "\tTable: " + metadata.getTablePropertyName(i)); - table.addData(metadata.getColumnPropertyName(i), metadata - .isPKColumn(i), data); - } - - } - - public void processRecursiveRow(ResultSet rs) throws SQLException { - this.allTableData = new ArrayList(); - int i = 1; - DebugUtil.debugln(getClass(), debug, ""); - while (i <= metadata.getResultSetSize()) { - DebugUtil.debugln(getClass(), debug, ""); - TableData table = new TableData(metadata.getTablePropertyName(i)); - this.allTableData.add(table); - - while ( (i <= metadata.getResultSetSize()) && (metadata.isPKColumn(i))) { - Object data = getObject(rs, i); - DebugUtil.debugln(getClass(), debug, "Adding column: " - + metadata.getColumnPropertyName(i) + "\tValue: " + data - + "\tTable: " + metadata.getTablePropertyName(i)); - table.addData(metadata.getColumnPropertyName(i), true, data); - i++; - } - - while ( (i <= metadata.getResultSetSize()) && - (!metadata.isPKColumn(i))) { - Object data = getObject(rs, i); - DebugUtil.debugln(getClass(), debug, "Adding column: " - + metadata.getColumnPropertyName(i) + "\tValue: " + data - + "\tTable: " + metadata.getTablePropertyName(i)); - table.addData(metadata.getColumnPropertyName(i), false, data); - i++; - } - } - } - - /** - * @param rs - * @param metadata - * @param i - * @return - */ - private Object getObject(ResultSet rs, int i) - throws SQLException { - - Object data = rs.getObject(i); - - if (rs.wasNull()) - return null; - else - return metadata.getConverter(i).getPropertyValue(data); - } - - /** - * Returns a HashMap that holds data for the specified table - * - * @param tableName - * The name of the table - * @return HashMap - */ - public TableData getTable(String tableName) { - return (TableData) tableMap.get(tableName); - } - - /** - * Returns a HashMap that holds data for the specified table If the HashMap - * doesn't exist, it will be created. This is used internally to build the - * ResultSetRow, whereas getTable is used externally to retrieve existing - * table data. - * - * @param tableName - * The name of the table - * @return HashMap - */ - private TableData getRawData(String tableName) { - - TableData table = (TableData) tableMap.get(tableName); - - if (table == null) { - table = new TableData(tableName); - tableMap.put(tableName, table); - } - - return table; - } - - public ArrayList getAllTableData() { - if ( this.allTableData == null ) { - this.allTableData = new ArrayList(); - this.allTableData.addAll(tableMap.values()); - } - DebugUtil.debugln(getClass(), debug, allTableData); - - return this.allTableData; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/RowObjects.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/RowObjects.java deleted file mode 100644 index f0df0ab7c3..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/RowObjects.java +++ /dev/null @@ -1,140 +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.graphbuilder.impl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.config.KeyPair; -import org.apache.tuscany.das.rdb.config.Relationship; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; - - -public class RowObjects { - - private HashMap objectsByTableName; - - private ArrayList tableObjects; - - private static final boolean debug = false; - - private final GraphBuilderMetadata metadata; - - private final TableRegistry registry; - - public RowObjects(GraphBuilderMetadata metadata, TableRegistry registry) { - objectsByTableName = new HashMap(); - tableObjects = new ArrayList(); - this.metadata = metadata; - this.registry = registry; - } - - public void put(String key, DataObject value) { - objectsByTableName.put(key, value); - tableObjects.add(value); - } - - public DataObject get(String tablePropertyName) { - return (DataObject) objectsByTableName.get(tablePropertyName); - } - - void processRelationships() { - MappingWrapper wrapper = new MappingWrapper(metadata.getMapping()); - if (wrapper.hasRecursiveRelationships()) { - processRecursiveRelationships(wrapper); - return; - } - - Iterator i = metadata.getRelationships().iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - - - DataObject parentTable = get(wrapper - .getTablePropertyName(r.getPrimaryKeyTable())); - DataObject childTable = get(wrapper - .getTablePropertyName(r.getForeignKeyTable())); - - DebugUtil.debugln(getClass(), debug, "Parent table: " + parentTable); - DebugUtil.debugln(getClass(), debug, "Child table: " + childTable); - - if ((parentTable == null) || (childTable == null)) - continue; - - Property p = parentTable.getType().getProperty(r.getName()); - setOrAdd(parentTable, childTable, p); - - } - } - - - - private void processRecursiveRelationships(MappingWrapper wrapper) { - Iterator i = tableObjects.iterator(); - while (i.hasNext()) { - DataObject table = (DataObject) i.next(); - - Iterator relationships = wrapper.getRelationshipsByChildTable(table.getType().getName()).iterator(); - while ( relationships.hasNext() ) { - Relationship r = (Relationship) relationships.next(); - - DataObject parentTable = findParentTable(table, r, wrapper); - - if (parentTable == null) - continue; - - Property p = parentTable.getType().getProperty(r.getName()); - setOrAdd(parentTable, table, p); - } - - } - } - - private void setOrAdd(DataObject parent, DataObject child, Property p) { - if (p.isMany()) { - parent.getList(p).add(child); - } else { - parent.set(p, child); - } - } - - private DataObject findParentTable(DataObject childTable, - Relationship r, MappingWrapper wrapper) { - - ArrayList fkValue = new ArrayList(); - Iterator keyPairs = r.getKeyPair().iterator(); - while (keyPairs.hasNext()) { - KeyPair pair = (KeyPair) keyPairs.next(); - String childProperty = wrapper.getColumnPropertyName(r.getPrimaryKeyTable(), pair.getForeignKeyColumn()); - - Property p = childTable.getType().getProperty(childProperty); - fkValue.add(childTable.get(p)); - } - - DebugUtil.debugln(getClass(), debug, "Trying to find parent of " + r.getForeignKeyTable() + " with FK " - + fkValue); - DataObject parentTable = registry.get(r.getPrimaryKeyTable(), fkValue); - DebugUtil.debugln(getClass(), debug, "Parent table from registry: " + parentTable); - return parentTable; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/SingleTableRegistry.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/SingleTableRegistry.java deleted file mode 100644 index f00ef2770d..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/SingleTableRegistry.java +++ /dev/null @@ -1,52 +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.graphbuilder.impl; - -import java.util.List; - -import commonj.sdo.DataObject; - -/** - */ -public class SingleTableRegistry implements TableRegistry { - - //private HashMap values = new HashMap(); - - public SingleTableRegistry() { - // Empty Constructor - } - - /* (non-Javadoc) - * @see com.ibm.ws.sdo.mediator.jdbc.graphbuilder.impl.TableRegistry#get(java.lang.String, java.util.List) - */ - public DataObject get(String tableName, List primaryKey) { - return null; - } - - /* (non-Javadoc) - * @see com.ibm.ws.sdo.mediator.jdbc.graphbuilder.impl.TableRegistry#put(java.lang.String, java.util.List, java.lang.Object) - */ - public void put(String tableName, List primaryKey, DataObject value) { - // do nothing - - } - - public boolean contains(String name, List list) { - return false; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableData.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableData.java deleted file mode 100644 index 48b6dc0187..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableData.java +++ /dev/null @@ -1,75 +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.graphbuilder.impl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - - -/** - * - */ -public class TableData { - - private HashMap columnData = new HashMap(); - private ArrayList primaryKey = new ArrayList(); - private final String name; - private boolean hasValidPrimaryKey = true; - private static final boolean debug = false; - - public TableData(String tableName) { - DebugUtil.debugln(getClass(), debug, "Creating TableData for table " + tableName); - this.name = tableName; - } - - - public void addData(String columnName, boolean isPrimaryKeyColumn, Object data) { - DebugUtil.debugln(getClass(), debug, "Adding column " + columnName + " with value " + data); - columnData.put(columnName, data); - if ( isPrimaryKeyColumn ) { - if ( data == null ) { - DebugUtil.debugln(getClass(), debug, "Column " + columnName + " is a primary key column and is null"); - hasValidPrimaryKey = false; - } - primaryKey.add(data); - } - } - - public Object getColumnData(String columnName) { - return columnData.get(columnName); - } - - public String getTableName() { - return this.name; - } - - - /** - * @return - */ - public List getPrimaryKeyValues() { - return primaryKey; - } - - - public boolean hasValidPrimaryKey() { - return hasValidPrimaryKey; - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableRegistry.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableRegistry.java deleted file mode 100644 index 4b5a3677ae..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/TableRegistry.java +++ /dev/null @@ -1,43 +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.graphbuilder.impl; - -import java.util.List; - -import commonj.sdo.DataObject; - -/** - */ -public interface TableRegistry { - /** - * Get the table with the specified name and primary key - * @param tableName - * @param primaryKey - * @return EDataObject - */ - public DataObject get(String tableName, List primaryKey); - - /** - * Add the table with the specified name and primary key - * @param tableName - * @param primaryKey - * @param value - */ - public void put(String tableName, List primaryKey, DataObject value); - - public boolean contains(String name, List list); -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ESchemaMaker.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ESchemaMaker.java deleted file mode 100644 index 3082384160..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ESchemaMaker.java +++ /dev/null @@ -1,171 +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.graphbuilder.schema; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.config.Relationship; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.graphbuilder.impl.GraphBuilderMetadata; -import org.apache.tuscany.das.rdb.graphbuilder.impl.ResultMetadata; -import org.apache.tuscany.das.rdb.util.DebugUtil; -import org.apache.tuscany.sdo.util.DataObjectUtil; -import org.apache.tuscany.sdo.util.SDOUtil; - -import commonj.sdo.Property; -import commonj.sdo.Type; -import commonj.sdo.helper.TypeHelper; - -/** - * - * An ESchemaMaker is used to create an EMF Schema from an instance of JDBC - * Mediator Metadata. - * - */ -public class ESchemaMaker { - - private final GraphBuilderMetadata metadata; - - private boolean debug = false; - - /** - * Constructor for ESchemaMaker. Creates an SDO model based on the metadata - * passed in. - * - * @param metadata - */ - public ESchemaMaker(GraphBuilderMetadata metadata) { - this.metadata = metadata; - } - - /** - * Creates an EMF Schema by using the - * - * @link TableMaker and - * @link RelationshipMaker to transform - * @link Metadata elements into EMF Schema elements. - */ - - public Type createTypes() { - TypeHelper types = SDOUtil.createTypeHelper(); - - DataObjectUtil.initRuntime(); - SDOUtil.createDataGraph(); - - - Type rootType = SDOUtil.createType(types, getURI(), "DataGraphRoot", false); - - Iterator iter = metadata.getResultMetadata().iterator(); - while (iter.hasNext()) { - - ResultMetadata resultMetadata = (ResultMetadata) iter.next(); - - Iterator names = resultMetadata.getAllTablePropertyNames() - .iterator(); - while (names.hasNext()) { - String tableName = (String) names.next(); - - Type tableType = SDOUtil.createType(types, getURI(), tableName, false); - Property property = SDOUtil.createProperty(rootType, tableName, tableType); - SDOUtil.setMany(property,true); - SDOUtil.setContainment(property, true); - } - - // TODO tablePropertyMap is temporary until Tuscany-203 is fixed - HashMap tablePropertyMap = new HashMap(); - - for (int i = 1; i <= resultMetadata.getColumnNames().size(); i++) { - - Property ref = rootType.getProperty(resultMetadata.getTablePropertyName(i)); - - // TODO Temporary code to check to see if a property has already been added. - // Replace when Tuscany-203 is fixed - ArrayList addedProperties = (ArrayList) tablePropertyMap.get(ref.getName()); - if ( addedProperties == null ) { - addedProperties = new ArrayList(); - tablePropertyMap.put(ref.getName(), addedProperties); - } - - if (ref == null) - throw new RuntimeException("Could not find table " - + resultMetadata.getTablePropertyName(i) - + " in the SDO model"); - - String columnName = resultMetadata.getColumnPropertyName(i); - - // TODO temporary check until Tuscany-203 is fixed - if ( !addedProperties.contains(columnName)) { - addedProperties.add(columnName); - Type atype = (Type) resultMetadata.getDataType(i); - - SDOUtil.createProperty(ref.getType(), columnName, atype); - - DebugUtil.debugln(getClass(), debug, "Adding column " - + columnName + " to " - + resultMetadata.getTablePropertyName(i)); - } - - } - } - - if (metadata.hasMappingModel()) { - MappingWrapper wrapper = new MappingWrapper(metadata.getMapping()); - Iterator i = metadata.getRelationships().iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - - Type parent = rootType.getProperty( - wrapper.getTablePropertyName(r.getPrimaryKeyTable())).getType(); - Type child = rootType.getProperty( - wrapper.getTablePropertyName(r.getForeignKeyTable())).getType(); - if (parent == null) { - throw new RuntimeException("The parent table (" - + r.getPrimaryKeyTable() + ") in relationship " - + r.getName() - + " was not found in the mapping information."); - } else if (child == null) { - throw new RuntimeException("The child table (" - + r.getForeignKeyTable() + ") in relationship " - + r.getName() - + " was not found in the mapping information."); - } - - // ReferenceImpl ref = refMaker.createReference(r, parent, child); - - Property parentProp = SDOUtil.createProperty(parent, r.getName(), child); - Property childProp = SDOUtil.createProperty(child, r.getName() + "_opposite", parent); - SDOUtil.setOpposite(parentProp, childProp); - SDOUtil.setOpposite(childProp, parentProp); - SDOUtil.setMany(parentProp, r.isMany()); - - - - } - - } - - return rootType; - } - - private String getURI() { - return "http:///org.apache.tuscany.das.rdb/das"; - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ResultSetTypeMap.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ResultSetTypeMap.java deleted file mode 100644 index 832cfeac7e..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/schema/ResultSetTypeMap.java +++ /dev/null @@ -1,133 +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.graphbuilder.schema; - -import java.sql.Types; - -import org.apache.tuscany.sdo.SDOPackage; - -import commonj.sdo.Type; -import commonj.sdo.helper.TypeHelper; - -/** - */ -public class ResultSetTypeMap { - - public static ResultSetTypeMap instance = new ResultSetTypeMap(); - - /** - * Constructor for ResultSetTypeMap. - */ - protected ResultSetTypeMap() { - // Empty Constructor - } - - /** - * These mappings taken primarily from "JDBC API and Tutorial and Reference" by - * Fisher, Ellis and Bruce. - * - * @param type - * @param isNullable - * @return - */ - public Type getEDataType(int type, boolean isNullable) { - - TypeHelper helper = TypeHelper.INSTANCE; - SDOPackage.eINSTANCE.eClass(); - switch (type) { - - case Types.CHAR: - case Types.VARCHAR: - case Types.LONGVARCHAR: - return helper.getType("commonj.sdo", "String"); - - case Types.NUMERIC: - case Types.DECIMAL: - return helper.getType("commonj.sdo", "Decimal"); - - case Types.BIT: - case Types.BOOLEAN: - if (isNullable) - return helper.getType("commonj.sdo", "Boolean"); - else - return helper.getType("commonj.sdo", "boolean"); - - case Types.TINYINT: - case Types.SMALLINT: - case Types.INTEGER: - if (isNullable) { - return helper.getType("commonj.sdo", "IntObject"); - } else - return helper.getType("commonj.sdo", "Int"); - - case Types.BIGINT: - if (isNullable) - return helper.getType("commonj.sdo", "Long"); - else - return helper.getType("commonj.sdo", "long"); - - case Types.REAL: - if (isNullable) - return helper.getType("commonj.sdo", "Float"); - else - return helper.getType("commonj.sdo", "float"); - - case Types.FLOAT: - case Types.DOUBLE: - if (isNullable) - return helper.getType("commonj.sdo", "Double"); - else - return helper.getType("commonj.sdo", "double"); - - case Types.BINARY: - case Types.VARBINARY: - case Types.LONGVARBINARY: - return helper.getType("commonj.sdo", "ByteArray"); - - case Types.DATE: - case Types.TIME: - case Types.TIMESTAMP: - return helper.getType("commonj.sdo", "Date"); - - case Types.CLOB: - return helper.getType("commonj.sdo", "Clob"); - - case Types.BLOB: - return helper.getType("commonj.sdo", "Blob"); - - case Types.ARRAY: - return helper.getType("commonj.sdo", "Array"); - - case Types.DISTINCT: - case Types.STRUCT: - case Types.REF: - case Types.DATALINK: - case Types.JAVA_OBJECT: - return helper.getType("commonj.sdo", "Object"); - - default: - return helper.getType("commonj.sdo", "Object"); - } - - } - - - public Type getType(int columnType, boolean b) { - return getEDataType(columnType, b); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java deleted file mode 100644 index 79baf3c299..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java +++ /dev/null @@ -1,111 +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.impl; - -import java.sql.Connection; -import java.sql.DriverManager; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConnectionProperties; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -/** - * - */ -public class ApplyChangesCommandImpl extends BaseCommandImpl implements ApplyChangesCommand { - - private static final boolean debug = false; - - private ChangeSummarizer summarizer = new ChangeSummarizer(); - - public ApplyChangesCommandImpl() { - } - - public ApplyChangesCommandImpl(Config config){ - this.configWrapper = new MappingWrapper(config); - if (config.getConnectionProperties() != null) - setConnection(config.getConnectionProperties()); - } - - public ApplyChangesCommandImpl(Config config, Connection connection){ - this.configWrapper = new MappingWrapper(config); - setConnection(connection); - } - - public void setConnection(ConnectionImpl connection) { - summarizer.setConnection(connection); - } - - public void setConnection(ConnectionProperties c) { - try { - Connection connection = null; - Class.forName(c.getDriverClassName()); - if (c.getDriverUserName() == null) - connection = DriverManager.getConnection(c.getDriverURL()); - else - connection = DriverManager.getConnection(c.getDriverURL(), c.getDriverUserName(), c.getDriverPassword()); - connection.setAutoCommit(false); - setConnection(connection); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - public void addCreateCommand(Type type, Command cmd) { - summarizer.addCreateCommand(type, cmd); - } - - public void addUpdateCommand(Type type, Command cmd) { - summarizer.addUpdateCommand(type, cmd); - } - - public void addDeleteCommand(Type type, Command cmd) { - summarizer.addDeleteCommand(type, cmd); - } - - public void execute(DataObject root) { - DebugUtil.debugln(getClass(), debug, "Executing ApplyChangesCmd"); - - if (summarizer.getConnection() == null) - throw new RuntimeException("A connection must be provided"); - - if (!root.equals(root.getDataGraph().getRootObject())) - throw new RuntimeException("'root' argument must be the root of the datagraph"); - - summarizer.setMapping(configWrapper); - - Changes changes = summarizer.loadChanges(root); - - boolean success = false; - try { - changes.execute(); - success = true; - } finally { - if (success) - summarizer.getConnection().cleanUp(); - else - summarizer.getConnection().errorCleanUp(); - } - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java deleted file mode 100644 index e827426383..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java +++ /dev/null @@ -1,68 +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.impl; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.Key; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; - -public abstract class BaseCommandImpl { - - protected MappingWrapper configWrapper = new MappingWrapper(); - - public void setConnection(Connection connection) { - setConnection(new ConnectionImpl(connection)); - } - - public void setConnection(Connection connection, boolean manageTransaction) { - ConnectionImpl c = new ConnectionImpl(connection); - c.setManageTransactions(manageTransaction); - setConnection(c); - } - - public abstract void setConnection(ConnectionImpl c); - - public void addRelationship(String parentName, String childName) { - configWrapper.addRelationship(parentName, childName); - } - - public void addRelationship(Key parentKey, Key childKey) { - configWrapper.addRelationship(parentKey, childKey); - } - - public void addPrimaryKey(String pk) { - configWrapper.addPrimaryKey(pk); - } - - public void addPrimaryKey(Key pk) { - configWrapper.addPrimaryKey(pk); - } - - public void addConverter(String name, String converter) { - configWrapper.addConverter(name, converter); - } - - public void addCollisionColumn(String columnName) { - configWrapper.addCollisionColumn(columnName); - } - - public void addGeneratedPrimaryKey(String columnName) { - configWrapper.addGeneratedPrimaryKey(columnName); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java deleted file mode 100644 index c56c55c636..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java +++ /dev/null @@ -1,199 +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.impl; - -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper; -import org.apache.tuscany.das.rdb.generator.impl.CudGenerator; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.Type; - -public class ChangeFactory { - - private final Type type; - - private InsertCommandImpl createCommand; - - private UpdateCommandImpl updateCommand; - - private DeleteCommandImpl deleteCommand; - - private static final boolean debug = false; - - private CudGenerator cudGenerator; - - private final MappingWrapper mapping; - - private final ConnectionImpl connection; - - public ChangeFactory(Type type, MappingWrapper mapping, ConnectionImpl connection) { - this.type = type; - this.mapping = mapping; - this.connection = connection; - } - - public Type getType() { - return this.type; - } - - public void setCreateCommand(InsertCommandImpl cmd) { - createCommand = cmd; - } - - public void setUpdateCommand(UpdateCommandImpl cmd) { - DebugUtil.debugln(getClass(), debug, "Setting Update Command to " + cmd); - updateCommand = cmd; - } - - public void setDeleteCommand(DeleteCommandImpl cmd) { - deleteCommand = cmd; - } - - private CudGenerator getCudGenerator() { - if (this.cudGenerator == null) - this.cudGenerator = new CudGenerator(); - return this.cudGenerator; - } - - ChangeOperation createUpdateOperation(DataObject changedObject, String propagatedID) { - return new UpdateOperation(getUpdateCommand(changedObject), changedObject, propagatedID); - } - ChangeOperation createUpdateOperation(DataObject changedObject) { - return createUpdateOperation(changedObject, null); - } - - ChangeOperation createDeleteOperation(DataObject changedObject) { - return new DeleteOperation(getDeleteCommand(changedObject), changedObject); - } - - ChangeOperation createInsertOperation(DataObject changedObject, String propagatedID) { - return new CreateOperation(getCreateCommand(changedObject), changedObject, propagatedID); - } - - ChangeOperation createInsertOperation(DataObject changedObject) { - return createInsertOperation(changedObject, null); - } - - - private InsertCommandImpl getCreateCommand(DataObject changedObject) { - - if ( createCommand == null ) { - Table table = mapping.getTableByPropertyName(changedObject.getType().getName()); - if (table == null ) { - if (changedObject.getType().getProperty("ID") != null ) { - // If the table is not defined in the config, assume it has a primary key of "ID" - mapping.addPrimaryKey(changedObject.getType().getName() + ".ID"); - table = mapping.getTableByPropertyName(changedObject.getType().getName()); - } else { - throw new RuntimeException("Table " + changedObject.getType().getName() + " was changed in the DataGraph but is not present in the Config"); - } - } - - - String createStatement = table.getCreate(); - if ( createStatement == null ) { - createCommand = getCudGenerator().getInsertCommand(mapping, changedObject, table); - } else { - createCommand = new InsertCommandImpl(createStatement); - Iterator i = getCudGenerator().getCreateParameters(mapping, changedObject, table).iterator(); - while (i.hasNext()) { - Property p = (Property)i.next(); - createCommand.addParameter(p.getName(), p.getType()); - } - } - createCommand.setConnection(connection); - createCommand.configWrapper = mapping; - } - return createCommand; - } - - private DeleteCommandImpl getDeleteCommand(DataObject changedObject) { - - if ( deleteCommand == null ) { - Table table = mapping.getTableByPropertyName(changedObject.getType().getName()); - if (table == null ) { - if (changedObject.getType().getProperty("ID") != null ) { - // If the table is not defined in the config, assume it has a primary key of "ID" - mapping.addPrimaryKey(changedObject.getType().getName() + ".ID"); - table = mapping.getTableByPropertyName(changedObject.getType().getName()); - } else { - throw new RuntimeException("Table " + changedObject.getType().getName() + " was changed in the DataGraph but is not present in the Config"); - } - } - - String deleteStatement = table.getDelete(); - if ( deleteStatement == null ) { - deleteCommand = getCudGenerator().getDeleteCommand(table); - } else { - deleteCommand = new DeleteCommandImpl(deleteStatement); - Iterator i = getCudGenerator().getDeleteParameters(table).iterator(); - while (i.hasNext()) { - deleteCommand.addParameter((String)i.next(), SDODataTypes.OBJECT); - } - } - deleteCommand.setConnection(connection); - } - return deleteCommand; - } - - private UpdateCommandImpl getUpdateCommand(DataObject changedObject) { - - if ( updateCommand == null ) { - Table table = mapping.getTableByPropertyName(changedObject.getType().getName()); - if (table == null ) { - if (changedObject.getType().getProperty("ID") != null ) { - // If the table is not defined in the config, assume it has a primary key of "ID" - mapping.addPrimaryKey(changedObject.getType().getName() + ".ID"); - table = mapping.getTableByPropertyName(changedObject.getType().getName()); - } else { - throw new RuntimeException("Table " + changedObject.getType().getName() + " was changed in the DataGraph but is not present in the Config"); - } - } - String updateStatement = table.getUpdate(); - if ( updateStatement == null ) { - updateCommand = getCudGenerator().getUpdateCommand(mapping, changedObject,table); - } else { - TableWrapper t = new TableWrapper(table); - if ( t.getCollisionColumn() != null ) - updateCommand = new OptimisticWriteCommandImpl(updateStatement); - else - updateCommand = new UpdateCommandImpl(updateStatement); - - - updateCommand.addParameters(getCudGenerator().getUpdateParameters(changedObject, table)); - - } - updateCommand.setConnection(connection); - updateCommand.configWrapper = mapping; - } - DebugUtil.debugln(getClass(), debug, "Returning updateCommand: " + updateCommand); - return updateCommand; - } - - public MappingWrapper getConfig() { - return this.mapping; - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java deleted file mode 100644 index c5221dda5c..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java +++ /dev/null @@ -1,79 +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.impl; - -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; - -/** - */ -public abstract class ChangeOperation { - - private final WriteCommandImpl writeCommand; - - protected DatabaseObject dObject; - - private static final boolean debug = false; - - protected String propagatedID = null; - - private boolean isInsert = false; - - public ChangeOperation(DeleteCommandImpl command) { - writeCommand = command; - } - - public ChangeOperation(InsertCommandImpl command, DataObject changedObject) { - writeCommand = command; - dObject = new DatabaseObject(command.getMappingModel(), changedObject); - this.isInsert = true; - } - - public ChangeOperation(UpdateCommandImpl command, DataObject changedObject) { - writeCommand = command; - dObject = new DatabaseObject(command.getMappingModel(), changedObject); - } - - public void execute() { - DebugUtil.debugln(getClass(), debug, "Executing change operation"); - - Iterator i = writeCommand.getParameters().iterator(); - while (i.hasNext()) { - Parameter parm = (Parameter) i.next(); - DebugUtil.debugln(getClass(), debug, "setting " + parm.getName() + " to " + dObject.get(parm.getName())); - parm.setValue(dObject.get(parm.getName())); - } - - writeCommand.execute(); - - if ( isInsert && ( propagatedID != null )) { - DebugUtil.debugln(getClass(), debug, "Propagating key " + propagatedID); - int id = writeCommand.getGeneratedKey(); - dObject.setPropagatedID(propagatedID, id); - } - } - - public String getTableName() { - return dObject.getTableName(); - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java deleted file mode 100644 index 10984d9d4b..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java +++ /dev/null @@ -1,266 +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.impl; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.Key; -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Relationship; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.QualifiedColumn; -import org.apache.tuscany.das.rdb.config.wrapper.RelationshipWrapper; -import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper; -import org.apache.tuscany.das.rdb.util.DebugUtil; -import org.apache.tuscany.sdo.impl.ChangeSummaryImpl; - -import commonj.sdo.ChangeSummary; -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.Type; - -public class ChangeSummarizer { - - private static final boolean debug = false; - - private Changes changes = new Changes(); - - private FactoryRegistry registry; - - private MappingWrapper mapping = new MappingWrapper(); - - private ConnectionImpl connection; - - private HashMap generatedKeys = new HashMap(); - - public ChangeSummarizer() { - // Empty Constructor - } - - public Changes loadChanges(DataObject root) { - ChangeSummary changeSummary = root.getDataGraph().getChangeSummary(); - if (changeSummary.isLogging()) - ((ChangeSummaryImpl) changeSummary).summarize(); - - List changedObjects = changeSummary.getChangedDataObjects(); - DebugUtil.debugln(getClass(), debug, - "List of changed objects contains " + changedObjects.size() - + " object(s)"); - - changes.setInsertOrder(mapping.getInsertOrder()); - changes.setDeleteOrder(mapping.getDeleteOrder()); - - Iterator i = changedObjects.iterator(); - while (i.hasNext()) { - DataObject o = (DataObject) i.next(); - - if (!(o.equals(root))) { - createChange(changeSummary, o); - } - } - - return changes; - } - - public void createChange(ChangeSummary changeSummary, - DataObject changedObject) { - - if (changeSummary.isCreated(changedObject)) { - DebugUtil.debugln(getClass(), debug, "Change is a create"); - if (!changeSummary.isDeleted(changedObject)) { - ChangeFactory factory = getRegistry().getFactory( - changedObject.getType()); - String propagatedID = (String) generatedKeys.get(changedObject - .getType().getName()); - changes.addInsert(factory.createInsertOperation(changedObject, - propagatedID)); - } - } else if (changeSummary.isDeleted(changedObject)) { - ChangeFactory factory = getRegistry().getFactory( - changedObject.getType()); - DebugUtil.debugln(getClass(), debug, "Change is a delete"); - changes.addDelete(factory.createDeleteOperation(changedObject)); - } else { - // bumpCollisionField(changedObject); - DebugUtil.debugln(getClass(), debug, "Change is a modify"); - List attrList = changeSummary.getOldValues(changedObject); - if (hasAttributeChange(attrList)) { - ChangeFactory factory = getRegistry().getFactory( - changedObject.getType()); - DebugUtil.debugln(getClass(), debug, "Attribute Change for " - + changedObject.getType().getName()); - String propagatedID = (String) generatedKeys.get(changedObject - .getType().getName()); - changes.addUpdate(factory.createUpdateOperation(changedObject, - propagatedID)); - } else { - // Reference change - List values = changeSummary.getOldValues(changedObject); - Iterator i = values.iterator(); - while (i.hasNext()) { - ChangeSummary.Setting setting = (ChangeSummary.Setting) i - .next(); - - if (!setting.getProperty().getType().isDataType()) { - DebugUtil.debugln(getClass(), debug, - "Reference change for " - + changedObject.getType().getName()); - - Property ref = setting.getProperty(); - - DebugUtil.debugln(getClass(), debug, ref.getName()); - if (hasState(ref, changedObject) ) { - ChangeFactory factory = getRegistry().getFactory( - changedObject.getType()); - changes.addUpdate(factory - .createUpdateOperation(changedObject)); - } - - } - } - } - } - - } - - private boolean hasState(Property ref, DataObject changedObject) { - if ( ref.getOpposite().isMany() ) { - return true; - } else { - MappingWrapper mw = this.mapping; - if ( mw.getConfig() == null ) - mw = registry.getFactory(changedObject.getType()).getConfig(); - if ( mw.getConfig() == null ) - return false; - - Relationship rel = mw.getRelationshipByReference(ref); - - if ( !rel.isMany()) { - // This is a one-one relationship - Table t = mapping.getTableByPropertyName(changedObject.getType().getName()); - TableWrapper tw = new TableWrapper(t); - RelationshipWrapper rw = new RelationshipWrapper(rel); - if (( rel.getForeignKeyTable().equals(t.getName())) && - ( Collections.disjoint(tw.getPrimaryKeyProperties(),rw.getForeignKeys()) )) - return true; - - } - - } - return false; - } - - private boolean hasAttributeChange(List theChanges) { - Iterator i = theChanges.iterator(); - while (i.hasNext()) { - ChangeSummary.Setting setting = (ChangeSummary.Setting) i.next(); - if (setting.getProperty().getType().isDataType()) - return true; - } - return false; - } - - public void addCreateCommand(Type type, Command cmd) { - ChangeFactory cf = getRegistry().getFactory(type); - cf.setCreateCommand((InsertCommandImpl) cmd); - ((CommandImpl) cmd).setConnection(connection); - } - - public void addUpdateCommand(Type type, Command cmd) { - ChangeFactory cf = getRegistry().getFactory(type); - cf.setUpdateCommand((UpdateCommandImpl) cmd); - ((CommandImpl) cmd).setConnection(connection); - } - - public void addDeleteCommand(Type type, Command cmd) { - ChangeFactory cf = getRegistry().getFactory(type); - cf.setDeleteCommand((DeleteCommandImpl) cmd); - ((CommandImpl) cmd).setConnection(connection); - - } - - private FactoryRegistry getRegistry() { - if (this.registry == null) { - this.registry = new FactoryRegistry(mapping, connection); - } - return this.registry; - } - - public void setConnection(ConnectionImpl connection) { - this.connection = connection; - } - - public void setMapping(MappingWrapper map) { - this.mapping = map; - - if ( mapping.getConfig() == null ) - return; - - Iterator i = mapping.getConfig().getTable().iterator(); - while (i.hasNext()) { - Table t = (Table) i.next(); - Iterator columns = t.getColumn().iterator(); - while ( columns.hasNext()) { - Column c = (Column) columns.next(); - if ( c.isPrimaryKey() && c.isGenerated()) { - DebugUtil.debugln(getClass(), debug, "adding generated key " - + t.getName() + "." - + c.getName()); - generatedKeys.put(t.getName(), c.getName()); - } - } - } - } - - public void addRelationship(String parentName, String childName) { - mapping.addRelationship(parentName, childName); - } - - public void addPrimaryKey(String columnName) { - mapping.addPrimaryKey(columnName); - } - - public void addCollisionColumn(String columnName) { - mapping.addCollisionColumn(columnName); - } - - public void addPrimarykey(Key key) { - mapping.addPrimaryKey(key); - } - - public void addGeneratedPrimaryKey(String columnName) { - QualifiedColumn col = new QualifiedColumn(columnName); - generatedKeys.put(col.getTableName(), col.getColumnName()); - mapping.addGeneratedPrimaryKey(columnName); - } - - public void addConverter(String name, String converterName) { - mapping.addConverter(name, converterName); - } - - public ConnectionImpl getConnection() { - return this.connection; - } - - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Changes.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Changes.java deleted file mode 100644 index 77198fe589..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Changes.java +++ /dev/null @@ -1,80 +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.impl; - -import java.util.ArrayList; -import java.util.Iterator; - -/** - * Mangages a set of graph-change operations. This simple implementaiton can be - * replaced with a version that provides R/I sorting - * - */ -public class Changes { - - private InsertList inserts = new InsertList(); - private UpdateList updates = new UpdateList(); - private DeleteList deletes = new DeleteList(); - - - public void addInsert(ChangeOperation c) { - inserts.add(c); - } - - public void addUpdate(ChangeOperation c) { - updates.add(c); - } - - public void addDelete(ChangeOperation c) { - deletes.add(c); - } - - /** - * Execute all my change - */ - public void execute() { - - Iterator i = inserts.getSortedList().iterator(); - while ( i.hasNext() ) { - ChangeOperation c = (ChangeOperation) i.next(); - c.execute(); - } - - i = updates.getSortedList().iterator(); - while ( i.hasNext() ) { - ChangeOperation c = (ChangeOperation) i.next(); - c.execute(); - } - - - i = deletes.getSortedList().iterator(); - while (i.hasNext() ) { - ChangeOperation c = (ChangeOperation) i.next(); - c.execute(); - } - - } - - public void setInsertOrder(ArrayList insertOrder) { - inserts.setOrder(insertOrder); - } - - public void setDeleteOrder(ArrayList deleteOrder) { - deletes.setOrder(deleteOrder); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandFactoryImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandFactoryImpl.java deleted file mode 100644 index 25c2223f13..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandFactoryImpl.java +++ /dev/null @@ -1,77 +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.impl; - -import java.io.IOException; -import java.io.InputStream; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandFactory; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.util.ConfigUtil; - -public class CommandFactoryImpl implements CommandFactory { - - public Command createCommand(String sql) { - return baseCreateCommand(sql, null); - } - - public Command createCommand(String sql, InputStream configStream) { - return baseCreateCommand(sql, ConfigUtil.loadConfig(configStream)); - } - - public Command createCommand(String sql, Config config) { - return baseCreateCommand(sql, config); - } - - public ApplyChangesCommand createApplyChangesCommand() { - return new ApplyChangesCommandImpl(); - } - - public ApplyChangesCommand createApplyChangesCommand(InputStream configStream) throws IOException { - return new ApplyChangesCommandImpl(ConfigUtil.loadConfig(configStream)); - } - - public ApplyChangesCommand createApplyChangesCommand(Config config) { - return new ApplyChangesCommandImpl(config); - } - - // Utilities - - private Command baseCreateCommand(String sql, Config config) { - - sql = sql.trim(); // Remove leading white space - char firstChar = Character.toUpperCase(sql.charAt(0)); - switch (firstChar) { - case 'S': - return new ReadCommandImpl(sql, config); - case 'I': - return new InsertCommandImpl(sql); - case 'U': - return new UpdateCommandImpl(sql); - case 'D': - return new DeleteCommandImpl(sql); - case '{': - return new SPCommandImpl(sql, config); - default: - throw new Error("SQL => " + sql + " is not valid"); - } - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupFactoryImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupFactoryImpl.java deleted file mode 100644 index 196751857e..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupFactoryImpl.java +++ /dev/null @@ -1,31 +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.impl; - -import java.io.InputStream; - -import org.apache.tuscany.das.rdb.CommandGroup; -import org.apache.tuscany.das.rdb.CommandGroupFactory; - -public class CommandGroupFactoryImpl implements CommandGroupFactory { - - - public CommandGroup createCommandGroup(InputStream configStream) { - return new CommandGroupImpl(configStream); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupImpl.java deleted file mode 100644 index aeaf3a7c57..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandGroupImpl.java +++ /dev/null @@ -1,207 +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.impl; - -import java.io.InputStream; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import javax.naming.InitialContext; -import javax.naming.NamingException; -import javax.sql.DataSource; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandGroup; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConnectionProperties; -import org.apache.tuscany.das.rdb.util.ConfigUtil; - -/** - * An ConfiguredCommandFactory produces instances of Command and - * ApplyChangesCommand. This factory is initialized with a configuration that - * defines the commands it produces. - * - */ -public class CommandGroupImpl implements CommandGroup { - - private Config config; - - private Connection connection; - - private Map commands = new HashMap(); - - public CommandGroupImpl(InputStream stream) { - super(); - config = ConfigUtil.loadConfig(stream); - initialize(); - } - - private void initialize() { - - Iterator i = config.getCommand().iterator(); - while (i.hasNext()) { - org.apache.tuscany.das.rdb.config.Command commandConfig = (org.apache.tuscany.das.rdb.config.Command) i - .next(); - String kind = commandConfig.getKind(); - if (kind.equalsIgnoreCase("select")) - //TODO - Need to refactor Command heirarchy based on Datasource - if (config.getConnectionProperties() != null) - commands.put(commandConfig.getName(), new ReadCommandImpl(commandConfig.getSQL(), config, getConnection())); - else - commands.put(commandConfig.getName(), new ReadCommandImpl(commandConfig.getSQL(), config)); - else if (kind.equalsIgnoreCase("update")) - commands.put(commandConfig.getName(), new UpdateCommandImpl(commandConfig.getSQL())); - else if (kind.equalsIgnoreCase("insert")) - commands.put(commandConfig.getName(), new InsertCommandImpl(commandConfig.getSQL())); - else if (kind.equalsIgnoreCase("delete")) - commands.put(commandConfig.getName(), new DeleteCommandImpl(commandConfig.getSQL())); - else - throw new Error("Invalid kind of command: " + kind); - - } - - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.das.rdb.CommandGroup#getApplyChangesCommand() - */ - public ApplyChangesCommand getApplyChangesCommand() { - ApplyChangesCommand cmd = new ApplyChangesCommandImpl(config, connection); - return cmd; - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.das.rdb.CommandGroup#getCommand(java.lang.String) - */ - public Command getCommand(String name) { - if (!commands.containsKey(name)) - throw new RuntimeException("CommandGroup has no command named: " + name); - Command cmd = (Command) commands.get(name); - cmd.setConnection(getConnection()); - return cmd; - } - - - public void setConnection(Connection connection) { - this.connection = connection; - } - - public Connection getConnection() { - if (connection == null) - initializeConnection(); - return connection; - } - - private void initializeConnection() { - - ConnectionProperties cp = config.getConnectionProperties(); - if (cp == null) - throw new Error( - "No connection properties have been configured and no connection has been provided"); - - if (cp.getDataSource() != null) - initViaDataSource(cp); - else - initViaDriverManager(cp); - - } - - private void initViaDriverManager(ConnectionProperties cp) { - Connection connection = null; - - try { - Class.forName(cp.getDriverClassName()); - if (cp.getDriverUserName() == null) - connection = DriverManager.getConnection(cp.getDriverURL()); - else - connection = DriverManager.getConnection(cp.getDriverURL(), cp.getDriverUserName(), cp - .getDriverPassword()); - connection.setAutoCommit(false); - setConnection(connection); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - - } - - // TODO - Refactor to eliminate common initialization code after connection - // is got - private void initViaDataSource(ConnectionProperties cp) { - - Connection connection = null; - - InitialContext ctx; - try { - ctx = new InitialContext(); - } catch (NamingException e) { - throw new Error(e); - } - try { - // TODO - I think we should rename this getDataSourceURL? - DataSource ds = (DataSource) ctx.lookup(cp.getDataSource()); - try { - connection = ds.getConnection(); - connection.setAutoCommit(false); - setConnection(connection); - } catch (SQLException e) { - throw new Error(e); - } - } catch (NamingException e) { - throw new Error(e); - } - - } - - public void releaseResources() { - - if (managingConnections()) - closeConnection(); - } - - private void closeConnection() { - if (connection != null) - try { - connection.close(); - connection = null; - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - /** - * If the config has connection properties then we are "manageing" the - * connection via DriverManager or DataSource - */ - private boolean managingConnections() { - - if (config.getConnectionProperties() == null) - return false; - else - return true; - - } - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java deleted file mode 100644 index 2ac9e324da..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java +++ /dev/null @@ -1,145 +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.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.List; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.ResultSetShape; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; -import commonj.sdo.helper.XSDHelper; - -public abstract class CommandImpl extends BaseCommandImpl implements Command { - - protected Statement statement; - - protected Parameters parameters = new Parameters(); - - protected static final boolean debug = false; - - protected ResultSetShape resultSetShape; - - public CommandImpl(String sqlString) { - statement = new Statement(sqlString); - - try { - URL url = getClass().getResource("/xml/sdoJava.xsd"); - if (url == null) - throw new RuntimeException( - "Could not find resource: xml/sdoJava.xsd"); - - InputStream inputStream = url.openStream(); - XSDHelper.INSTANCE.define(inputStream, url.toString()); - inputStream.close(); - } catch ( IOException ex ) { - throw new RuntimeException(ex); - } - - } - - public abstract void execute(); - - public abstract DataObject executeQuery(); - - public void setParameterValue(String name, Object value) { - parameters.setParameter(name, value); - } - - public void setParameterValue(int index, Object value) { - parameters.setParameter(index, value); - } - - public void setParameterType(String name, Type dataType) { - parameters.setParameterWithType(name, dataType); - } - - public void setParameterType(int index, Type dataType) { - parameters.setParameterWithType(index, dataType); - } - - public void addParameter(int index, Type sdoType) { - addParameter(index, Parameter.IN, sdoType); - } - - public void addParameter(int index, int direction, Type sdoType) { - parameters.findOrCreateParameterWithIndex(index, direction, sdoType); - } - - public void addParameter(String name, Type sdoType) { - addParameter(name, Parameter.IN, sdoType); - } - - public void addParameter(String name, int direction, Type sdoType) { - parameters.setParameterWithType(name, sdoType); - } - - public void addParameter(Parameter param) { - parameters.add(param); - } - - public Parameter getParameter(String name) { - return parameters.get(name); - } - - public Parameter getParameter(int index) { - return parameters.get(index); - - } - - public List getParameters() { - return parameters.parameterList(); - } - - public Object getParameterValue(String name) { - Parameter p = parameters.get(name); - if (p == null) - throw new RuntimeException("Parameter with name " + name - + " not found"); - - return p; - } - - public Object getParameterValue(int index) { - return parameters.parameterWithIndex(index).getValue(); - } - - public void setConnection(ConnectionImpl connection) { - statement.setConnection(connection); - } - - protected ConnectionImpl getConnection() { - return statement.getConnection(); - } - - - - public void setResultSetShape(ResultSetShape shape) { - this.resultSetShape = shape; - } - - - public void close() { - statement.close(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ConnectionImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ConnectionImpl.java deleted file mode 100644 index 2da21bf930..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ConnectionImpl.java +++ /dev/null @@ -1,95 +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.impl; - -import java.sql.CallableStatement; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - - -public class ConnectionImpl { - - private Connection connection; - private static final boolean debug = false; - - private boolean managingTransaction = true; - - public ConnectionImpl(Connection connection) { - this.connection = connection; - - try { - if (connection.getAutoCommit()) - throw new RuntimeException("AutoCommit must be off!"); - } catch (SQLException e) { - throw new RuntimeException(e); - } - - } - - public Connection getJDBCConnection() { - return connection; - } - - public void cleanUp() { - try { - if (managingTransaction) { - DebugUtil.debugln(getClass(), debug, "Committing Transaction"); - connection.commit(); - } - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - public void errorCleanUp() { - try { - if (managingTransaction) { - DebugUtil.debugln(getClass(), debug, "Rolling back Transaction"); - connection.rollback(); - } - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - public PreparedStatement prepareStatement(QueryString queryString) - throws SQLException { - DebugUtil.debugln(getClass(), debug, "Preparing Statement: " + queryString.getPreparedString()); - return connection.prepareStatement(queryString.getPreparedString(), java.sql.Statement.RETURN_GENERATED_KEYS); - } - - public PreparedStatement preparePagedStatement(QueryString queryString) throws SQLException { - DebugUtil.debugln(getClass(), debug, "Preparing Statement: " + queryString.getPreparedString()); - return connection.prepareStatement(queryString.getPreparedString(), ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); - } - - public void setManageTransactions(boolean manageTransactions) { - managingTransaction = manageTransactions; - - } - - public CallableStatement prepareCall(QueryString queryString) throws SQLException { - return connection.prepareCall(queryString.getPreparedString()); - } - - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CreateOperation.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CreateOperation.java deleted file mode 100644 index 5c70dc1e6f..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CreateOperation.java +++ /dev/null @@ -1,29 +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.impl; - - -import commonj.sdo.DataObject; - -public class CreateOperation extends ChangeOperation { - - public CreateOperation(InsertCommandImpl command, DataObject changedObject, String ID) { - super(command, changedObject); - this.propagatedID = ID; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DatabaseObject.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DatabaseObject.java deleted file mode 100644 index eaf56a6c2c..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DatabaseObject.java +++ /dev/null @@ -1,148 +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.impl; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.KeyPair; -import org.apache.tuscany.das.rdb.config.Relationship; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; - -/** - * DatabaseObject wraps DataObject. If a field is an FK field, it will return - * the value from the parent. - * - * - */ -public class DatabaseObject { - - private final MappingWrapper mappingWrapper; - - private final DataObject dataObject; - - private Property parentReference; - - private static final boolean debug = false; - - private HashMap keyMappings = new HashMap(); - - public DatabaseObject(Config model, DataObject changedObject) { - this.mappingWrapper = new MappingWrapper(model); - this.dataObject = changedObject; - initialize(); - } - - // Initialize Key Mappings - private void initialize() { - if (mappingWrapper.getConfig() != null) { - List relationships = mappingWrapper.getConfig().getRelationship(); - Iterator i = relationships.iterator(); - while (i.hasNext()) { - Relationship r = (Relationship) i.next(); - DebugUtil.debugln(getClass(), debug, "Initializing relationship: " + r.getName()); - if (r.getForeignKeyTable().equals(getTypeName())) { - List pairs = r.getKeyPair(); - Iterator iter = pairs.iterator(); - while (iter.hasNext()) { - KeyPair pair = (KeyPair) iter.next(); - keyMappings.put(pair.getForeignKeyColumn(), r); - } - } - } - } - } - - public Object get(String parameter) { - - if (isPartOfPrimaryKey(parameter)) - return dataObject.get(parameter); - - Relationship r = (Relationship) keyMappings.get(parameter); - if (r == null) - return dataObject.get(parameter); - - Property parentRef = getParentReference(r.getPrimaryKeyTable()); - DataObject parent = dataObject.getDataObject(parentRef); - if (parent == null) - return null; - String parentKey = getParentKey(r, parameter); - return parent.get(parentKey); - - } - - private String getParentKey(Relationship r, String parameter) { - List keyPairs = r.getKeyPair(); - Iterator i = keyPairs.iterator(); - while (i.hasNext()) { - KeyPair pair = (KeyPair) i.next(); - if (pair.getForeignKeyColumn().equals(parameter)) - return pair.getPrimaryKeyColumn(); - } - return null; - } - - public Property getParentReference(String parentName) { - if (this.parentReference == null) { - - Iterator i = dataObject.getType().getProperties().iterator(); - while (i.hasNext()) { - Property ref = (Property) i.next(); - if ((!ref.getType().isDataType()) && (ref.getType().getName().equals(parentName))) { - this.parentReference = ref; - } - } - } - return this.parentReference; - } - - public String getTableName() { - if (mappingWrapper.getConfig() != null) - return mappingWrapper.getTableByPropertyName(getTypeName()).getName(); - else - return null; - } - - public String getTypeName() { - return dataObject.getType().getName(); - } - - public void setPropagatedID(String propagatedID, int id) { - dataObject.setInt(propagatedID, id); - } - - private boolean isPartOfPrimaryKey(String parameter) { - if (mappingWrapper.getConfig() == null) - return false; - Table t = mappingWrapper.getTable(getTableName()); - if (t == null) - return false; - Column c = mappingWrapper.getColumnByPropertyName(t, parameter); - if (c == null) - return false; - return c.isPrimaryKey(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteCommandImpl.java deleted file mode 100644 index 3502784b6f..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteCommandImpl.java +++ /dev/null @@ -1,25 +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.impl; - -public class DeleteCommandImpl extends WriteCommandImpl { - - public DeleteCommandImpl(String sqlString) { - super(sqlString); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteList.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteList.java deleted file mode 100644 index 8650c6119c..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteList.java +++ /dev/null @@ -1,72 +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.impl; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; - -/** - * DeleteList will sort delete operations so that child objects are deleted - * before their parents - * - * - */ -public class DeleteList { - - private HashMap opsByTableName = new HashMap(); - - private ArrayList order; - - private ArrayList deleteOperations = new ArrayList(); - - public DeleteList() { - super(); - } - - public void add(ChangeOperation op) { - if (( order == null ) || ( op.getTableName() == null ) ) { - deleteOperations.add(op); - } else { - String name = op.getTableName(); - ArrayList ops = (ArrayList) opsByTableName.get(name); - if (ops == null) - ops = new ArrayList(); - - ops.add(op); - opsByTableName.put(name, ops); - } - } - - public Collection getSortedList() { - if (( order != null ) && ( opsByTableName.keySet().size() > 0) ) { - Iterator i = this.order.iterator(); - while (i.hasNext()) { - String name = (String) i.next(); - deleteOperations.addAll((Collection) opsByTableName.get(name)); - } - } - - return deleteOperations; - } - - public void setOrder(ArrayList deleteOrder) { - this.order = deleteOrder; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteOperation.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteOperation.java deleted file mode 100644 index 7b71e0ace9..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DeleteOperation.java +++ /dev/null @@ -1,38 +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.impl; - -import org.apache.tuscany.das.rdb.util.DataObjectUtil; - -import commonj.sdo.DataObject; - -public class DeleteOperation extends ChangeOperation { - - - /** - * @param command - * @param changedObject - * Objects deleted from the graph have lost their "settings" and must - * be restored - */ - public DeleteOperation(DeleteCommandImpl command, DataObject changedObject) { - super(command); - this.dObject = new DatabaseObject(command.getMappingModel(),DataObjectUtil.getRestoredCopy(changedObject)); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/FactoryRegistry.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/FactoryRegistry.java deleted file mode 100644 index ce09c748f4..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/FactoryRegistry.java +++ /dev/null @@ -1,49 +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.impl; - -import java.util.HashMap; - -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.Type; - -public class FactoryRegistry { - - private HashMap registry = new HashMap(); - private static final boolean debug = false; - private final MappingWrapper mapping; - private final ConnectionImpl connection; - - public FactoryRegistry(MappingWrapper mapping, ConnectionImpl connection) { - this.mapping = mapping; - this.connection = connection; - } - - public ChangeFactory getFactory(Type type) { - ChangeFactory factory = (ChangeFactory)registry.get(type); - if ( factory == null ) { - DebugUtil.debugln(getClass(), debug, "Creating new ChangeFactory for type " + type.getName()); - factory = new ChangeFactory(type, mapping, connection); - registry.put(type, factory); - } - return factory; - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertCommandImpl.java deleted file mode 100644 index 9c890c7106..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertCommandImpl.java +++ /dev/null @@ -1,79 +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.impl; - -import java.sql.SQLException; - -public class InsertCommandImpl extends WriteCommandImpl { - - private int generatedKey; - - private boolean hasGeneratedKey = false; - - public InsertCommandImpl(String sqlString) { - super(sqlString); - } - - protected boolean isInsert() { - return true; - } - - public int getGeneratedKey() { - - if (hasGeneratedKey) - return generatedKey; - - throw new RuntimeException("No generated key is available"); - } - - public Object getParameterValue(String name) { - - if (name.equals("generated_key")) - if (hasGeneratedKey) - return new Integer(generatedKey); - else - throw new RuntimeException("No generated key available"); - - return super.getParameterValue(name); - } - - protected void subtypeProcessing() throws SQLException { - loadGeneratedKey(); - } - - private void loadGeneratedKey() throws SQLException { - Integer key = statement.getGeneratedKey(); - if (key != null) { - hasGeneratedKey = true; - generatedKey = key.intValue(); - } - - } - - public String toString() { - - String superString = super.toString(); - StringBuffer buffer = new StringBuffer(superString); - - buffer.append("\nGenerating key: " + hasGeneratedKey); - if (hasGeneratedKey) - buffer.append("\nGenerated key: " + generatedKey); - - return buffer.toString(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertList.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertList.java deleted file mode 100644 index dee6546cfe..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/InsertList.java +++ /dev/null @@ -1,82 +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.impl; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - -/** - * InsertList will sort ChangeOperation objects so that parents are inserted - * before children - * - * - */ -public class InsertList { - - private HashMap opsByTableName = new HashMap(); - - private ArrayList insertOperations = new ArrayList(); - - private ArrayList order; - - private static final boolean debug = false; - - public void add(ChangeOperation op) { - DebugUtil.debugln(getClass(), debug, "Adding insert operation "); - // If nothing has been added yet, or this is no ordering, simply - // add the operation to the list - if ((order.size() == 0) || (op.getTableName() == null)) { - insertOperations.add(op); - } else { - String name = op.getTableName(); - ArrayList ops = (ArrayList) opsByTableName.get(name); - if (ops == null) - ops = new ArrayList(); - - ops.add(op); - opsByTableName.put(name, ops); - } - } - - public Collection getSortedList() { - DebugUtil.debugln(getClass(), debug, "Getting sorted insert list"); - if ((order.size() > 0) && opsByTableName.keySet().size() > 0) { - Iterator i = this.order.iterator(); - while (i.hasNext()) { - String name = (String) i.next(); - DebugUtil.debugln(getClass(), debug, - "Adding operations for table " + name); - // A null here means a table is in the config but hasn't been changed here - if (opsByTableName.get(name) != null) - insertOperations.addAll((Collection) opsByTableName - .get(name)); - } - } - DebugUtil.debugln(getClass(), debug, "Returning " - + insertOperations.size() + " insert operations"); - return insertOperations; - } - - public void setOrder(ArrayList insertOrder) { - this.order = insertOrder; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/OptimisticWriteCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/OptimisticWriteCommandImpl.java deleted file mode 100644 index 22ff822bb0..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/OptimisticWriteCommandImpl.java +++ /dev/null @@ -1,45 +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.impl; - -import java.sql.SQLException; - -public class OptimisticWriteCommandImpl extends UpdateCommandImpl { - - public OptimisticWriteCommandImpl(String sqlString) { - super(sqlString); - } - - public void execute() { - - boolean success = false; - try { - int rowsAffected = statement.executeUpdate(parameters); - success = true; - if ( rowsAffected == 0 ) - throw new RuntimeException("OCC Exception"); - } catch (SQLException e) { - throw new RuntimeException(e); - } finally { - if (success) - statement.getConnection().cleanUp(); - else - statement.getConnection().errorCleanUp(); - } - - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/PagerImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/PagerImpl.java deleted file mode 100644 index 32b17ef3e7..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/PagerImpl.java +++ /dev/null @@ -1,64 +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.impl; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.Pager; - -import commonj.sdo.DataObject; - -public class PagerImpl implements Pager { - - private final ReadCommandImpl command; - private final int size; - private int idx = 1; - - public PagerImpl(Command command, int size) { - this.command = (ReadCommandImpl)command; - this.command.enablePaging(); - this.size = size; - } - - public DataObject next() { - int start = idx; - int end = idx + size; - idx += size; - command.setStartRow(start); - command.setEndRow(end); - return command.executeQuery(); - } - - public DataObject getPage(int page) { - int end = (page * size) + 1; - int start = end - size; - idx = end; - command.setStartRow(start); - command.setEndRow(end); - return command.executeQuery(); - } - - public DataObject previous() { - int start = idx - (2 * size); - if ( start < 1 ) - start = 1; - int end = start + size; - idx = end; - command.setStartRow(start); - command.setEndRow(end); - return command.executeQuery(); - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java deleted file mode 100644 index 4528661b2c..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java +++ /dev/null @@ -1,107 +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.impl; - -import org.apache.tuscany.das.rdb.Converter; -import org.apache.tuscany.das.rdb.Parameter; - -import commonj.sdo.Type; - -public class ParameterImpl implements Parameter { - - private int index; - private Type type; - private String name; - private Object value; - private int direction = IN; - private Converter converter; - - public ParameterImpl() { - super(); - } - - public ParameterImpl(String name) { - this.name = name; - } - - public ParameterImpl(int index) { - this.index = index; - } - - public void setType(Type type) { - this.type = type; - } - - public void setIndex(int index) { - if ( index == 0 ) - throw new RuntimeException("Index of zero not allowed"); - this.index = index; - } - - public void setName(String name) { - this.name = name; - } - - public void setValue(Object value) { - this.value = value; - } - - public void setDirection(int direction) { - this.direction = direction; - } - - public Type getType() { - return this.type; - } - - public int getIndex() { - return this.index; - } - - public String getName() { - return this.name; - } - - public Object getValue() { - if ( getConverter() != null ) { - return getConverter().getColumnValue(this.value); - } else { - return this.value; - } - } - - public int getDirection() { - return this.direction; - } - - public void setConverter(Converter converter) { - this.converter = converter; - } - - public Converter getConverter() { - return this.converter; - } - - - public String toString() { - StringBuffer buffer = new StringBuffer(); - buffer.append("Index: " + getIndex()); - buffer.append("\nName: " + getName()); - buffer.append("\nValue: " + getValue()); - return buffer.toString(); - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java deleted file mode 100644 index 4ea42f41b2..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java +++ /dev/null @@ -1,150 +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.impl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.Type; - -public class Parameters { - - private ArrayList parameters = new ArrayList(); - - private ArrayList inParams = new ArrayList(); - - private ArrayList outParams = new ArrayList(); - - private HashMap parametersByName = new HashMap(); - - private static boolean debug = false; - - public Parameters() { - super(); - } - - public Parameter get(String name) { - return (Parameter) parametersByName.get(name); - } - - public Parameter get(int index) { - return (Parameter) parameters.get(index); - } - - public List outParams() { - return outParams; - } - - public List inParams() { - return inParams; - } - - private void addParameter(Parameter param) { - if (param.getDirection() == Parameter.IN) - inParams.add(param); - else if ((param.getDirection() == Parameter.OUT) - || (param.getDirection() == Parameter.IN_OUT)) - outParams.add(param); - - this.parameters.add(param); - parametersByName.put(param.getName(), param); - } - - public void add(Parameter param) { - addParameter(param); - } - - public Parameter findOrCreateParameterNamed(String name) { - Parameter param = get(name); - if (param == null) { - param = new ParameterImpl(name); - addParameter(param); - } - return param; - } - - public Parameter findOrCreateParameterWithIndex(int index, int direction, - Type sdoType) { - Iterator i = parameters.iterator(); - while (i.hasNext()) { - Parameter param = (Parameter) i.next(); - - if (param.getIndex() == index) - return param; - } - DebugUtil.debugln(getClass(), debug, - "Creating new parameter with index " + index); - Parameter newParam = new ParameterImpl(index); - newParam.setDirection(direction); - newParam.setType(sdoType); - addParameter(newParam); - return newParam; - } - - public List parameterList() { - return parameters; - } - - public Parameter findOrCreateParameterWithIndex(int index) { - return findOrCreateParameterWithIndex(index, Parameter.IN, - SDODataTypes.OBJECT); - } - - public void setParameter(int index, Object value) { - Parameter param = findOrCreateParameterWithIndex(index); - param.setValue(value); - } - - public void setParameter(String name, Object value) { - if (name == null) - throw new RuntimeException("Null parameter name not allowed"); - Parameter param = findOrCreateParameterNamed(name); - param.setValue(value); - } - - public void setParameterWithType(String name, Type sdoType) { - if (name == null) - throw new RuntimeException("Null parameter name not allowed"); - Parameter p = findOrCreateParameterNamed(name); - p.setType(sdoType); - } - - public void setParameterWithType(int index, Type sdoType) { - if (index == 0) - throw new RuntimeException("Null parameter index not allowed"); - Parameter p = findOrCreateParameterWithIndex(index); - p.setType(sdoType); - } - - public Parameter parameterWithIndex(int index) { - Iterator i = parameters.iterator(); - while (i.hasNext()) { - Parameter param = (Parameter) i.next(); - - if (param.getIndex() == index) - return param; - } - return null; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java deleted file mode 100644 index 8304457a72..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java +++ /dev/null @@ -1,87 +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.impl; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - - -public class QueryString { - - private final String unmodifiedQueryString; - private final String preparedString; - private HashMap parameters = new HashMap(); - private static final boolean debug = false; - - public QueryString(String originalString) { - this.unmodifiedQueryString = originalString; - this.preparedString = replaceNamesAndSetIndexes(originalString); - } - - public String getPreparedString() { - return this.preparedString; - } - - public String getUnmodifiedString() { - return this.unmodifiedQueryString; - } - - public int getParameterIndex(String name) { - DebugUtil.debugln(getClass(), debug, "Looking for parameter index for: " + name); - //System.out.println(toString()); - return ((Integer)parameters.get(name)).intValue(); - } - - private String replaceNamesAndSetIndexes(String query) { - DebugUtil.debugln(getClass(), debug, "Parameterizing query: " + query); - Pattern p = Pattern.compile(":[\\S&&[^,()]]*"); - Matcher m = p.matcher(query); - - int index = 1; - while (m.find()) { - parameters.put(m.group().substring(1), new Integer(index)); - query = m.replaceFirst("?"); - m = p.matcher(query); - index++; - } - - DebugUtil.debugln(getClass(), debug, "Parameterized query: " + query); - return query; - } - - - public String toString() { - StringBuffer buffer = new StringBuffer(); - buffer.append("\nOriginal SQL: "); - buffer.append(unmodifiedQueryString); - buffer.append("\nPrepared SQL: "); - buffer.append(preparedString); - buffer.append("\nParameters: "); - Iterator i = parameters.keySet().iterator(); - while ( i.hasNext() ) { - String key = (String)i.next(); - buffer.append("\n"); - buffer.append(key); - } - return buffer.toString(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java deleted file mode 100644 index 708fd88b38..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java +++ /dev/null @@ -1,168 +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.impl; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConnectionProperties; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.das.rdb.graphbuilder.impl.GraphBuilderMetadata; -import org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor; -import org.apache.tuscany.sdo.util.SDOUtil; - -import commonj.sdo.ChangeSummary; -import commonj.sdo.DataGraph; -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -public class ReadCommandImpl extends CommandImpl { - - private Type schema; - - private int startRow = 1; - - private int endRow = Integer.MAX_VALUE; - - public ReadCommandImpl(String sqlString) { - super(sqlString); - } - - public ReadCommandImpl(String sqlString, Config mapping) { - this(sqlString); - if (mapping != null) - setMappingModel(mapping); - } - - //TODO - Need to refactor based on use of DataSource and CommandGroup - public ReadCommandImpl(String sqlString, Config mapping, Connection connection) { - this(sqlString); - setConnection(connection); - if (mapping != null) - setMappingModel(mapping); - } - - public void execute() { - throw new UnsupportedOperationException(); - } - - public DataObject executeQuery() { - - if (statement.getConnection() == null) - throw new RuntimeException("A DASConnection object must be specified before executing the query."); - - boolean success = false; - try { - ResultSet rs = statement.executeQuery(parameters); - success = true; - return buildGraph(rs); - } catch (SQLException e) { - throw new RuntimeException(e); - } finally { - if (success) - statement.getConnection().cleanUp(); - else - statement.getConnection().errorCleanUp(); - } - } - - protected DataObject buildGraph(ResultSet result) throws SQLException { - - List results = new ArrayList(); - results.add(result); - - // Before we use the mappingModel, do some checking/updating. If - // inferrable information - // isn't specified, add it in. - - GraphBuilderMetadata gbmd = new GraphBuilderMetadata(results, getSchema(), configWrapper.getConfig(), - resultSetShape); - - // Create the DataGraph - DataGraph g = SDOUtil.createDataGraph(); - - // Create the root object - g.createRootObject(gbmd.getSchema()); - - ChangeSummary summary = g.getChangeSummary(); - - ResultSetProcessor rsp = new ResultSetProcessor(g.getRootObject(), gbmd); - rsp.processResults(getStartRow(), getEndRow()); - - summary.beginLogging(); - - return g.getRootObject(); - } - - private Type getSchema() { - return (Type) schema; - } - - protected int getStartRow() { - return startRow; - } - - protected int getEndRow() { - return endRow; - } - - protected void setStartRow(int startRow) { - this.startRow = startRow; - } - - protected void setEndRow(int endRow) { - this.endRow = endRow; - } - - private void setMappingModel(Config config) { - configWrapper = new MappingWrapper(config); - //TODO - need to refactor and take into regression that lost ability to use Datasource - if (getConnection() == null) - if (config.getConnectionProperties() != null) - setConnection(config.getConnectionProperties()); - } - - public void setConnection(ConnectionProperties c) { - try { - Connection connection = null; - Class.forName(c.getDriverClassName()); - if (c.getDriverUserName() == null) - connection = DriverManager.getConnection(c.getDriverURL()); - else - connection = DriverManager.getConnection(c.getDriverURL(), c.getDriverUserName(), c - .getDriverPassword()); - connection.setAutoCommit(false); - setConnection(connection); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - public void setDataObjectModel(Type schema) { - this.schema = schema; - } - - protected void enablePaging() { - statement.enablePaging(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SDODataTypeHelper.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SDODataTypeHelper.java deleted file mode 100644 index 7afa3b8563..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SDODataTypeHelper.java +++ /dev/null @@ -1,100 +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.impl; - -import java.sql.Types; - -import org.apache.tuscany.das.rdb.SDODataTypes; - -import commonj.sdo.Type; - -public class SDODataTypeHelper { - - static public int sqlTypeFor(Type sdoType) { - if ( sdoType == SDODataTypes.BOOLEAN) - return Types.BOOLEAN; - else if ( sdoType == SDODataTypes.STRING) - return Types.VARCHAR; - else if ( sdoType == SDODataTypes.BYTE) - return Types.TINYINT; - else if ( sdoType == SDODataTypes.BYTES) - return Types.BINARY; - else if ( sdoType == SDODataTypes.CHARACTER) - return Types.CHAR; - else if ( sdoType == SDODataTypes.DATE) - return Types.DATE; - else if ( sdoType == SDODataTypes.DATETIME) - return Types.DATE; - else if ( sdoType == SDODataTypes.DAY ) - return java.sql.Types.BINARY; - else if ( sdoType == SDODataTypes.DECIMAL ) - return java.sql.Types.DECIMAL; - else if ( sdoType == SDODataTypes.DOUBLE ) - return java.sql.Types.DOUBLE; - else if ( sdoType == SDODataTypes.DURATION ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.FLOAT ) - return java.sql.Types.REAL; - else if ( sdoType == SDODataTypes.INT ) - return java.sql.Types.INTEGER; - else if ( sdoType == SDODataTypes.INTEGER ) - return java.sql.Types.INTEGER; - else if ( sdoType == SDODataTypes.LONG ) - return java.sql.Types.BIGINT; - else if ( sdoType == SDODataTypes.MONTH ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.MONTHDAY ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.OBJECT ) - return java.sql.Types.JAVA_OBJECT; - else if ( sdoType == SDODataTypes.SHORT ) - return java.sql.Types.SMALLINT; - else if ( sdoType == SDODataTypes.STRING ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.STRINGS ) - return java.sql.Types.OTHER; - else if ( sdoType == SDODataTypes.TIME ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.URI ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.YEAR ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.YEARMONTH ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.YEARMONTHDAY ) - return java.sql.Types.VARCHAR; - else if ( sdoType == SDODataTypes.BOOLEANOBJECT ) - return java.sql.Types.BOOLEAN; - else if ( sdoType == SDODataTypes.BYTEOBJECT ) - return java.sql.Types.TINYINT; - else if ( sdoType == SDODataTypes.CHARACTEROBJECT ) - return java.sql.Types.CHAR; - else if ( sdoType == SDODataTypes.DOUBLEOBJECT ) - return java.sql.Types.DOUBLE; - else if ( sdoType == SDODataTypes.FLOATOBJECT ) - return java.sql.Types.REAL; - else if ( sdoType == SDODataTypes.INTEGEROBJECT ) - return java.sql.Types.INTEGER; - else if ( sdoType == SDODataTypes.LONGOBJECT ) - return java.sql.Types.BIGINT; - else if ( sdoType == SDODataTypes.SHORTOBJECT ) - return java.sql.Types.SMALLINT; - else - throw new RuntimeException("Not a valid SDO Type " + sdoType); - - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java deleted file mode 100644 index 0fb647815d..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java +++ /dev/null @@ -1,73 +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.impl; - -import java.sql.ResultSet; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -import commonj.sdo.DataObject; - -public class SPCommandImpl extends ReadCommandImpl { - - public SPCommandImpl(String sqlString) { - super(sqlString); - } - - public SPCommandImpl(String sqlString, Config config) { - super(sqlString, config); - } - - public DataObject executeQuery() { - - boolean success = false; - try { - ResultSet rs = statement.executeCall(parameters); - success = true; - - return buildGraph(rs); - } catch (SQLException e) { - DebugUtil.debugln(getClass(), debug, e); - throw new RuntimeException(e); - } finally { - if (success) - statement.getConnection().cleanUp(); - else - statement.getConnection().errorCleanUp(); - } - } - - public void execute() { - - boolean success = false; - try { - statement.executeUpdateCall(parameters); - success = true; - } catch (SQLException e) { - throw new RuntimeException(e); - } finally { - if (success) - statement.getConnection().cleanUp(); - else - statement.getConnection().errorCleanUp(); - } - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java deleted file mode 100644 index 6bc18dc229..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java +++ /dev/null @@ -1,206 +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.impl; - -import java.sql.CallableStatement; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.util.DebugUtil; - -//TODO - Can use some refactoring. Much code is duplicated in "execute" methods -public class Statement { - - protected final QueryString queryString; - - protected ConnectionImpl jdbcConnection; - - private static final boolean debug = false; - - private PreparedStatement preparedStatement; - - private boolean isPaging = false; - - public Statement(String sqlString) { - this.queryString = new QueryString(sqlString); - } - - public ResultSet executeQuery(Parameters parameters) throws SQLException { - - PreparedStatement ps = getPreparedStatement(); - ps = setParameters(ps, parameters); - ResultSet rs = ps.executeQuery(); - - return rs; - } - - public ResultSet executeCall(Parameters parameters) throws SQLException { - try { - CallableStatement cs = jdbcConnection.prepareCall(queryString); - - Iterator inParams = parameters.inParams().iterator(); - while (inParams.hasNext()) { - Parameter param = (Parameter) inParams.next(); - if (param.getIndex() == 0) - param.setIndex(queryString.getParameterIndex(param.getName())); - cs.setObject(param.getIndex(), param.getValue()); - } - - // register out parameters - Iterator outParams = parameters.outParams().iterator(); - while (outParams.hasNext()) { - Parameter param = (Parameter) outParams.next(); - if (param.getIndex() == 0) - param.setIndex(queryString.getParameterIndex(param.getName())); - DebugUtil.debugln(getClass(), debug, "Registering parameter " + param.getName()); - cs.registerOutParameter(param.getIndex(), SDODataTypeHelper.sqlTypeFor(param.getType())); - } - - // Using execute because Derby does not currenlty support - // executeQuery - // for SP - cs.execute(); - ResultSet results = cs.getResultSet(); - - Iterator i = parameters.outParams().iterator(); - while (i.hasNext()) { - Parameter param = (Parameter) i.next(); - param.setValue(cs.getObject(param.getIndex())); - } - - return results; - } catch (SQLException ex) { - ex.printStackTrace(); - throw ex; - } - - } - - public void executeUpdateCall(Parameters parameters) throws SQLException { - CallableStatement cs = jdbcConnection.prepareCall(queryString); - - Iterator inParams = parameters.inParams().iterator(); - while (inParams.hasNext()) { - Parameter param = (Parameter) inParams.next(); - if (param.getIndex() == 0) - param.setIndex(queryString.getParameterIndex(param.getName())); - cs.setObject(param.getIndex(), param.getValue()); - } - - // register out parameters - Iterator outParams = parameters.outParams().iterator(); - while (outParams.hasNext()) { - Parameter param = (Parameter) outParams.next(); - if (param.getIndex() == 0) - param.setIndex(queryString.getParameterIndex(param.getName())); - DebugUtil.debugln(getClass(), debug, "Registering parameter " + param.getName()); - cs.registerOutParameter(param.getIndex(), SDODataTypeHelper.sqlTypeFor(param.getType())); - } - - cs.execute(); - - Iterator out = parameters.outParams().iterator(); - while (out.hasNext()) { - Parameter param = (Parameter) out.next(); - param.setValue(cs.getObject(param.getIndex())); - } - - } - - /** - * TODO - We need to look at using specific ps.setXXX methods when a type - * has been specified and try setObject otherwise. - */ - public int executeUpdate(Parameters parameters) throws SQLException { - DebugUtil.debugln(getClass(), debug, "Executing statement " + queryString.getPreparedString()); - PreparedStatement ps = getPreparedStatement(); - Iterator i = parameters.inParams().iterator(); - while (i.hasNext()) { - Parameter param = (Parameter) i.next(); - if (param.getIndex() == 0) - param.setIndex(queryString.getParameterIndex(param.getName())); - Object value = param.getValue(); - DebugUtil.debugln(getClass(), debug, "Setting parameter " + param.getIndex() + " to " + value); - if (value == null) { - ps.setNull(param.getIndex(), SDODataTypeHelper.sqlTypeFor(param.getType())); - } else { - ps.setObject(param.getIndex(), value); - } - } - return ps.executeUpdate(); - } - - protected PreparedStatement setParameters(PreparedStatement ps, Parameters parameters) - throws SQLException { - Iterator i = parameters.inParams().iterator(); - while (i.hasNext()) { - Parameter param = (Parameter) i.next(); - if (param.getIndex() == 0) - param.setIndex(queryString.getParameterIndex(param.getName())); - ps.setObject(param.getIndex(), param.getValue()); - } - return ps; - } - - public void setConnection(ConnectionImpl jdbcConnection) { - this.jdbcConnection = jdbcConnection; - } - - public ConnectionImpl getConnection() { - return this.jdbcConnection; - } - - private PreparedStatement getPreparedStatement() throws SQLException { - DebugUtil.debugln(getClass(), debug, "Getting prepared statement"); - if (preparedStatement == null) - if (isPaging) - preparedStatement = jdbcConnection.preparePagedStatement(queryString); - else - preparedStatement = jdbcConnection.prepareStatement(queryString); - - return preparedStatement; - } - - public Integer getGeneratedKey() throws SQLException { - - ResultSet rs = getPreparedStatement().getGeneratedKeys(); - if (rs.next()) - return new Integer(rs.getInt(1)); - - return null; - } - - protected void enablePaging() { - isPaging = true; - } - - public void close() { - - if (this.preparedStatement != null) { - try { - preparedStatement.close(); - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateCommandImpl.java deleted file mode 100644 index 7fffe97d5d..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateCommandImpl.java +++ /dev/null @@ -1,25 +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.impl; - -public class UpdateCommandImpl extends WriteCommandImpl { - - public UpdateCommandImpl(String sqlString) { - super(sqlString); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateList.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateList.java deleted file mode 100644 index 1ab2f16fca..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateList.java +++ /dev/null @@ -1,42 +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.impl; - -import java.util.ArrayList; -import java.util.Collection; - -/** - * Updates don't have to be sorted, so this class is a simple wrapper of ArrayList. - * - */ -public class UpdateList { - - private ArrayList updates = new ArrayList(); - - public UpdateList() { - super(); - } - - public void add(ChangeOperation c) { - updates .add(c); - } - - public Collection getSortedList() { - return updates; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateOperation.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateOperation.java deleted file mode 100644 index cbe73a16e4..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/UpdateOperation.java +++ /dev/null @@ -1,30 +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.impl; - - -import commonj.sdo.DataObject; - - -public class UpdateOperation extends ChangeOperation { - - public UpdateOperation(UpdateCommandImpl command, DataObject changedObject, String id) { - super(command, changedObject); - this.propagatedID = id; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java deleted file mode 100644 index ff1ac385d4..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java +++ /dev/null @@ -1,97 +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.impl; - -import java.sql.SQLException; -import java.util.Collection; -import java.util.Iterator; - -import org.apache.tuscany.das.rdb.Parameter; -import org.apache.tuscany.das.rdb.config.Config; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -public abstract class WriteCommandImpl extends CommandImpl { - - - public WriteCommandImpl(String sqlString) { - super(sqlString); - } - - public void execute() { - - boolean success = false; - try { - statement.executeUpdate(parameters); - subtypeProcessing(); - success = true; - } catch (SQLException e) { - throw new RuntimeException(e); - } finally { - if (success) - statement.getConnection().cleanUp(); - else - statement.getConnection().errorCleanUp(); - } - - } - - public DataObject executeQuery() { - throw new UnsupportedOperationException(); - } - - public Config getMappingModel() { - return configWrapper.getConfig(); - } - - - /** - * Subclasses add specific bahavior - * Default is to do nothing - */ - protected void subtypeProcessing() throws SQLException { - if ( false ) - throw new SQLException(); - } - - public void setDataObjectModel(Type schema) { - // don't really care what the model is here - } - - public String toString() { - - StringBuffer buffer = new StringBuffer(); - buffer.append("\nSQL: " + statement.queryString.getUnmodifiedString()); - buffer.append("\nModified SQL: " + statement.queryString.getPreparedString()); - return buffer.toString(); - } - - public int getGeneratedKey() { - throw new RuntimeException("No generated key is available"); - } - - public void addParameters(Collection updateParameters) { - Iterator i = updateParameters.iterator(); - while ( i.hasNext()) { - Parameter p = (Parameter) i.next(); - addParameter(p); - } - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/merge/impl/GraphMerger.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/merge/impl/GraphMerger.java deleted file mode 100644 index 15943da067..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/merge/impl/GraphMerger.java +++ /dev/null @@ -1,166 +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.merge.impl; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.logging.Logger; - -import org.apache.tuscany.das.rdb.config.wrapper.QualifiedColumn; -import org.apache.tuscany.das.rdb.graphbuilder.impl.MultiTableRegistry; -import org.apache.tuscany.das.rdb.graphbuilder.impl.TableRegistry; -import org.apache.tuscany.sdo.impl.ChangeSummaryImpl; - -import commonj.sdo.ChangeSummary; -import commonj.sdo.DataObject; -import commonj.sdo.Property; - -public class GraphMerger { - - private HashMap keys = new HashMap(); - - private TableRegistry registry = new MultiTableRegistry(); - - private static Logger logger = Logger.getLogger("GraphMerger"); - - //TODO lots of cleanup/design - public GraphMerger() { - // Empty Constructor - } - - public DataObject merge(List graphs) { - DataObject primaryGraph = (DataObject) graphs.get(0); - - Iterator i = graphs.iterator(); - if (i.hasNext()) - i.next(); - while (i.hasNext()) { - primaryGraph = merge(primaryGraph, (DataObject) i.next()); - } - - return primaryGraph; - } - - public DataObject merge(DataObject primary, DataObject secondary) { - addGraphToRegistry(primary); - - ChangeSummary summary = primary - .getDataGraph().getChangeSummary(); - summary.endLogging(); - Iterator i = secondary.getType().getProperties().iterator(); - - while (i.hasNext()) { - Property p = (Property) i.next(); - - Iterator objects = secondary.getList(p.getName()).iterator(); - while (objects.hasNext()) { - DataObject object = (DataObject) objects.next(); - createObjectWithSubtree(primary, p, object); - } - } - ((ChangeSummaryImpl)summary).resumeLogging(); - return primary; - } - - private void createObjectWithSubtree(DataObject root, Property p, - DataObject object) { - Object pk = getPrimaryKey(object); - - if (!registry.contains(object.getType().getName(), Collections - .singletonList(pk))) { - // logger.info("creating " + object.getType().getName() + " with pk " + pk); - DataObject newObject = root.createDataObject(p.getName()); - - - - Iterator attrs = object.getType().getProperties().iterator(); - while (attrs.hasNext()) { - Property attr = (Property) attrs.next(); - if ( attr.getType().isDataType()) { - newObject.set(attr.getName(), object.get(attr)); - } - } - registry.put(object.getType().getName(), Collections - .singletonList(pk), newObject); - - Iterator refs = object.getType().getProperties().iterator(); - while (refs.hasNext()) { - Property ref = (Property) refs.next(); - if ( !ref.getType().isDataType()) { - List refObjects; - if (!ref.isMany()) { - refObjects = Collections.singletonList(object.get(ref)); - } else { - refObjects = (List) object.get(ref); - } - - Iterator iter = refObjects.iterator(); - while (iter.hasNext()) { - DataObject refObject = (DataObject) iter.next(); - createObjectWithSubtree(root, refObject - .getContainmentProperty(), refObject); - - refObject = (DataObject) registry.get(refObject.getType().getName(), Collections.singletonList(getPrimaryKey(refObject))); - if (ref.isMany()) { - newObject.getList( - newObject.getType().getProperty(ref.getName())) - .add(refObject); - } else - newObject.set(newObject.getType().getProperty( - ref.getName()), refObject); - } - } - - } - - } - - } - - private void addGraphToRegistry(DataObject graph1) { - Iterator i = graph1.getType().getProperties().iterator(); - while (i.hasNext()) { - Property p = (Property) i.next(); - Iterator objects = graph1.getList(p).iterator(); - while (objects.hasNext()) { - DataObject object = (DataObject) objects.next(); - Object pk = object.get(getPrimaryKeyName(object)); - logger.finest("Adding object with pk " + pk + " to registry"); - registry.put(object.getType().getName(), Collections - .singletonList(pk), object); - } - } - } - - private Object getPrimaryKey(DataObject object) { - String pkName = getPrimaryKeyName(object); - return object.get(pkName); - } - - private String getPrimaryKeyName(DataObject object) { - return (String) keys.get(object.getType().getName()); - } - - public void addPrimaryKey(String key) { - QualifiedColumn column = new QualifiedColumn(key); - logger.finest("Adding " + column.getTableName() + " " - + column.getColumnName() + " to keys"); - keys.put(column.getTableName(), column.getColumnName()); - } -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/ConfigUtil.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/ConfigUtil.java deleted file mode 100644 index c0d7f41e8b..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/ConfigUtil.java +++ /dev/null @@ -1,51 +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.util; - -import java.io.IOException; -import java.io.InputStream; - -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; -import org.apache.tuscany.sdo.util.SDOUtil; - -import commonj.sdo.helper.XMLHelper; - -/** - * Config util provides config-related utilities such as loading a Config - * instance from an InputStream - * - */ -public class ConfigUtil { - - public static Config loadConfig(InputStream configStream) { - - if (configStream == null) - throw new Error( - "Cannot load configuration from a null InputStream. Possibly caused by an incorrect config xml file name"); - - SDOUtil.registerStaticTypes(ConfigFactory.class); - XMLHelper helper = XMLHelper.INSTANCE; - - try { - return (Config) helper.load(configStream).getRootObject(); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DataObjectUtil.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DataObjectUtil.java deleted file mode 100644 index 7f96f9aef4..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DataObjectUtil.java +++ /dev/null @@ -1,73 +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.util; - -import java.util.Iterator; -import java.util.List; - -import commonj.sdo.ChangeSummary; -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.ChangeSummary.Setting; -import commonj.sdo.helper.DataFactory; - -/** - */ -public class DataObjectUtil { - - //Utilities - public static DataObject getRestoredCopy(DataObject changedDO) { - DataObject changedCopy = getCopy(changedDO); - restoreAttributeValues(changedCopy, changedDO); - return changedCopy; - } - - public static DataObject getCopy(DataObject original) { - - DataObject copy = DataFactory.INSTANCE.create(original.getType()); - - //Fill in values - Iterator i = original.getType().getProperties().iterator(); - while (i.hasNext()) { - Property feature = (Property) i.next(); - copy.set(feature, original.get(feature)); - } - return copy; - } - - /** - * @param changedCopy - * @return - */ - private static void restoreAttributeValues(DataObject changedCopy, DataObject changedDO) { - - ChangeSummary changeSummary = changedDO.getDataGraph().getChangeSummary(); - List changes = changeSummary.getOldValues(changedDO); - if ( changes == null ) - return; - - Iterator i = changes.iterator(); - while (i.hasNext()) { - Setting s = (Setting) i.next(); - if ( s.getProperty().getType().isDataType() ) - changedCopy.set(s.getProperty(), s.getValue()); - } - } - - - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugFormatter.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugFormatter.java deleted file mode 100644 index ed2e1063d6..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugFormatter.java +++ /dev/null @@ -1,34 +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.util; - -import java.util.logging.Formatter; -import java.util.logging.LogRecord; - -public class DebugFormatter extends Formatter { - - public String format(LogRecord record) { - StringBuffer message = new StringBuffer(); - message.append("["); - message.append(record.getSourceClassName()); - message.append("] "); - message.append(record.getMessage()); - message.append("\n"); - return message.toString(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugUtil.java b/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugUtil.java deleted file mode 100644 index 745fe8cb7e..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/util/DebugUtil.java +++ /dev/null @@ -1,66 +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.util; - -import java.util.logging.ConsoleHandler; -import java.util.logging.Handler; -import java.util.logging.Level; -import java.util.logging.Logger; - -//TODO Restructure Logging -public class DebugUtil { - - private static StringBuffer buffer = new StringBuffer(); - private static final Logger logger = Logger.getAnonymousLogger(); - - static { - logger.setUseParentHandlers(false); - Handler h = new ConsoleHandler(); - h.setFormatter(new DebugFormatter()); - logger.addHandler(h); - } - public static void debugln(Class c, boolean flag, Object obj) { - - if ( flag ) { - logger.logp(Level.INFO, getClassName(c), null, obj.toString() ); - } - } - - public static void debug(Class c, boolean flag, Object obj) { - if ( flag ) { - System.out.print("[" + getClassName(c) + "] " + obj ); - } - } - - public static void buffer(boolean flag, Object obj) { - if ( flag ) - buffer.append(obj); - } - - public static void flushBuffer(Class c, boolean flag) { - if ( flag ) { - System.out.println("[" + getClassName(c) + "] " + buffer.toString()); - buffer = new StringBuffer(); - } - } - - private static String getClassName(Class c) { - String className = c.getName(); - return className.substring(className.lastIndexOf(".") + 1); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/LICENSE.txt b/branches/java-M1/java/das/rdb/src/main/resources/META-INF/LICENSE.txt deleted file mode 100644 index 25d78feeac..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/LICENSE.txt +++ /dev/null @@ -1,1277 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -APACHE TUSCANY SUBCOMPONENTS: - -The Apache Tuscany distribution includes a number of subcomponents with -separate copyright notices and license terms. Your use of the source -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -For the Eclipse Modeling Framework component and the Celtix binding: - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY -WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== - -For the Rhino JavaScript container component: - -Mozilla Public License 1.1 (MPL 1.1) - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the -Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to -the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original Code, -prior Modifications used by a Contributor, and the Modifications made by that -particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the -combination of the Original Code and Modifications, in each case including -portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally -accepted in the software development community for the electronic transfer of -data. - - 1.5. "Executable" means Covered Code in any form other than Source -Code. - - 1.6. "Initial Developer" means the individual or entity identified as -the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. "Larger Work" means a work which combines Covered Code or -portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum -extent possible, whether at the time of the initial grant or subsequently -acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the -substance or structure of either the Original Code or any previous -Modifications. When Covered Code is released as a series of files, a -Modification is: - A. Any addition to or deletion from the contents of a file -containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or -previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code -which is described in the Source Code notice required by Exhibit A as Original -Code, and which, at the time of its release under this License is not already -Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or -hereafter acquired, including without limitation, method, process, and -apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for -making modifications to it, including all modules it contains, plus any -associated interface definition files, scripts used to control compilation and -installation of an Executable, or source code differential comparisons against -either the Original Code or another well known, available Covered Code of the -Contributor's choice. The Source Code can be in a compressed or archival form, -provided the appropriate decompression or de-archiving software is widely -available for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity -exercising rights under, and complying with all of the terms of, this License -or a future version of this License issued under Section 6.1. For legal -entities, "You" includes any entity which controls, is controlled by, or is -under common control with You. For purposes of this definition, "control" -means (a) the power, direct or indirect, to cause the direction or management -of such entity, whether by contract or otherwise, or (b) ownership of more -than fifty percent (50%) of the outstanding shares or beneficial ownership of -such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, -non-exclusive license, subject to third party intellectual property claims: - (a) under intellectual property rights (other than patent or -trademark) Licensable by Initial Developer to use, reproduce, modify, display, -perform, sublicense and distribute the Original Code (or portions thereof) -with or without Modifications, and/or as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or selling -of Original Code, to make, have made, use, practice, sell, and offer for sale, -and/or otherwise dispose of the Original Code (or portions thereof). - (c) the licenses granted in this Section 2.1(a) and -(b) are effective on the date Initial Developer first distributes Original -Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is -granted: 1) for code that You delete from the Original Code; 2) separate from -the Original Code; or 3) for infringements caused by: i) the modification of -the Original Code or ii) the combination of the Original Code with other -software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor -hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or -trademark) Licensable by Contributor, to use, reproduce, modify, display, -perform, sublicense and distribute the Modifications created by such -Contributor (or portions thereof) either on an unmodified basis, with other -Modifications, as Covered Code and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or selling -of Modifications made by that Contributor either alone and/or in combination -with its Contributor Version (or portions of such combination), to make, use, -sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications -made by that Contributor (or portions thereof); and 2) the combination of -Modifications made by that Contributor with its Contributor Version (or -portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are -effective on the date Contributor first makes Commercial Use of the Covered -Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is -granted: 1) for any code that Contributor has deleted from the Contributor -Version; 2) separate from the Contributor Version; 3) for infringements -caused by: i) third party modifications of Contributor Version or ii) the -combination of Modifications made by that Contributor with other software -(except as part of the Contributor Version) or other devices; or 4) under -Patent Claims infringed by Covered Code in the absence of Modifications made -by that Contributor. - - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are -governed by the terms of this License, including without limitation Section -2.2. The Source Code version of Covered Code may be distributed only under the -terms of this License or a future version of this License released under -Section 6.1, and You must include a copy of this License with every copy of -the Source Code You distribute. You may not offer or impose any terms on any -Source Code version that alters or restricts the applicable version of this -License or the recipients' rights hereunder. However, You may include an -additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be -made available in Source Code form under the terms of this License either on -the same media as an Executable version or via an accepted Electronic -Distribution Mechanism to anyone to whom you made an Executable version -available; and if made available via Electronic Distribution Mechanism, must -remain available for at least twelve (12) months after the date it initially -became available, or at least six (6) months after a subsequent version of -that particular Modification has been made available to such recipients. You -are responsible for ensuring that the Source Code version remains available -even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a -file documenting the changes You made to create that Covered Code and the date -of any change. You must include a prominent statement that the Modification is -derived, directly or indirectly, from Original Code provided by the Initial -Developer and including the name of the Initial Developer in (a) the Source -Code, and (b) in any notice in an Executable version or related documentation -in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's -intellectual property rights is required to exercise the rights granted by -such Contributor under Sections 2.1 or 2.2, Contributor must include a text -file with the Source Code distribution titled "LEGAL" which describes the -claim and the party making the claim in sufficient detail that a recipient -will know whom to contact. If Contributor obtains such knowledge after the -Modification is made available as described in Section 3.2, Contributor shall -promptly modify the LEGAL file in all copies Contributor makes available -thereafter and shall take other steps (such as notifying appropriate mailing -lists or newsgroups) reasonably calculated to inform those who received the -Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming -interface and Contributor has knowledge of patent licenses which are -reasonably necessary to implement that API, Contributor must also include this -information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to -Section 3.4(a) above, Contributor believes that Contributor's Modifications -are Contributor's original creation(s) and/or Contributor has sufficient -rights to grant the rights conveyed by this License. - - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source -Code. If it is not possible to put such notice in a particular Source Code -file due to its structure, then You must include such notice in a location -(such as a relevant directory) where a user would be likely to look for such a -notice. If You created one or more Modification(s) You may add your name as a -Contributor to the notice described in Exhibit A. You must also duplicate -this License in any documentation for the Source Code where You describe -recipients' rights or ownership rights relating to Covered Code. You may -choose to offer, and to charge a fee for, warranty, support, indemnity or -liability obligations to one or more recipients of Covered Code. However, You -may do so only on Your own behalf, and not on behalf of the Initial Developer -or any Contributor. You must make it absolutely clear than any such warranty, -support, indemnity or liability obligation is offered by You alone, and You -hereby agree to indemnify the Initial Developer and every Contributor for any -liability incurred by the Initial Developer or such Contributor as a result of -warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the -requirements of Section 3.1-3.5 have been met for that Covered Code, and if -You include a notice stating that the Source Code version of the Covered Code -is available under the terms of this License, including a description of how -and where You have fulfilled the obligations of Section 3.2. The notice must -be conspicuously included in any notice in an Executable version, related -documentation or collateral in which You describe recipients' rights relating -to the Covered Code. You may distribute the Executable version of Covered Code -or ownership rights under a license of Your choice, which may contain terms -different from this License, provided that You are in compliance with the -terms of this License and that the license for the Executable version does not -attempt to limit or alter the recipient's rights in the Source Code version -from the rights set forth in this License. If You distribute the Executable -version under a different license You must make it absolutely clear that any -terms which differ from this License are offered by You alone, not by the -Initial Developer or any Contributor. You hereby agree to indemnify the -Initial Developer and every Contributor for any liability incurred by the -Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code -not governed by the terms of this License and distribute the Larger Work as a -single product. In such a case, You must make sure the requirements of this -License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Code due to statute, -judicial order, or regulation then You must: (a) comply with the terms of this -License to the maximum extent possible; and (b) describe the limitations and -the code they affect. Such description must be included in the LEGAL file -described in Section 3.4 and must be included with all distributions of the -Source Code. Except to the extent prohibited by statute or regulation, such -description must be sufficiently detailed for a recipient of ordinary skill to -be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached -the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised -and/or new versions of the License from time to time. Each version will be -given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the -License, You may always continue to use it under the terms of that version. -You may also choose to use such Covered Code under the terms of any subsequent -version of the License published by Netscape. No one other than Netscape has -the right to modify the terms applicable to Covered Code created under this -License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may -only do in order to apply it to code which is not already Covered Code -governed by this License), You must (a) rename Your license so that the -phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or -any confusingly similar phrase do not appear in your license (except to note -that your license differs from this License) and (b) otherwise make it clear -that Your version of the license contains terms which differ from the Mozilla -Public License and Netscape Public License. (Filling in the name of the -Initial Developer, Original Code or Contributor in the notice described in -Exhibit A shall not of themselves be deemed to be modifications of this -License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT -LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, -FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE -QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED -CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY -OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR -CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS -LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS -DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate -automatically if You fail to comply with terms herein and fail to cure such -breach within 30 days of becoming aware of the breach. All sublicenses to the -Covered Code which are properly granted shall survive any termination of this -License. Provisions which, by their nature, must remain in effect beyond the -termination of this License shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement -claim (excluding declatory judgment actions) against Initial Developer or a -Contributor (the Initial Developer or Contributor against whom You file such -action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly -infringes any patent, then any and all rights granted by such Participant to -You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice -from Participant terminate prospectively, unless if within 60 days after -receipt of notice You either: (i) agree in writing to pay Participant a -mutually agreeable reasonable royalty for Your past and future use of -Modifications made by such Participant, or (ii) withdraw Your litigation claim -with respect to the Contributor Version against such Participant. If within -60 days of notice, a reasonable royalty and payment arrangement are not -mutually agreed upon in writing by the parties or the litigation claim is not -withdrawn, the rights granted by Participant to You under Sections 2.1 and/or -2.2 automatically terminate at the expiration of the 60 day notice period -specified above. - - (b) any software, hardware, or device, other than such Participant's -Contributor Version, directly or indirectly infringes any patent, then any -rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are -revoked effective as of the date You first made, used, sold, distributed, or -had made, Modifications made by that Participant. - - 8.3. If You assert a patent infringement claim against Participant -alleging that such Participant's Contributor Version directly or indirectly -infringes any patent where such claim is resolved (such as by license or -settlement) prior to the initiation of patent infringement litigation, then -the reasonable value of the licenses granted by such Participant under -Sections 2.1 or 2.2 shall be taken into account in determining the amount or -value of any payment or license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, all -end user license agreements (excluding distributors and resellers) which have -been validly granted by You or any distributor hereunder prior to termination -shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT -(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL -DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY -SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, -SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, -WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER -FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, -EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH -DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH -OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT -APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE -EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS -EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in 48 -C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and -"commercial computer software documentation," as such terms are used in 48 -C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. -227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users -acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter -hereof. If any provision of this License is held to be unenforceable, such -provision shall be reformed only to the extent necessary to make it -enforceable. This License shall be governed by California law provisions -(except to the extent applicable law, if any, provides otherwise), excluding -its conflict-of-law provisions. With respect to disputes in which at least one -party is a citizen of, or an entity chartered or registered to do business in -the United States of America, any litigation relating to this License shall be -subject to the jurisdiction of the Federal Courts of the Northern District of -California, with venue lying in Santa Clara County, California, with the -losing party responsible for costs, including without limitation, court costs -and reasonable attorneys' fees and expenses. The application of the United -Nations Convention on Contracts for the International Sale of Goods is -expressly excluded. Any law or regulation which provides that the language of -a contract shall be construed against the drafter shall not apply to this -License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is -responsible for claims and damages arising, directly or indirectly, out of its -utilization of rights under this License and You agree to work with Initial -Developer and Contributors to distribute such responsibility on an equitable -basis. Nothing herein is intended or shall be deemed to constitute any -admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as -Multiple-Licensed. Multiple-Licensed means that the Initial Developer permits -you to utilize portions of the Covered Code under Your choice of the MPL or -the alternative licenses, if any, specified by the Initial Developer in the -file described in Exhibit A. - - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License -Version 1.1 (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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" -basis, WITHOUT WARRANTY OF - ANY KIND, either express or implied. See the License for the specific -language governing rights and - limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. -Portions created by - ______________________ are Copyright (C) ______ -_______________________. All Rights - Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms of -the _____ license (the [___] License), in which case the provisions of -[______] License are applicable instead of those above. If you wish to allow -use of your version of this file only under the terms of the [____] License -and not to allow others to use your version of this file under the MPL, -indicate your decision by deleting the provisions above and replace them -with the notice and other provisions required by the [___] License. If you do -not delete the provisions above, a recipient may use your version of this file -under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of -the notices in the Source Code files of the Original Code. You should use the -text of this Exhibit A rather than the text found in the Original Code Source -Code for Your Modifications.] - - -=============================================================================== - -For the JAX-WS Reference Implementation component: - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - diff --git a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/MANIFEST.MF b/branches/java-M1/java/das/rdb/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index cfdce9ed00..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,13 +0,0 @@ -Manifest-Version: 1.0 -Extension-Name: tuscany-das-rdb -Specification-Title: Tuscany DAS for Relational Databases -Specification-Vendor: Apache Software Foundation -Implementation-Vendor: Apache Software Foundation -Implementation-Vendor-Id: org.apache -Implementation-Title: tuscany-das-rdb -Implementation-Version: incubating-M1 -Bundle-ManifestVersion: 2 -Bundle-Name: Tuscany DAS for Relational Databases -Bundle-SymbolicName: org.apache.tuscany.das.rdb -Bundle-Version: 1.0.0 -Bundle-Vendor: Apache Software Foundation diff --git a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/NOTICE b/branches/java-M1/java/das/rdb/src/main/resources/META-INF/NOTICE deleted file mode 100644 index d48810c0ec..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/NOTICE +++ /dev/null @@ -1,18 +0,0 @@ -========================================================================= -== NOTICE file corresponding to the section 4 d of == -== the Apache License, Version 2.0, == -== in this case for the Apache Tuscany distribution. == -========================================================================= - -This product includes software developed by the Apache Software Foundation -(http://www.apache.org/). - -This product also includes software developed by: -- the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) -- the Celtix project (http://celtix.objectweb.org/) -- the Mozilla Rhino project (http://www.mozilla.org/rhino/) -- the GlassFish JAX-WS project (https://jax-ws.dev.java.net/) - -Please read the LICENSE.txt file present in the root directory of this -distribution. - diff --git a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/README.txt b/branches/java-M1/java/das/rdb/src/main/resources/META-INF/README.txt deleted file mode 100644 index 9b26d1690a..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/resources/META-INF/README.txt +++ /dev/null @@ -1,35 +0,0 @@ -Apache Tuscany M1 build (May, 2006) -=================================== - -http://incubator.apache.org/tuscany/ - -Tuscany is an effort undergoing incubation at the Apache Software Foundation -(ASF), sponsored by the Web Services PMC. - -Incubation is required of all newly accepted projects until a further review -indicates that the infrastructure, communications, and decision making process -have stabilized in a manner consistent with other successful ASF projects. - -While incubation status is not necessarily a reflection of the completeness or -stability of the code, it does indicate that the project has yet to be fully -endorsed by the ASF. - - -Support -------- - -Any problem with this release can be reported to the Tuscany mailing list -or in the JIRA issue tracker. - -Mailing list subscription: - tuscany-dev-subscribe@ws.apache.org - -Jira: - http://issues.apache.org/jira/browse/Tuscany - - -Thank you for using Tuscany! - - -The Tuscany Team. - diff --git a/branches/java-M1/java/das/rdb/src/main/resources/config.xsd b/branches/java-M1/java/das/rdb/src/main/resources/config.xsd deleted file mode 100644 index 031f5a9546..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/resources/config.xsd +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/java-M1/java/das/rdb/src/main/resources/dasmodel4.mdl b/branches/java-M1/java/das/rdb/src/main/resources/dasmodel4.mdl deleted file mode 100644 index 1de7601cab..0000000000 --- a/branches/java-M1/java/das/rdb/src/main/resources/dasmodel4.mdl +++ /dev/null @@ -1,4645 +0,0 @@ - -(object Petal - version 42 - _written "Rose 4.5.8163.3" - charSet 0) - -(object Design "Logical View" - is_unit TRUE - is_loaded TRUE - defaults (object defaults - rightMargin 0.250000 - leftMargin 0.250000 - topMargin 0.250000 - bottomMargin 0.500000 - pageOverlap 0.250000 - clipIconLabels TRUE - autoResize TRUE - snapToGrid TRUE - gridX 31 - gridY 31 - defaultFont (object Font - size 10 - face "Arial" - bold FALSE - italics FALSE - underline FALSE - strike FALSE - color 0 - default_color TRUE) - showMessageNum 3 - showClassOfObject TRUE - notation "Unified") - root_usecase_package (object Class_Category "Use Case View" - quid "4362A29901BA" - exportControl "Public" - global TRUE - logical_models (list unit_reference_list) - logical_presentations (list unit_reference_list - (object UseCaseDiagram "Main" - quid "4362A2990259" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - root_category (object Class_Category "Logical View" - quid "4362A29901B9" - exportControl "Public" - global TRUE - subsystem "Component View" - quidu "4362A29901BB" - logical_models (list unit_reference_list - (object Class_Category "config" - attributes (list Attribute_Set - (object Attribute - tool "Ecore" - name "nsURI" - value "http:///org.apache.tuscany.das.rdb/config.xsd") - (object Attribute - tool "Ecore" - name "basePackage" - value "org.apache.tuscany.das.rdb")) - quid "4362A2A10169" - exportControl "Public" - logical_models (list unit_reference_list - (object Class "Config" - quid "4362A2DE0045" - class_attributes (list class_attribute_list - (object ClassAttribute "uri" - quid "4362A337006B" - type "String"))) - (object Class "Command" - quid "4362A2EC01FE" - class_attributes (list class_attribute_list - (object ClassAttribute "name" - quid "4362A3EC02EC" - type "String") - (object ClassAttribute "SQL" - quid "4362A3EF0246" - type "String") - (object ClassAttribute "kind" - quid "437903E60321" - type "String"))) - (object Class "ConnectionProperties" - quid "4362A2FD0085" - class_attributes (list class_attribute_list - (object ClassAttribute "dataSource" - quid "4362A35A035A" - type "String") - (object ClassAttribute "driverClassName" - quid "4362A36D0203" - type "String") - (object ClassAttribute "driverURL" - quid "4362A3740330" - type "String") - (object ClassAttribute "driverPassword" - quid "4362A384022E" - type "String") - (object ClassAttribute "driverUserName" - quid "4378E1B303C2" - type "String"))) - (object Class "Parameter" - quid "4362A3C902BA" - class_attributes (list class_attribute_list - (object ClassAttribute "name" - quid "4362A40600D7" - type "String") - (object ClassAttribute "columnType" - quid "4362A4090280" - type "String"))) - (object Class "Relationship" - quid "4362A42E03A5" - class_attributes (list class_attribute_list - (object ClassAttribute "name" - quid "4362A73A0216" - type "String") - (object ClassAttribute "primaryKeyTable" - quid "4362A73D0329" - type "String") - (object ClassAttribute "foreignKeyTable" - quid "4362A74002FB" - type "String") - (object ClassAttribute "many" - quid "4362A7430241" - type "boolean"))) - (object Class "Table" - quid "4362A43C0002" - class_attributes (list class_attribute_list - (object ClassAttribute "name" - quid "4362A7B2031D" - type "String") - (object ClassAttribute "propertyName" - quid "4362A7C203A2" - type "String") - (object ClassAttribute "create" - quid "4362A7D0024E" - type "String") - (object ClassAttribute "update" - quid "4362A7D30220" - type "String") - (object ClassAttribute "delete" - quid "4362A7E1031B" - type "String"))) - (object Class "KeyPair" - quid "4362A72E0010" - class_attributes (list class_attribute_list - (object ClassAttribute "primaryKeyColumn" - quid "4362A8E702A9" - type "String") - (object ClassAttribute "foreignKeyColumn" - quid "4362A8ED01AE" - type "String"))) - (object Class "Column" - quid "4362A75C016B" - class_attributes (list class_attribute_list - (object ClassAttribute "name" - quid "4362A8BD02E5" - type "String") - (object ClassAttribute "propertyName" - quid "4362A8C001C7" - type "String") - (object ClassAttribute "converterClassName" - quid "4362A8C303A2" - type "String") - (object ClassAttribute "columnType" - quid "4362A8C903A0" - type "String") - (object ClassAttribute "primaryKey" - quid "437907F200F9" - type "boolean") - (object ClassAttribute "generated" - quid "4379083900BF" - type "boolean") - (object ClassAttribute "collision" - quid "437908E5012B" - type "boolean"))) - (object Class "ResultDescriptor" - quid "437B57EF0008" - class_attributes (list class_attribute_list - (object ClassAttribute "columnName" - quid "437B5A6503BB" - type "String") - (object ClassAttribute "tableName" - quid "437B5A6B016B" - type "String") - (object ClassAttribute "columnType" - quid "437B5A6D033A" - type "String") - (object ClassAttribute "converter" - quid "437B5A6F0153" - type "String")) - language "Java") - (object Association "$UNNAMED$0" - quid "4362A3030323" - roles (list role_list - (object Role "$UNNAMED$1" - quid "4362A3040108" - supplier "Logical View::config::Config" - quidu "4362A2DE0045" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$2" - quid "4362A3040109" - supplier "Logical View::config::Command" - quidu "4362A2EC01FE" - client_cardinality (value cardinality "0..n") - Containment "By Value" - is_navigable TRUE))) - (object Association "$UNNAMED$3" - quid "4362A308010D" - roles (list role_list - (object Role "$UNNAMED$4" - quid "4362A3090015" - supplier "Logical View::config::Config" - quidu "4362A2DE0045" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$5" - quid "4362A3090016" - supplier "Logical View::config::ConnectionProperties" - quidu "4362A2FD0085" - client_cardinality (value cardinality "0..1") - Containment "By Value" - is_navigable TRUE))) - (object Association "$UNNAMED$6" - quid "4362A3D302FA" - roles (list role_list - (object Role "$UNNAMED$7" - quid "4362A3D40143" - supplier "Logical View::config::Command" - quidu "4362A2EC01FE" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$8" - quid "4362A3D40144" - supplier "Logical View::config::Parameter" - quidu "4362A3C902BA" - client_cardinality (value cardinality "0..n") - Containment "By Value" - is_navigable TRUE))) - (object Association "$UNNAMED$9" - quid "4362A448026C" - roles (list role_list - (object Role "$UNNAMED$10" - quid "4362A4490105" - supplier "Logical View::config::Config" - quidu "4362A2DE0045" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$11" - quid "4362A4490106" - supplier "Logical View::config::Table" - quidu "4362A43C0002" - client_cardinality (value cardinality "0..n") - Containment "By Value" - is_navigable TRUE))) - (object Association "$UNNAMED$12" - quid "4362A44B0298" - roles (list role_list - (object Role "$UNNAMED$13" - quid "4362A44C01AA" - supplier "Logical View::config::Config" - quidu "4362A2DE0045" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$14" - quid "4362A44C01AB" - supplier "Logical View::config::Relationship" - quidu "4362A42E03A5" - client_cardinality (value cardinality "0..n") - Containment "By Value" - is_navigable TRUE))) - (object Association "$UNNAMED$15" - quid "4362A76302A1" - roles (list role_list - (object Role "$UNNAMED$16" - quid "4362A7640090" - supplier "Logical View::config::Table" - quidu "4362A43C0002" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$17" - quid "4362A7640091" - supplier "Logical View::config::Column" - quidu "4362A75C016B" - client_cardinality (value cardinality "0..n") - Containment "By Value" - is_navigable TRUE))) - (object Association "$UNNAMED$18" - quid "4362A771032E" - roles (list role_list - (object Role "$UNNAMED$19" - quid "4362A7720108" - supplier "Logical View::config::Relationship" - quidu "4362A42E03A5" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$20" - quid "4362A7720109" - supplier "Logical View::config::KeyPair" - quidu "4362A72E0010" - client_cardinality (value cardinality "0..n") - Containment "By Value" - is_navigable TRUE))) - (object Association "$UNNAMED$21" - quid "437B59A10066" - roles (list role_list - (object Role "$UNNAMED$22" - quid "437B59A30145" - supplier "Logical View::config::Command" - quidu "4362A2EC01FE" - Containment "By Value" - is_navigable TRUE - is_aggregate TRUE) - (object Role "$UNNAMED$23" - quid "437B59A30146" - supplier "Logical View::config::ResultDescriptor" - quidu "437B57EF0008" - client_cardinality (value cardinality "0..n") - Containment "By Value" - is_navigable TRUE)))) - logical_presentations (list unit_reference_list - (object ClassDiagram "Main" - quid "4362A2A900AD" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::config::KeyPair" @1 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (1054, 1333) - label (object ItemLabel - Parent_View @1 - location (809, 1227) - fill_color 13434879 - nlines 1 - max_width 490 - justify 0 - label "KeyPair") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A72E0010" - width 508 - height 236 - autoResize TRUE) - (object ClassView "Class" "Logical View::config::Column" @2 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (2015, 1519) - label (object ItemLabel - Parent_View @2 - location (1756, 1288) - fill_color 13434879 - nlines 1 - max_width 518 - justify 0 - label "Column") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A75C016B" - width 536 - height 486 - autoResize TRUE) - (object ClassView "Class" "Logical View::config::ConnectionProperties" @3 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (2542, 248) - label (object ItemLabel - Parent_View @3 - location (2317, 67) - fill_color 13434879 - nlines 1 - max_width 450 - justify 0 - label "ConnectionProperties") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A2FD0085" - width 468 - height 386 - autoResize TRUE) - (object ClassView "Class" "Logical View::config::Relationship" @4 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (1054, 744) - label (object ItemLabel - Parent_View @4 - location (829, 588) - fill_color 13434879 - nlines 1 - max_width 450 - justify 0 - label "Relationship") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A42E03A5" - width 468 - height 336 - autoResize TRUE) - (object AssociationViewNew "$UNNAMED$18" @5 - location (1081, 1063) - stereotype TRUE - line_color 3342489 - quidu "4362A771032E" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$19" @6 - Parent_View @5 - location (-97, -84) - stereotype TRUE - line_color 3342489 - quidu "4362A7720108" - client @5 - supplier @4 - line_style 3 - origin_attachment (1080, 1063) - terminal_attachment (1080, 912)) - (object RoleView "$UNNAMED$20" @7 - Parent_View @5 - location (-97, -84) - stereotype TRUE - line_color 3342489 - quidu "4362A7720109" - client @5 - supplier @1 - line_style 3 - origin_attachment (1080, 1063) - terminal_attachment (1080, 1215) - label (object SegLabel @8 - Parent_View @7 - location (1135, 1112) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..*" - pctDist 0.327273 - height 55 - orientation 0)))) - (object ClassView "Class" "Logical View::config::Table" @9 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (1984, 837) - label (object ItemLabel - Parent_View @9 - location (1784, 656) - fill_color 13434879 - nlines 1 - max_width 400 - justify 0 - label "Table") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A43C0002" - width 418 - height 386 - autoResize TRUE) - (object AssociationViewNew "$UNNAMED$15" @10 - location (1778, 1153) - stereotype TRUE - line_color 3342489 - quidu "4362A76302A1" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$16" @11 - Parent_View @10 - location (1003, 6) - stereotype TRUE - line_color 3342489 - quidu "4362A7640090" - client @10 - supplier @9 - line_style 3 - origin_attachment (1778, 1153) - terminal_attachment (1778, 1030)) - (object RoleView "$UNNAMED$17" @12 - Parent_View @10 - location (1003, 6) - stereotype TRUE - line_color 3342489 - quidu "4362A7640091" - client @10 - supplier @2 - line_style 3 - origin_attachment (1778, 1153) - terminal_attachment (1778, 1276) - label (object SegLabel @13 - Parent_View @12 - location (1832, 1166) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..*" - pctDist 0.109091 - height 54 - orientation 0)))) - (object ClassView "Class" "Logical View::config::Parameter" @14 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (186, 806) - label (object ItemLabel - Parent_View @14 - location (4, 700) - fill_color 13434879 - nlines 1 - max_width 364 - justify 0 - label "Parameter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A3C902BA" - width 382 - height 236 - autoResize TRUE) - (object ClassView "Class" "Logical View::config::Config" @15 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (1054, 155) - label (object ItemLabel - Parent_View @15 - location (959, 74) - fill_color 13434879 - nlines 1 - max_width 190 - justify 0 - label "Config") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A2DE0045" - width 208 - height 186 - autoResize TRUE) - (object AssociationViewNew "$UNNAMED$3" @16 - location (1733, 184) - stereotype TRUE - line_color 3342489 - quidu "4362A308010D" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$4" @17 - Parent_View @16 - location (307, -498) - stereotype TRUE - line_color 3342489 - quidu "4362A3090015" - client @16 - supplier @15 - line_style 3 - origin_attachment (1733, 184) - terminal_attachment (1158, 184)) - (object RoleView "$UNNAMED$5" @18 - Parent_View @16 - location (307, -498) - stereotype TRUE - line_color 3342489 - quidu "4362A3090016" - client @16 - supplier @3 - line_style 3 - origin_attachment (1733, 184) - terminal_attachment (2308, 184) - label (object SegLabel @19 - Parent_View @18 - location (2194, 126) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..1" - pctDist 0.801805 - height 59 - orientation 0)))) - (object AssociationViewNew "$UNNAMED$12" @20 - location (1054, 411) - label (object SegLabel @21 - Parent_View @20 - location (1054, 352) - font (object Font - italics TRUE) - hidden TRUE - anchor 1 - anchor_loc 1 - nlines 1 - max_width 600 - justify 0 - label "" - pctDist 0.500000 - height 60 - orientation 0) - stereotype TRUE - line_color 3342489 - quidu "4362A44B0298" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$13" @22 - Parent_View @20 - location (-93, -395) - label (object SegLabel @23 - Parent_View @22 - location (1013, 281) - hidden TRUE - anchor 1 - anchor_loc 1 - nlines 1 - max_width 252 - justify 0 - label "" - pctDist 0.800000 - height 42 - orientation 0) - stereotype TRUE - line_color 3342489 - quidu "4362A44C01AA" - client @20 - supplier @15 - line_style 0) - (object RoleView "$UNNAMED$14" @24 - Parent_View @20 - location (-93, -395) - label (object SegLabel @25 - Parent_View @24 - location (1013, 509) - hidden TRUE - anchor 1 - anchor_loc 1 - nlines 1 - max_width 252 - justify 0 - label "" - pctDist 0.597561 - height 42 - orientation 1) - stereotype TRUE - line_color 3342489 - quidu "4362A44C01AB" - client @20 - supplier @4 - line_style 0 - label (object SegLabel @26 - Parent_View @24 - location (1011, 558) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..*" - pctDist 0.899471 - height 44 - orientation 1)))) - (object AssociationViewNew "$UNNAMED$9" @27 - location (1666, 248) - stereotype TRUE - line_color 3342489 - quidu "4362A448026C" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$10" @28 - Parent_View @27 - location (860, -558) - stereotype TRUE - line_color 3342489 - quidu "4362A4490105" - client @27 - supplier @15 - line_style 3 - origin_attachment (1667, 247) - terminal_attachment (1158, 247)) - (object RoleView "$UNNAMED$11" @29 - Parent_View @27 - location (860, -558) - stereotype TRUE - line_color 3342489 - quidu "4362A4490106" - client @27 - supplier @9 - vertices (list Points - (1667, 247) - (1972, 247) - (1972, 644)) - line_style 3 - origin_attachment (1667, 247) - terminal_attachment (1972, 644) - label (object SegLabel @30 - Parent_View @29 - location (2031, 380) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..*" - pctDist 0.625538 - height 59 - orientation 0)))) - (object ClassView "Class" "Logical View::config::Command" @31 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (186, 217) - label (object ItemLabel - Parent_View @31 - location (63, 86) - fill_color 13434879 - nlines 1 - max_width 246 - justify 0 - label "Command") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A2EC01FE" - width 264 - height 286 - autoResize TRUE) - (object AssociationViewNew "$UNNAMED$6" @32 - location (186, 523) - stereotype TRUE - line_color 3342489 - quidu "4362A3D302FA" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$7" @33 - Parent_View @32 - location (-279, -500) - stereotype TRUE - line_color 3342489 - quidu "4362A3D40143" - client @32 - supplier @31 - line_style 0) - (object RoleView "$UNNAMED$8" @34 - Parent_View @32 - location (-279, -500) - stereotype TRUE - line_color 3342489 - quidu "4362A3D40144" - client @32 - supplier @14 - line_style 0 - label (object SegLabel @35 - Parent_View @34 - location (241, 600) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..*" - pctDist 0.473684 - height 55 - orientation 0)))) - (object AssociationViewNew "$UNNAMED$0" @36 - location (634, 212) - stereotype TRUE - line_color 3342489 - quidu "4362A3030323" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$1" @37 - Parent_View @36 - location (200, -470) - stereotype TRUE - line_color 3342489 - quidu "4362A3040108" - client @36 - supplier @15 - line_style 3 - origin_attachment (634, 212) - terminal_attachment (950, 212)) - (object RoleView "$UNNAMED$2" @38 - Parent_View @36 - location (200, -470) - stereotype TRUE - line_color 3342489 - quidu "4362A3040109" - client @36 - supplier @31 - line_style 3 - origin_attachment (634, 212) - terminal_attachment (318, 212) - label (object SegLabel @39 - Parent_View @38 - location (371, 260) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..*" - pctDist 0.831858 - height 48 - orientation 0)))) - (object ClassView "Class" "Logical View::config::ResultDescriptor" @40 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (465, 1240) - label (object ItemLabel - Parent_View @40 - location (248, 1084) - fill_color 13434879 - nlines 1 - max_width 434 - justify 0 - label "ResultDescriptor") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "437B57EF0008" - width 452 - height 336 - annotation 8 - autoResize TRUE) - (object AssociationViewNew "$UNNAMED$21" @41 - location (484, 626) - stereotype TRUE - line_color 3342489 - quidu "437B59A10066" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$22" @42 - Parent_View @41 - location (50, -614) - stereotype TRUE - line_color 3342489 - quidu "437B59A30145" - client @41 - supplier @31 - vertices (list Points - (484, 626) - (484, 347) - (318, 347)) - line_style 3 - origin_attachment (484, 626) - terminal_attachment (318, 347)) - (object RoleView "$UNNAMED$23" @43 - Parent_View @41 - location (50, -614) - stereotype TRUE - line_color 3342489 - quidu "437B59A30146" - client @41 - supplier @40 - line_style 3 - origin_attachment (484, 626) - terminal_attachment (484, 1072) - label (object SegLabel @44 - Parent_View @43 - location (538, 1027) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..*" - pctDist 0.900000 - height 54 - orientation 0))))))))) - logical_presentations (list unit_reference_list - (object ClassDiagram "Main" - quid "4362A299025A" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object CategoryView "Logical View::config" @45 - location (682, 589) - label (object ItemLabel - Parent_View @45 - location (538, 505) - fill_color 13434879 - nlines 2 - max_width 288 - justify 0 - label "config") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4362A2A10169" - width 300 - height 180))))) - root_subsystem (object SubSystem "Component View" - quid "4362A29901BB" - physical_models (list unit_reference_list) - physical_presentations (list unit_reference_list - (object Module_Diagram "Main" - quid "4362A2990258" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - process_structure (object Processes - quid "4362A29901BC" - ProcsNDevs (list - (object Process_Diagram "Deployment View" - quid "4362A29901BE" - title "Deployment View" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - properties (object Properties - attributes (list Attribute_Set - (object Attribute - tool "Ecore" - name "propertyId" - value "809135969") - (object Attribute - tool "Ecore" - name "default__Category" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "packageName" - value "") - (object Attribute - tool "Ecore" - name "nsPrefix" - value "") - (object Attribute - tool "Ecore" - name "nsURI" - value "") - (object Attribute - tool "Ecore" - name "basePackage" - value "") - (object Attribute - tool "Ecore" - name "prefix" - value "") - (object Attribute - tool "Ecore" - name "annotation" - value ""))) - (object Attribute - tool "Ecore" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "classifierName" - value "") - (object Attribute - tool "Ecore" - name "constraints" - value "") - (object Attribute - tool "Ecore" - name "xmlName" - value "") - (object Attribute - tool "Ecore" - name "xmlContentKind" - value ("ContentKind" 0)) - (object Attribute - tool "Ecore" - name "ContentKind" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "Unspecified" - value 0) - (object Attribute - tool "Ecore" - name "Empty" - value 1) - (object Attribute - tool "Ecore" - name "Simple" - value 2) - (object Attribute - tool "Ecore" - name "Mixed" - value 3) - (object Attribute - tool "Ecore" - name "ElementOnly" - value 4))) - (object Attribute - tool "Ecore" - name "annotation" - value ""))) - (object Attribute - tool "Ecore" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "operationName" - value "") - (object Attribute - tool "Ecore" - name "isUnique" - value TRUE) - (object Attribute - tool "Ecore" - name "annotation" - value ""))) - (object Attribute - tool "Ecore" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "attributeName" - value "") - (object Attribute - tool "Ecore" - name "isTransient" - value FALSE) - (object Attribute - tool "Ecore" - name "isVolatile" - value FALSE) - (object Attribute - tool "Ecore" - name "isChangeable" - value TRUE) - (object Attribute - tool "Ecore" - name "isUnsettable" - value FALSE) - (object Attribute - tool "Ecore" - name "isUnique" - value TRUE) - (object Attribute - tool "Ecore" - name "isID" - value FALSE) - (object Attribute - tool "Ecore" - name "visibility" - value ("VisibilityKind" 0)) - (object Attribute - tool "Ecore" - name "VisibilityKind" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "Unspecified" - value 0) - (object Attribute - tool "Ecore" - name "None" - value 1) - (object Attribute - tool "Ecore" - name "Read-only" - value 2) - (object Attribute - tool "Ecore" - name "Read-write" - value 3) - (object Attribute - tool "Ecore" - name "Read-only unsettable" - value 4) - (object Attribute - tool "Ecore" - name "Read-write unsettable" - value 5))) - (object Attribute - tool "Ecore" - name "xmlName" - value "") - (object Attribute - tool "Ecore" - name "xmlNamespace" - value "") - (object Attribute - tool "Ecore" - name "xmlFeatureKind" - value ("FeatureKind" 0)) - (object Attribute - tool "Ecore" - name "FeatureKind" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "Unspecified" - value 0) - (object Attribute - tool "Ecore" - name "Simple" - value 1) - (object Attribute - tool "Ecore" - name "Attribute" - value 2) - (object Attribute - tool "Ecore" - name "Element" - value 4))) - (object Attribute - tool "Ecore" - name "annotation" - value ""))) - (object Attribute - tool "Ecore" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "referenceName" - value "") - (object Attribute - tool "Ecore" - name "isTransient" - value FALSE) - (object Attribute - tool "Ecore" - name "isVolatile" - value FALSE) - (object Attribute - tool "Ecore" - name "isChangeable" - value TRUE) - (object Attribute - tool "Ecore" - name "isUnsettable" - value FALSE) - (object Attribute - tool "Ecore" - name "isResolveProxies" - value TRUE) - (object Attribute - tool "Ecore" - name "visibility" - value ("VisibilityKind" 0)) - (object Attribute - tool "Ecore" - name "VisibilityKind" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "Unspecified" - value 0) - (object Attribute - tool "Ecore" - name "None" - value 1) - (object Attribute - tool "Ecore" - name "Read-only" - value 2) - (object Attribute - tool "Ecore" - name "Read-write" - value 3) - (object Attribute - tool "Ecore" - name "Read-only unsettable" - value 4) - (object Attribute - tool "Ecore" - name "Read-write unsettable" - value 5))) - (object Attribute - tool "Ecore" - name "xmlName" - value "") - (object Attribute - tool "Ecore" - name "xmlNamespace" - value "") - (object Attribute - tool "Ecore" - name "xmlFeatureKind" - value ("FeatureKind" 0)) - (object Attribute - tool "Ecore" - name "FeatureKind" - value (list Attribute_Set - (object Attribute - tool "Ecore" - name "Unspecified" - value 0) - (object Attribute - tool "Ecore" - name "Simple" - value 1) - (object Attribute - tool "Ecore" - name "Attribute" - value 2) - (object Attribute - tool "Ecore" - name "Element" - value 4))) - (object Attribute - tool "Ecore" - name "annotation" - value ""))) - (object Attribute - tool "DDL" - name "propertyId" - value "809135966") - (object Attribute - tool "DDL" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "Directory" - value "AUTO GENERATE") - (object Attribute - tool "DDL" - name "DataBase" - value ("DataBaseSet" 800)) - (object Attribute - tool "DDL" - name "DataBaseSet" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "ANSI" - value 800) - (object Attribute - tool "DDL" - name "Oracle" - value 801) - (object Attribute - tool "DDL" - name "SQLServer" - value 802) - (object Attribute - tool "DDL" - name "Sybase" - value 803) - (object Attribute - tool "DDL" - name "Watcom" - value 804))) - (object Attribute - tool "DDL" - name "PrimaryKeyColumnName" - value "Id") - (object Attribute - tool "DDL" - name "PrimaryKeyColumnType" - value "NUMBER(5)") - (object Attribute - tool "DDL" - name "ViewName" - value "V_") - (object Attribute - tool "DDL" - name "TableName" - value "T_") - (object Attribute - tool "DDL" - name "InheritSuffix" - value "_V") - (object Attribute - tool "DDL" - name "DropClause" - value FALSE) - (object Attribute - tool "DDL" - name "BaseViews" - value FALSE) - (object Attribute - tool "DDL" - name "DDLScriptFilename" - value "DDL1.SQL"))) - (object Attribute - tool "DDL" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "ColumnType" - value "VARCHAR") - (object Attribute - tool "DDL" - name "Length" - value "") - (object Attribute - tool "DDL" - name "NullsOK" - value TRUE) - (object Attribute - tool "DDL" - name "PrimaryKey" - value FALSE) - (object Attribute - tool "DDL" - name "Unique" - value FALSE) - (object Attribute - tool "DDL" - name "CompositeUnique" - value FALSE) - (object Attribute - tool "DDL" - name "CheckConstraint" - value ""))) - (object Attribute - tool "DDL" - name "HiddenTool" - value FALSE) - (object Attribute - tool "framework" - name "HiddenTool" - value FALSE) - (object Attribute - tool "IDL" - name "propertyId" - value "809135966") - (object Attribute - tool "IDL" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "IDL" - name "StopOnError" - value TRUE) - (object Attribute - tool "IDL" - name "Directory" - value "AUTO GENERATE") - (object Attribute - tool "IDL" - name "GeneratePreserveRegions" - value TRUE))) - (object Attribute - tool "IDL" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "ImplementationType" - value "") - (object Attribute - tool "IDL" - name "ConstValue" - value "") - (object Attribute - tool "IDL" - name "GenerateDefaultSpecifier" - value FALSE) - (object Attribute - tool "IDL" - name "DefaultSpecifier" - value "") - (object Attribute - tool "IDL" - name "IDLElement" - value TRUE) - (object Attribute - tool "IDL" - name "IDLSpecificationType" - value ("IDLSpecSet" 22)) - (object Attribute - tool "IDL" - name "IDLSpecSet" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "Interface" - value 22) - (object Attribute - tool "IDL" - name "Typedef" - value 54) - (object Attribute - tool "IDL" - name "Enumeration" - value 8) - (object Attribute - tool "IDL" - name "Const" - value 71) - (object Attribute - tool "IDL" - name "Exception" - value 61) - (object Attribute - tool "IDL" - name "Struct" - value 51) - (object Attribute - tool "IDL" - name "Union" - value 81))))) - (object Attribute - tool "IDL" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "Generate" - value TRUE) - (object Attribute - tool "IDL" - name "CmIdentification" - value (value Text " %X% %Q% %Z% %W%")) - (object Attribute - tool "IDL" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "IDL" - name "FileName" - value "AUTO GENERATE") - (object Attribute - tool "IDL" - name "GenerateIDLModule" - value FALSE) - (object Attribute - tool "IDL" - name "InclusionProtectionSymbol" - value "AUTO GENERATE") - (object Attribute - tool "IDL" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "IDL" - name "IncludeBySimpleName" - value FALSE))) - (object Attribute - tool "IDL" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "CmIdentification" - value (value Text " %X% %Q% %Z% %W%")) - (object Attribute - tool "IDL" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "IDL" - name "FileName" - value "AUTO GENERATE") - (object Attribute - tool "IDL" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "IDL" - name "IncludeBySimpleName" - value FALSE))) - (object Attribute - tool "IDL" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "OperationIsOneWay" - value FALSE) - (object Attribute - tool "IDL" - name "Context" - value "") - (object Attribute - tool "IDL" - name "Raises" - value ""))) - (object Attribute - tool "IDL" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "CaseSpecifier" - value "") - (object Attribute - tool "IDL" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "IDL" - name "DataMemberName" - value "$relationship") - (object Attribute - tool "IDL" - name "IsReadOnly" - value FALSE) - (object Attribute - tool "IDL" - name "IsConst" - value FALSE) - (object Attribute - tool "IDL" - name "ConstValue" - value ""))) - (object Attribute - tool "IDL" - name "default__Has" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "NameIfUnlabeled" - value "the_$supplier") - (object Attribute - tool "IDL" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "IDL" - name "DataMemberName" - value "$relationship") - (object Attribute - tool "IDL" - name "GenerateForwardReference" - value FALSE) - (object Attribute - tool "IDL" - name "IsReadOnly" - value FALSE) - (object Attribute - tool "IDL" - name "BoundedHasRelType" - value ("HasRelTypeSet" 47)) - (object Attribute - tool "IDL" - name "HasRelTypeSet" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "Array" - value 24) - (object Attribute - tool "IDL" - name "Sequence" - value 47))))) - (object Attribute - tool "IDL" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "NameIfUnlabeled" - value "the_$supplier") - (object Attribute - tool "IDL" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "IDL" - name "DataMemberName" - value "$relationship") - (object Attribute - tool "IDL" - name "GenerateForwardReference" - value FALSE) - (object Attribute - tool "IDL" - name "IsReadOnly" - value FALSE) - (object Attribute - tool "IDL" - name "BoundedRoleType" - value ("AssocTypeSet" 47)) - (object Attribute - tool "IDL" - name "AssocTypeSet" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "Array" - value 24) - (object Attribute - tool "IDL" - name "Sequence" - value 47))))) - (object Attribute - tool "IDL" - name "default__Uses" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "GenerateForwardReference" - value FALSE))) - (object Attribute - tool "IDL" - name "default__Subsystem" - value (list Attribute_Set - (object Attribute - tool "IDL" - name "Directory" - value "AUTO GENERATE"))) - (object Attribute - tool "IDL" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Java" - name "propertyId" - value "809135966") - (object Attribute - tool "Java" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "Java" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "Java" - name "StopOnError" - value FALSE) - (object Attribute - tool "Java" - name "Directory" - value "AUTO GENERATE") - (object Attribute - tool "Java" - name "UsePrefixes" - value FALSE) - (object Attribute - tool "Java" - name "InstanceVariablePrefix" - value "m_") - (object Attribute - tool "Java" - name "ClassVariablePrefix" - value "s_") - (object Attribute - tool "Java" - name "DefaultAttributeDataType" - value "int") - (object Attribute - tool "Java" - name "DefaultOperationReturnType" - value "void"))) - (object Attribute - tool "Java" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "GenerateDefaultConstructor" - value TRUE) - (object Attribute - tool "Java" - name "ConstructorIs" - value ("Ctor_Set" 62)) - (object Attribute - tool "Java" - name "Ctor_Set" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Public" - value 62) - (object Attribute - tool "Java" - name "Protected" - value 63) - (object Attribute - tool "Java" - name "Private" - value 64))) - (object Attribute - tool "Java" - name "GenerateFinalizer" - value FALSE) - (object Attribute - tool "Java" - name "GenerateStaticInitializer" - value FALSE) - (object Attribute - tool "Java" - name "GenerateInstanceInitializer" - value FALSE))) - (object Attribute - tool "Java" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Generate" - value TRUE) - (object Attribute - tool "Java" - name "CmIdentification" - value (value Text "")) - (object Attribute - tool "Java" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "Java" - name "AdditionalImports" - value (value Text "")))) - (object Attribute - tool "Java" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Generate" - value TRUE) - (object Attribute - tool "Java" - name "CmIdentification" - value (value Text "")) - (object Attribute - tool "Java" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "Java" - name "AdditionalImports" - value (value Text "")))) - (object Attribute - tool "Java" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Abstract" - value FALSE) - (object Attribute - tool "Java" - name "Static" - value FALSE) - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "Native" - value FALSE) - (object Attribute - tool "Java" - name "Synchronized" - value FALSE))) - (object Attribute - tool "Java" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "Java" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "Transient" - value FALSE) - (object Attribute - tool "Java" - name "Volatile" - value FALSE))) - (object Attribute - tool "Java" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "Java" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "Java" - name "ContainerClass" - value "") - (object Attribute - tool "Java" - name "InitialValue" - value "") - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "Transient" - value FALSE) - (object Attribute - tool "Java" - name "Volatile" - value FALSE))) - (object Attribute - tool "Java" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Oracle8" - name "propertyId" - value "360000002") - (object Attribute - tool "Oracle8" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "DDLScriptFilename" - value "DDL1.SQL") - (object Attribute - tool "Oracle8" - name "DropClause" - value FALSE) - (object Attribute - tool "Oracle8" - name "PrimaryKeyColumnName" - value "_ID") - (object Attribute - tool "Oracle8" - name "PrimaryKeyColumnType" - value "NUMBER(5,0)") - (object Attribute - tool "Oracle8" - name "SchemaNamePrefix" - value "") - (object Attribute - tool "Oracle8" - name "SchemaNameSuffix" - value "") - (object Attribute - tool "Oracle8" - name "TableNamePrefix" - value "") - (object Attribute - tool "Oracle8" - name "TableNameSuffix" - value "") - (object Attribute - tool "Oracle8" - name "TypeNamePrefix" - value "") - (object Attribute - tool "Oracle8" - name "TypeNameSuffix" - value "") - (object Attribute - tool "Oracle8" - name "ViewNamePrefix" - value "") - (object Attribute - tool "Oracle8" - name "ViewNameSuffix" - value "") - (object Attribute - tool "Oracle8" - name "VarrayNamePrefix" - value "") - (object Attribute - tool "Oracle8" - name "VarrayNameSuffix" - value "") - (object Attribute - tool "Oracle8" - name "NestedTableNamePrefix" - value "") - (object Attribute - tool "Oracle8" - name "NestedTableNameSuffix" - value "") - (object Attribute - tool "Oracle8" - name "ObjectTableNamePrefix" - value "") - (object Attribute - tool "Oracle8" - name "ObjectTableNameSuffix" - value ""))) - (object Attribute - tool "Oracle8" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "IsSchema" - value FALSE))) - (object Attribute - tool "Oracle8" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "OID" - value "") - (object Attribute - tool "Oracle8" - name "WhereClause" - value "") - (object Attribute - tool "Oracle8" - name "CheckConstraint" - value "") - (object Attribute - tool "Oracle8" - name "CollectionTypeLength" - value "") - (object Attribute - tool "Oracle8" - name "CollectionTypePrecision" - value "") - (object Attribute - tool "Oracle8" - name "CollectionTypeScale" - value "") - (object Attribute - tool "Oracle8" - name "CollectionOfREFS" - value FALSE))) - (object Attribute - tool "Oracle8" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "MethodKind" - value ("MethodKindSet" 1903)) - (object Attribute - tool "Oracle8" - name "OverloadID" - value "") - (object Attribute - tool "Oracle8" - name "OrderNumber" - value "") - (object Attribute - tool "Oracle8" - name "IsReadNoDataState" - value FALSE) - (object Attribute - tool "Oracle8" - name "IsReadNoProcessState" - value FALSE) - (object Attribute - tool "Oracle8" - name "IsWriteNoDataState" - value FALSE) - (object Attribute - tool "Oracle8" - name "IsWriteNoProcessState" - value FALSE) - (object Attribute - tool "Oracle8" - name "IsSelfish" - value FALSE) - (object Attribute - tool "Oracle8" - name "TriggerType" - value ("TriggerTypeSet" 1801)) - (object Attribute - tool "Oracle8" - name "TriggerEvent" - value ("TriggerEventSet" 1601)) - (object Attribute - tool "Oracle8" - name "TriggerText" - value "") - (object Attribute - tool "Oracle8" - name "TriggerReferencingNames" - value "") - (object Attribute - tool "Oracle8" - name "TriggerForEach" - value ("TriggerForEachSet" 1701)) - (object Attribute - tool "Oracle8" - name "TriggerWhenClause" - value "") - (object Attribute - tool "Oracle8" - name "MethodKindSet" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "MapMethod" - value 1901) - (object Attribute - tool "Oracle8" - name "OrderMethod" - value 1902) - (object Attribute - tool "Oracle8" - name "Function" - value 1903) - (object Attribute - tool "Oracle8" - name "Procedure" - value 1904) - (object Attribute - tool "Oracle8" - name "Operator" - value 1905) - (object Attribute - tool "Oracle8" - name "Constructor" - value 1906) - (object Attribute - tool "Oracle8" - name "Destructor" - value 1907) - (object Attribute - tool "Oracle8" - name "Trigger" - value 1908) - (object Attribute - tool "Oracle8" - name "Calculated" - value 1909))) - (object Attribute - tool "Oracle8" - name "TriggerTypeSet" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "AFTER" - value 1801) - (object Attribute - tool "Oracle8" - name "BEFORE" - value 1802) - (object Attribute - tool "Oracle8" - name "INSTEAD OF" - value 1803))) - (object Attribute - tool "Oracle8" - name "TriggerForEachSet" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "ROW" - value 1701) - (object Attribute - tool "Oracle8" - name "STATEMENT" - value 1702))) - (object Attribute - tool "Oracle8" - name "TriggerEventSet" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "INSERT" - value 1601) - (object Attribute - tool "Oracle8" - name "UPDATE" - value 1602) - (object Attribute - tool "Oracle8" - name "DELETE" - value 1603) - (object Attribute - tool "Oracle8" - name "INSERT OR UPDATE" - value 1604) - (object Attribute - tool "Oracle8" - name "INSERT OR DELETE" - value 1605) - (object Attribute - tool "Oracle8" - name "UPDATE OR DELETE" - value 1606) - (object Attribute - tool "Oracle8" - name "INSERT OR UPDATE OR DELETE" - value 1607))))) - (object Attribute - tool "Oracle8" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "OrderNumber" - value ""))) - (object Attribute - tool "Oracle8" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "Oracle8" - name "OrderNumber" - value "") - (object Attribute - tool "Oracle8" - name "IsUnique" - value FALSE) - (object Attribute - tool "Oracle8" - name "NullsAllowed" - value TRUE) - (object Attribute - tool "Oracle8" - name "Length" - value "") - (object Attribute - tool "Oracle8" - name "Precision" - value "2") - (object Attribute - tool "Oracle8" - name "Scale" - value "6") - (object Attribute - tool "Oracle8" - name "IsIndex" - value FALSE) - (object Attribute - tool "Oracle8" - name "IsPrimaryKey" - value FALSE) - (object Attribute - tool "Oracle8" - name "CompositeUnique" - value FALSE) - (object Attribute - tool "Oracle8" - name "CheckConstraint" - value ""))) - (object Attribute - tool "Oracle8" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Repository" - name "HiddenTool" - value FALSE) - (object Attribute - tool "cg" - name "propertyId" - value "809135966") - (object Attribute - tool "cg" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "cg" - name "UseMSVC" - value FALSE) - (object Attribute - tool "cg" - name "HeaderFileExtension" - value "h") - (object Attribute - tool "cg" - name "HeaderFileBackupExtension" - value "h~") - (object Attribute - tool "cg" - name "HeaderFileTemporaryExtension" - value "h#") - (object Attribute - tool "cg" - name "CodeFileExtension" - value "cpp") - (object Attribute - tool "cg" - name "CodeFileBackupExtension" - value "cp~") - (object Attribute - tool "cg" - name "CodeFileTemporaryExtension" - value "cp#") - (object Attribute - tool "cg" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "cg" - name "StopOnError" - value FALSE) - (object Attribute - tool "cg" - name "ErrorLimit" - value 30) - (object Attribute - tool "cg" - name "Directory" - value "$ROSECPP_SOURCE") - (object Attribute - tool "cg" - name "PathSeparator" - value "") - (object Attribute - tool "cg" - name "FileNameFormat" - value "128vx_b") - (object Attribute - tool "cg" - name "BooleanType" - value "int") - (object Attribute - tool "cg" - name "AllowTemplates" - value TRUE) - (object Attribute - tool "cg" - name "AllowExplicitInstantiations" - value TRUE) - (object Attribute - tool "cg" - name "AllowProtectedInheritance" - value TRUE) - (object Attribute - tool "cg" - name "CommentWidth" - value 60) - (object Attribute - tool "cg" - name "OneByValueContainer" - value "$targetClass") - (object Attribute - tool "cg" - name "OneByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "OptionalByValueContainer" - value "OptionalByValue<$targetClass>") - (object Attribute - tool "cg" - name "OptionalByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "FixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "FixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "BoundedByValueContainer" - value "BoundedListByValue<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnorderedBoundedByValueContainer" - value "BoundedSetByValue<$targetClass,$limit>") - (object Attribute - tool "cg" - name "BoundedByReferenceContainer" - value "BoundedListByReference<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnorderedBoundedByReferenceContainer" - value "BoundedSetByReference<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnboundedByValueContainer" - value "UnboundedListByValue<$targetClass>") - (object Attribute - tool "cg" - name "UnorderedUnboundedByValueContainer" - value "UnboundedSetByValue<$targetClass>") - (object Attribute - tool "cg" - name "UnboundedByReferenceContainer" - value "UnboundedListByReference<$targetClass>") - (object Attribute - tool "cg" - name "UnorderedUnboundedByReferenceContainer" - value "UnboundedSetByReference<$targetClass>") - (object Attribute - tool "cg" - name "QualifiedByValueContainer" - value "AssociationByValue<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "UnorderedQualifiedByValueContainer" - value "DictionaryByValue<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "QualifiedByReferenceContainer" - value "AssociationByReference<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "UnorderedQualifiedByReferenceContainer" - value "DictionaryByReference<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "GeneratePreserveRegions" - value TRUE))) - (object Attribute - tool "cg" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "ImplementationType" - value "") - (object Attribute - tool "cg" - name "ClassKey" - value "class") - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "PutBodiesInSpec" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "DefaultConstructorVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineDefaultConstructor" - value FALSE) - (object Attribute - tool "cg" - name "ExplicitDefaultConstructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateCopyConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "CopyConstructorVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineCopyConstructor" - value FALSE) - (object Attribute - tool "cg" - name "ExplicitCopyConstructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDestructor" - value TRUE) - (object Attribute - tool "cg" - name "DestructorVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "DestructorKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "InlineDestructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateAssignmentOperation" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "AssignmentVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "AssignmentKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "InlineAssignmentOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateEqualityOperations" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "EqualityVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "EqualityKind" - value ("FriendKindSet" 200)) - (object Attribute - tool "cg" - name "InlineEqualityOperations" - value FALSE) - (object Attribute - tool "cg" - name "GenerateRelationalOperations" - value FALSE) - (object Attribute - tool "cg" - name "RelationalVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "RelationalKind" - value ("FriendKindSet" 200)) - (object Attribute - tool "cg" - name "InlineRelationalOperations" - value FALSE) - (object Attribute - tool "cg" - name "GenerateStorageMgmtOperations" - value FALSE) - (object Attribute - tool "cg" - name "StorageMgmtVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineStorageMgmtOperations" - value FALSE) - (object Attribute - tool "cg" - name "GenerateSubscriptOperation" - value FALSE) - (object Attribute - tool "cg" - name "SubscriptVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "SubscriptKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "SubscriptResultType" - value "") - (object Attribute - tool "cg" - name "InlineSubscriptOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDereferenceOperation" - value FALSE) - (object Attribute - tool "cg" - name "DereferenceVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "DereferenceKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "DereferenceResultType" - value "") - (object Attribute - tool "cg" - name "InlineDereferenceOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateIndirectionOperation" - value FALSE) - (object Attribute - tool "cg" - name "IndirectionVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "IndirectionKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "IndirectionResultType" - value "") - (object Attribute - tool "cg" - name "InlineIndirectionOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateStreamOperations" - value FALSE) - (object Attribute - tool "cg" - name "StreamVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineStreamOperations" - value FALSE) - (object Attribute - tool "cg" - name "ThreeKindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202))) - (object Attribute - tool "cg" - name "KindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203))) - (object Attribute - tool "cg" - name "FriendKindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "GenerateSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "DeclareAndDefine" - value 199) - (object Attribute - tool "cg" - name "DeclareOnly" - value 205) - (object Attribute - tool "cg" - name "DoNotDeclare" - value 206))) - (object Attribute - tool "cg" - name "VisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14))) - (object Attribute - tool "cg" - name "ConstValue" - value "") - (object Attribute - tool "cg" - name "GenerateDefaultSpecifier" - value FALSE) - (object Attribute - tool "cg" - name "DefaultSpecifier" - value ""))) - (object Attribute - tool "cg" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value TRUE) - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "CmIdentification" - value (value Text " %X% %Q% %Z% %W%")) - (object Attribute - tool "cg" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "cg" - name "FileName" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "AllowExtensionlessFileName" - value FALSE) - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include "$file" -| - )) - (object Attribute - tool "cg" - name "IncludeBySimpleName" - value FALSE) - (object Attribute - tool "cg" - name "IncludePrecompiledHeader" - value FALSE) - (object Attribute - tool "cg" - name "IncludeOrder" - value "AMIR") - (object Attribute - tool "cg" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "cg" - name "InliningStyle" - value ("InliningStyleSet" 207)) - (object Attribute - tool "cg" - name "InliningStyleSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "InClassDeclaration" - value 208) - (object Attribute - tool "cg" - name "FollowingClassDeclaration" - value 207))) - (object Attribute - tool "cg" - name "TypesDefined" - value (value Text "")) - (object Attribute - tool "cg" - name "IncludeClosure" - value (value Text "")))) - (object Attribute - tool "cg" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value TRUE) - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "CmIdentification" - value (value Text " %X% %Q% %Z% %W%")) - (object Attribute - tool "cg" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "cg" - name "FileName" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "AllowExtensionlessFileName" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include "$file" -| - )) - (object Attribute - tool "cg" - name "IncludeBySimpleName" - value FALSE) - (object Attribute - tool "cg" - name "IncludePrecompiledHeader" - value TRUE) - (object Attribute - tool "cg" - name "IncludeOrder" - value "AMIR") - (object Attribute - tool "cg" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "cg" - name "InliningStyle" - value ("InliningStyleSet" 207)) - (object Attribute - tool "cg" - name "InliningStyleSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "InClassDeclaration" - value 208) - (object Attribute - tool "cg" - name "FollowingClassDeclaration" - value 207))) - (object Attribute - tool "cg" - name "TypesDefined" - value (value Text "")) - (object Attribute - tool "cg" - name "IncludeClosure" - value (value Text "")))) - (object Attribute - tool "cg" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 200)) - (object Attribute - tool "cg" - name "OperationKindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "OperationIsConst" - value FALSE) - (object Attribute - tool "cg" - name "OperationIsExplicit" - value FALSE) - (object Attribute - tool "cg" - name "Inline" - value FALSE) - (object Attribute - tool "cg" - name "EntryCode" - value (value Text "")) - (object Attribute - tool "cg" - name "ExitCode" - value (value Text "")) - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "BodyAnnotations" - value "") - (object Attribute - tool "cg" - name "OperationIsOneWay" - value FALSE) - (object Attribute - tool "cg" - name "Context" - value "") - (object Attribute - tool "cg" - name "Raises" - value ""))) - (object Attribute - tool "cg" - name "default__Has" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "Ordered" - value TRUE) - (object Attribute - tool "cg" - name "NameIfUnlabeled" - value "the_$supplier") - (object Attribute - tool "cg" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "cg" - name "DataMemberName" - value "$relationship") - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 14)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtRelationshipVisibility" - value 210))) - (object Attribute - tool "cg" - name "DataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "DataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "DataMemberFieldSize" - value "") - (object Attribute - tool "cg" - name "InitialValue" - value (value Text "")) - (object Attribute - tool "cg" - name "GenerateGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GenerateSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GetName" - value "get_$relationship") - (object Attribute - tool "cg" - name "SetName" - value "set_$relationship") - (object Attribute - tool "cg" - name "GetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GetSetKindsSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "ContainerClass" - value "") - (object Attribute - tool "cg" - name "SelectorName" - value "") - (object Attribute - tool "cg" - name "SelectorType" - value "") - (object Attribute - tool "cg" - name "GetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "GetResultIsConstSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_Function" - value 2))) - (object Attribute - tool "cg" - name "GetSetByReference" - value FALSE) - (object Attribute - tool "cg" - name "InlineGet" - value TRUE) - (object Attribute - tool "cg" - name "SetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineSet" - value TRUE) - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "GenerateForwardReference" - value FALSE) - (object Attribute - tool "cg" - name "IsReadOnly" - value FALSE) - (object Attribute - tool "cg" - name "BoundedHasRelType" - value ("HasRelTypeSet" 47)) - (object Attribute - tool "cg" - name "HasRelTypeSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Array" - value 24) - (object Attribute - tool "cg" - name "Sequence" - value 47))))) - (object Attribute - tool "cg" - name "default__Association" - value (list Attribute_Set - (object Attribute - tool "cg" - name "NameIfUnlabeled" - value "the_$targetClass"))) - (object Attribute - tool "cg" - name "default__Inherit" - value (list Attribute_Set - (object Attribute - tool "cg" - name "InstanceArguments" - value ""))) - (object Attribute - tool "cg" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "NameIfUnlabeled" - value "the_$targetClass") - (object Attribute - tool "cg" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "cg" - name "DataMemberName" - value "$target") - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 14)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtRelationshipVisibility" - value 210))) - (object Attribute - tool "cg" - name "DataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "DataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "DataMemberFieldSize" - value "") - (object Attribute - tool "cg" - name "InitialValue" - value (value Text "")) - (object Attribute - tool "cg" - name "ContainerClass" - value "") - (object Attribute - tool "cg" - name "ContainerGet" - value "$data.get($keys)") - (object Attribute - tool "cg" - name "ContainerSet" - value "$data.set($keys,$value)") - (object Attribute - tool "cg" - name "QualifiedContainer" - value "") - (object Attribute - tool "cg" - name "AssocClassContainer" - value "$supplier *") - (object Attribute - tool "cg" - name "AssocClassInitialValue" - value (value Text "")) - (object Attribute - tool "cg" - name "GetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GetSetKindsSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "GetSetByReference" - value FALSE) - (object Attribute - tool "cg" - name "GenerateGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GetName" - value "get_$target") - (object Attribute - tool "cg" - name "GetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "GetResultIsConstSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_Function" - value 2))) - (object Attribute - tool "cg" - name "InlineGet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "SetName" - value "set_$target") - (object Attribute - tool "cg" - name "SetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineSet" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedGetSetByReference" - value ("QualifiedGetSetByReferenceSet" 2)) - (object Attribute - tool "cg" - name "QualifiedGetSetByReferenceSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_GetSetByReference" - value 2))) - (object Attribute - tool "cg" - name "GenerateQualifiedGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedGetName" - value "get_$target") - (object Attribute - tool "cg" - name "QualifiedGetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedGetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "InlineQualifiedGet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateQualifiedSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedSetName" - value "set_$target") - (object Attribute - tool "cg" - name "QualifiedSetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineQualifiedSet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateAssocClassDataMember" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassDataMemberName" - value "$target") - (object Attribute - tool "cg" - name "AssocClassDataMemberVisibility" - value ("DataMemberVisibilitySet" 14)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtRelationshipVisibility" - value 210))) - (object Attribute - tool "cg" - name "AssocClassDataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "AssocClassDataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "AssocClassGetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GenerateAssocClassGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassGetName" - value "get_$target") - (object Attribute - tool "cg" - name "AssocClassGetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassGetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "InlineAssocClassGet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateAssocClassSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassSetName" - value "set_$target") - (object Attribute - tool "cg" - name "AssocClassSetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineAssocClassSet" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassForwardReferenceOnly" - value TRUE) - (object Attribute - tool "cg" - name "GenerateForwardReference" - value FALSE) - (object Attribute - tool "cg" - name "IsReadOnly" - value FALSE) - (object Attribute - tool "cg" - name "BoundedRoleType" - value ("AssocTypeSet" 47)) - (object Attribute - tool "cg" - name "AssocTypeSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Array" - value 24) - (object Attribute - tool "cg" - name "Sequence" - value 47))))) - (object Attribute - tool "cg" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "cg" - name "DataMemberName" - value "$attribute") - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 14)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtAttributeVisibility" - value 211))) - (object Attribute - tool "cg" - name "DataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "DataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "DataMemberFieldSize" - value "") - (object Attribute - tool "cg" - name "GenerateGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GenerateSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GetName" - value "get_$attribute") - (object Attribute - tool "cg" - name "SetName" - value "set_$attribute") - (object Attribute - tool "cg" - name "GetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GetSetKindsSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "GetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "GetResultIsConstSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_Function" - value 2))) - (object Attribute - tool "cg" - name "GetSetByReference" - value FALSE) - (object Attribute - tool "cg" - name "InlineGet" - value TRUE) - (object Attribute - tool "cg" - name "SetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineSet" - value TRUE) - (object Attribute - tool "cg" - name "CaseSpecifier" - value "") - (object Attribute - tool "cg" - name "IsReadOnly" - value FALSE))) - (object Attribute - tool "cg" - name "default__Uses" - value (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "GenerateForwardReference" - value FALSE))) - (object Attribute - tool "cg" - name "default__Subsystem" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Directory" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "DirectoryIsOnSearchList" - value FALSE) - (object Attribute - tool "cg" - name "PrecompiledHeader" - value ""))) - (object Attribute - tool "cg" - name "default__Category" - value (list Attribute_Set - (object Attribute - tool "cg" - name "IsNamespace" - value FALSE) - (object Attribute - tool "cg" - name "Indent" - value 2) - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))))) - (object Attribute - tool "MSVC" - name "propertyId" - value "809135966") - (object Attribute - tool "MSVC" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Version" - value "5.0"))) - (object Attribute - tool "MSVC" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCClassTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCClassTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Interface_Part" - value 1) - (object Attribute - tool "MSVC" - name "Connection_Part" - value 2) - (object Attribute - tool "MSVC" - name "Class_Factory" - value 3))) - (object Attribute - tool "MSVC" - name "CObjectFunctionality" - value ("CObjectFunctionalitySet" 0)) - (object Attribute - tool "MSVC" - name "CObjectFunctionalitySet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "None" - value 0) - (object Attribute - tool "MSVC" - name "Dynamic" - value 1) - (object Attribute - tool "MSVC" - name "Dyncreate" - value 2) - (object Attribute - tool "MSVC" - name "Serial" - value 3))) - (object Attribute - tool "MSVC" - name "GenerateOverrideGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "GenerateDataGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_DATA_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateFieldGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_FIELD_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateMessageGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "GenerateMessageMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_MSG_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MESSAGE_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "OLEFactory" - value ("OLEFactorySet" 0)) - (object Attribute - tool "MSVC" - name "OLEFactorySet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "None" - value 0) - (object Attribute - tool "MSVC" - name "Built_in" - value 1) - (object Attribute - tool "MSVC" - name "Simple" - value 2) - (object Attribute - tool "MSVC" - name "Licensed" - value 3))) - (object Attribute - tool "MSVC" - name "OLEName" - value "") - (object Attribute - tool "MSVC" - name "OLEClassID" - value "") - (object Attribute - tool "MSVC" - name "GenerateOLECtlType" - value FALSE) - (object Attribute - tool "MSVC" - name "OLECtlType" - value "") - (object Attribute - tool "MSVC" - name "GenerateOLETypeLib" - value FALSE) - (object Attribute - tool "MSVC" - name "OLETypeLibID" - value "") - (object Attribute - tool "MSVC" - name "OLETypeLibMajor" - value "") - (object Attribute - tool "MSVC" - name "OLETypeLibMinor" - value "") - (object Attribute - tool "MSVC" - name "GeneratePropPageIDs" - value FALSE) - (object Attribute - tool "MSVC" - name "OLEPropPageIDs" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateDispatchMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "StockProperties" - value (value Text "")) - (object Attribute - tool "MSVC" - name "StockFunctions" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DispatchDefValue" - value "") - (object Attribute - tool "MSVC" - name "GenerateDispIdEnum" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_DISP_ID_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateInterfaceMap" - value FALSE) - (object Attribute - tool "MSVC" - name "INTERFACE_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "InitInterface" - value "") - (object Attribute - tool "MSVC" - name "GenerateEventMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_EVENT_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "StockEvents" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateEventSinkMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_EVENTSINK_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "PropNotifySinks" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateConnectionMap" - value FALSE) - (object Attribute - tool "MSVC" - name "CONNECTION_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "ConnectionPointIID" - value "") - (object Attribute - tool "MSVC" - name "InheritanceType" - value "") - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "OLECommands" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MFCDeclares" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MFCImplements" - value (value Text "")) - (object Attribute - tool "MSVC" - name "ATL_Declares" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateCOMMap" - value FALSE) - (object Attribute - tool "MSVC" - name "COM_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateConnectionPointMap" - value FALSE) - (object Attribute - tool "MSVC" - name "CONNECTION_POINT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateMsgMap" - value FALSE) - (object Attribute - tool "MSVC" - name "MSG_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GeneratePropertyMap" - value FALSE) - (object Attribute - tool "MSVC" - name "PROPERTY_MAP_Entries" - value (value Text "")))) - (object Attribute - tool "MSVC" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCOperationTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCOperationTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Virtual_Override" - value 1) - (object Attribute - tool "MSVC" - name "Message_Handler" - value 2) - (object Attribute - tool "MSVC" - name "Dispatch_Handler" - value 3) - (object Attribute - tool "MSVC" - name "Event_Firing_Function" - value 4) - (object Attribute - tool "MSVC" - name "Event_Sink_Handler" - value 5) - (object Attribute - tool "MSVC" - name "Std_OLE_Method" - value 6) - (object Attribute - tool "MSVC" - name "Command_Parser" - value 7) - (object Attribute - tool "MSVC" - name "Property_Get_Function" - value 8) - (object Attribute - tool "MSVC" - name "Property_Set_Function" - value 9) - (object Attribute - tool "MSVC" - name "Property_Notify_Function" - value 10) - (object Attribute - tool "MSVC" - name "Macro_Generated_Function" - value 11))) - (object Attribute - tool "MSVC" - name "AFX_MSG_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MESSAGE_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "BodyImage" - value (value Text "")))) - (object Attribute - tool "MSVC" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCAttributeTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCAttributeTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Member_Property" - value 1) - (object Attribute - tool "MSVC" - name "Get_Set_Property" - value 2) - (object Attribute - tool "MSVC" - name "Dialog_Data" - value 3) - (object Attribute - tool "MSVC" - name "Field_Data" - value 4) - (object Attribute - tool "MSVC" - name "Stock_Property" - value 5))) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "PointerBase" - value "") - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "StockPropertyImplementation" - value ""))) - (object Attribute - tool "MSVC" - name "default__Has" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCAttributeTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCAttributeTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Member_Property" - value 1) - (object Attribute - tool "MSVC" - name "Get_Set_Property" - value 2) - (object Attribute - tool "MSVC" - name "Dialog_Data" - value 3) - (object Attribute - tool "MSVC" - name "Field_Data" - value 4) - (object Attribute - tool "MSVC" - name "Stock_Property" - value 5))) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "PointerBase" - value "") - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "StockPropertyImplementation" - value ""))) - (object Attribute - tool "MSVC" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCAttributeTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCAttributeTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Member_Property" - value 1) - (object Attribute - tool "MSVC" - name "Get_Set_Property" - value 2) - (object Attribute - tool "MSVC" - name "Dialog_Data" - value 3) - (object Attribute - tool "MSVC" - name "Field_Data" - value 4) - (object Attribute - tool "MSVC" - name "Stock_Property" - value 5))) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "PointerBase" - value "") - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "StockPropertyImplementation" - value ""))) - (object Attribute - tool "MSVC" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "GenerateIncludesGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_INCLUDES_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateInsertLocation" - value FALSE))) - (object Attribute - tool "MSVC" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "GenerateIncludesGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_INCLUDES_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateInsertLocation" - value FALSE))) - (object Attribute - tool "cg" - name "HiddenTool" - value FALSE) - (object Attribute - tool "SCC" - name "HiddenTool" - value FALSE) - (object Attribute - tool "TypeLibImporter" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Visual Basic" - name "propertyId" - value "783606378") - (object Attribute - tool "Visual Basic" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "CreatableSet" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "Private" - value 221) - (object Attribute - tool "Visual Basic" - name "PublicNotCreatable" - value 213) - (object Attribute - tool "Visual Basic" - name "SingleUse" - value 214) - (object Attribute - tool "Visual Basic" - name "GlobalSingleUse" - value 215) - (object Attribute - tool "Visual Basic" - name "MultiUse" - value 219) - (object Attribute - tool "Visual Basic" - name "GlobalMultiUse" - value 220))) - (object Attribute - tool "Visual Basic" - name "OptionBase" - value "0") - (object Attribute - tool "Visual Basic" - name "OptionExplicit" - value TRUE) - (object Attribute - tool "Visual Basic" - name "OptionCompare" - value ("CompareSet" 202)) - (object Attribute - tool "Visual Basic" - name "Creatable" - value ("CreatableSet" 221)) - (object Attribute - tool "Visual Basic" - name "GenerateInitialization" - value FALSE) - (object Attribute - tool "Visual Basic" - name "GenerateTermination" - value FALSE) - (object Attribute - tool "Visual Basic" - name "CollectionClass" - value "Collection") - (object Attribute - tool "Visual Basic" - name "CompareSet" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "None" - value 202) - (object Attribute - tool "Visual Basic" - name "Binary" - value 203) - (object Attribute - tool "Visual Basic" - name "Text" - value 204))))) - (object Attribute - tool "Visual Basic" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "OperationName" - value "$operation") - (object Attribute - tool "Visual Basic" - name "LibraryName" - value "") - (object Attribute - tool "Visual Basic" - name "AliasName" - value "") - (object Attribute - tool "Visual Basic" - name "IsStatic" - value FALSE) - (object Attribute - tool "Visual Basic" - name "EntryCode" - value (value Text "")) - (object Attribute - tool "Visual Basic" - name "ExitCode" - value (value Text "")))) - (object Attribute - tool "Visual Basic" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "IsConst" - value FALSE) - (object Attribute - tool "Visual Basic" - name "New" - value FALSE) - (object Attribute - tool "Visual Basic" - name "WithEvents" - value FALSE) - (object Attribute - tool "Visual Basic" - name "Subscript" - value "") - (object Attribute - tool "Visual Basic" - name "NameIfUnlabeled" - value "the$supplier") - (object Attribute - tool "Visual Basic" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "Visual Basic" - name "DataMemberName" - value "$relationship") - (object Attribute - tool "Visual Basic" - name "GenerateGetOperation" - value FALSE) - (object Attribute - tool "Visual Basic" - name "GenerateSetOperation" - value FALSE) - (object Attribute - tool "Visual Basic" - name "GenerateLetOperation" - value FALSE))) - (object Attribute - tool "Visual Basic" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "New" - value FALSE) - (object Attribute - tool "Visual Basic" - name "WithEvents" - value FALSE) - (object Attribute - tool "Visual Basic" - name "Subscript" - value "") - (object Attribute - tool "Visual Basic" - name "NameIfUnlabeled" - value "the$supplier") - (object Attribute - tool "Visual Basic" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "Visual Basic" - name "DataMemberName" - value "$relationship") - (object Attribute - tool "Visual Basic" - name "GenerateGetOperation" - value FALSE) - (object Attribute - tool "Visual Basic" - name "GenerateSetOperation" - value FALSE) - (object Attribute - tool "Visual Basic" - name "GenerateLetOperation" - value FALSE))) - (object Attribute - tool "Visual Basic" - name "default__Inherit" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "ImplementsDelegation" - value TRUE))) - (object Attribute - tool "Visual Basic" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "Visual Basic" - name "ProjectFile" - value ""))) - (object Attribute - tool "Visual Basic" - name "HiddenTool" - value FALSE) - (object Attribute - tool "VisualStudio" - name "HiddenTool" - value FALSE)) - quid "4362A29901BD")) diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java deleted file mode 100644 index 8099ddd38b..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java +++ /dev/null @@ -1,150 +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.List; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandGroup; -import org.apache.tuscany.das.rdb.test.data.CompanyData; -import org.apache.tuscany.das.rdb.test.data.CompanyDeptData; -import org.apache.tuscany.das.rdb.test.data.DepEmpData; -import org.apache.tuscany.das.rdb.test.data.DepartmentData; -import org.apache.tuscany.das.rdb.test.data.EmployeeData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class BestPracticeTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CompanyData(getAutoConnection()).refresh(); - new DepartmentData(getAutoConnection()).refresh(); - new EmployeeData(getAutoConnection()).refresh(); - new CompanyDeptData(getAutoConnection()).refresh(); - new DepEmpData(getAutoConnection()).refresh(); - - } - - //Read list of companies - public void testReadCompanies() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml")); - Command read = commandGroup.getCommand("all companies"); - DataObject root = read.executeQuery(); - assertEquals(3, root.getList("COMPANY").size()); - - } - - //Read list of companies - public void testReadCompaniesWithDepartments() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml")); - Command read = commandGroup.getCommand("all companies and departments"); - DataObject root = read.executeQuery(); - DataObject firstCompany = root.getDataObject("COMPANY[1]"); - List departments = firstCompany.getList("departments"); - assertEquals(0, departments.size()); - - } - - public void testddDepartmentToFirstCompany() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml")); - Command read = commandGroup.getCommand("all companies and departments"); - DataObject root = read.executeQuery(); - DataObject firstCustomer = root.getDataObject("COMPANY[1]"); - int deptCount = firstCustomer.getList("departments").size(); - - DataObject newDepartment = root.createDataObject("DEPARTMENT"); - firstCustomer.getList("departments").add(newDepartment); - - ApplyChangesCommand apply = commandGroup.getApplyChangesCommand(); - apply.execute(root); - - //verify - root = read.executeQuery(); - firstCustomer = root.getDataObject("COMPANY[1]"); - assertEquals (deptCount + 1, firstCustomer.getList("departments").size()); - } - - /** - * Test ability to correctly flush heirarchy of objects that have generated - * keys - */ - public void testFlushCreateHeirarchy() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml")); - Command select = commandGroup.getCommand("all companies and departments"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - // Create a new Company - DataObject company = root.createDataObject("COMPANY"); - company.setString("NAME", "Do-rite Pest Control"); - - // Create a new Department - //Do not set ID or CompanyID since these are generated - DataObject department = root.createDataObject("DEPARTMENT"); - department.setString("NAME", "Do-rite Pest Control"); - department.setString("LOCATION", "The boonies"); - department.setString("NUMBER", "101"); - - // Associate the new department with the new company - company.getList("departments").add(department); - - // Get apply command - ApplyChangesCommand apply = commandGroup.getApplyChangesCommand(); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute(root); - - // Save the id - Integer id = (Integer) company.get("ID"); - - // Verify the change - - select = commandGroup.getCommand("company by id with departments"); - select.setParameterValue("ID", id); - root = select.executeQuery(); - assertEquals("Do-rite Pest Control", root.getDataObject("COMPANY[1]") - .getString("NAME")); - - } - - /** - * Test ability to get an empty graph with the Types/Properties intact - */ - public void testGetEmptyGraph() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml")); - - Command select = commandGroup.getCommand("company by id with departments"); - Integer idOfNoExistingCompany = new Integer(-1); - select.setParameterValue("ID", idOfNoExistingCompany); - DataObject root = select.executeQuery(); - - //Will fail if there is no property named "COMPANY" - assertEquals(0, root.getList("COMPANY").size()); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java deleted file mode 100644 index 35def7e677..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java +++ /dev/null @@ -1,124 +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 org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -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 CUDGeneration extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - } - - /** - * This tests provides invalid SQL and should fail on Apply.execute. If not - * then the engine is generating CUD and overlooking the provided - * statements. - */ - public void testCUDGeneration1() 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("basicCustomerMappingWithInvalidCUD.xml")); - apply.setConnection(getConnection()); - - // Flush changes - try { - apply.execute(root); - fail("Should fail with invalid SQL. Provided CUD not used!!"); - } catch (RuntimeException e) { - // Everything OK - } - - } - - public void testInsertCUDGeneration() throws Exception { - Command select = Command.FACTORY - .createCommand("Select * from CUSTOMER where ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject customer = root.createDataObject("CUSTOMER"); - customer.setInt("ID", 720); - customer.set("LASTNAME", "foobar"); - customer.set("ADDRESS", "asdfasdf"); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - apply.execute(root); - - select = Command.FACTORY - .createCommand("select * from CUSTOMER where ID = 720"); - select.setConnection(getConnection()); - root = select.executeQuery(); - - assertEquals(1, root.getList("CUSTOMER").size()); - } - - public void testReadModifyApply() throws Exception { - - // Build the select command to read a specific customer and related - // orders - Command select = Command.FACTORY - .createCommand( - "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID", - getConfig("1xM_mapping_no_cud.xml")); - - // Parameterize the command - select.setConnection(getConnection()); - select.setParameterValue("ID", new Integer(1)); - - // Get the graph - DataObject root = select.executeQuery(); - - // Modify a customer - DataObject customer = (DataObject) root.get("Customer[1]"); - customer.set("LASTNAME", "Pavick"); - - // Modify an order - DataObject order = (DataObject) customer.get("orders[1]"); - order.setString("PRODUCT", "Kitchen Sink 001"); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("1xM_mapping_no_cud.xml")); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute(root); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java deleted file mode 100644 index dcadd27d2f..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java +++ /dev/null @@ -1,165 +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 test - * - */ - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandGroup; -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; - -/** - * - * This tests use of the XML Config file. Tests will utilize the - * customer-orders-orderdetails tables. The plan is for the config file to have - * a section that applies to all commands and another that applies to specific - * commands. - * - * The config file will be used to initialize a command factory that will then - * return named commands. - * - * There will be two read commands: - * - * 1) Return all customers 2) Return a specific customer (by ID) and related - * orders and order details - * - * A test will demonstrate the creation of the factory and then reuse of - * commands created from the same config data file - * - */ -public class CommandGroupTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Read - */ - public void testRead() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustomersOrdersConfig.xml")); - commandGroup.setConnection(getConnection()); - - Command read = commandGroup.getCommand("all customers"); - DataObject root = read.executeQuery(); - - assertEquals(5, root.getList("CUSTOMER").size()); - - } - - /** - * Read an order using parm marker - */ - public void testReadWithParmmarker() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustOrdersConnectionProps.xml")); - - Command read = commandGroup.getCommand("order by id with ?"); - read.setParameterValue(1, new Integer(1)); - DataObject root = read.executeQuery(); - - assertEquals("recombobulator", root.getString("ANORDER[1]/PRODUCT")); - - } - - /** - * Specify connection properties in config - */ - public void testReadWithConnectionProperties() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustOrdersConnectionProps.xml")); - - Command read = commandGroup.getCommand("all customers"); - DataObject root = read.executeQuery(); - - assertEquals(5, root.getList("CUSTOMER").size()); - - } - - /** - * Specify connection properties in config. Add explicit update command - */ - public void testUpdate() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustOrdersConnectionProps.xml")); - - Command read = commandGroup.getCommand("all customers"); - DataObject root = read.executeQuery(); - // Verify precondition - assertFalse(root.get("CUSTOMER[1]/LASTNAME").equals("Pavick")); - int id = root.getInt("CUSTOMER[1]/ID"); - - Command update = commandGroup.getCommand("update customer"); - update.setParameterValue("ID", new Integer(id)); - update.execute(); - - // Verify update - reuse select command - root = read.executeQuery(); - assertEquals("Pavick", root.get("CUSTOMER[1]/LASTNAME")); - - } - - /** - * Read all customers, select a specific customer. Then read that customer - * and related orders. Modify an order and flush changes back - */ - public void testRead2() throws Exception { - - // Create the group and set common connection - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustomersOrdersConfig.xml")); - commandGroup.setConnection(getConnection()); - - // Read all customers and remember the first one - Command read = commandGroup.getCommand("all customers"); - DataObject root = read.executeQuery(); - Integer id = (Integer) root.get("CUSTOMER[1]/ID"); - - // Read the specific Customer from above and its related orders - Command custOrders = commandGroup.getCommand("customer and orders"); - custOrders.setParameterValue("ID", id); - root = custOrders.executeQuery(); - - // Modify the first order and flush this change back to the database - root.setString("CUSTOMER[1]/orders[1]/PRODUCT", "Defibrillator"); - Integer orderId = (Integer) root.get("CUSTOMER[1]/orders[1]/ID"); - ApplyChangesCommand flush = commandGroup.getApplyChangesCommand(); - flush.execute(root); - - // Verify - Command orderByID = commandGroup.getCommand("order by id"); - orderByID.setParameterValue("ID", orderId); - assertEquals("Defibrillator", root.getString("ANORDER[1]/PRODUCT")); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java deleted file mode 100644 index 011f1791e9..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java +++ /dev/null @@ -1,105 +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 org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.company.CompanyFactory; -import org.apache.tuscany.das.rdb.test.company.CompanyType; -import org.apache.tuscany.das.rdb.test.company.DatagraphRoot; -import org.apache.tuscany.das.rdb.test.company.DepartmentType; -import org.apache.tuscany.das.rdb.test.company.EmployeeType; -import org.apache.tuscany.das.rdb.test.data.CompanyData; -import org.apache.tuscany.das.rdb.test.data.CompanyDeptData; -import org.apache.tuscany.das.rdb.test.data.DepEmpData; -import org.apache.tuscany.das.rdb.test.data.DepartmentData; -import org.apache.tuscany.das.rdb.test.data.EmployeeData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; -import org.apache.tuscany.sdo.util.SDOUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.TypeHelper; - -public class CompanyTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CompanyData(getAutoConnection()).refresh(); - new DepartmentData(getAutoConnection()).refresh(); - new EmployeeData(getAutoConnection()).refresh(); - new CompanyDeptData(getAutoConnection()).refresh(); - new DepEmpData(getAutoConnection()).refresh(); - - } - - public void testSimple() throws Exception { - - // Build the select command - Command selectCommand = Command.FACTORY.createCommand("select COMPANY.NAME, " - + "EMPLOYEE.NAME, EMPLOYEE.SN, EMPLOYEE.MANAGER, " - + "DEPARTMENT.NAME, DEPARTMENT.LOCATION, DEPARTMENT.NUMBER from COMPANY, DEPARTMENT, EMPLOYEE " - + "where COMPANY.ID=DEPARTMENT.COMPANYID and DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID", getConfig("companyMapping.xml")); - - // Parameterize the command - selectCommand.setConnection(getConnection()); - - // Get the graph - DataObject root = selectCommand.executeQuery(); - - // Get a company - DataObject company = (DataObject) root.getList("CompanyType").get(0); - assertEquals("MegaCorp", company.get("NAME")); - - // Get a department - DataObject department = (DataObject) company.getList("departments").get(0); - assertEquals("Advanced Technologies", department.get("NAME")); - - DataObject employee = (DataObject) department.getList("employees").get(0); - assertEquals("John Jones", employee.get("NAME")); - } - - public void testSimpleStatic() throws Exception { - - SDOUtil.registerStaticTypes(CompanyFactory.class); - // Build the select command - Command selectCommand = Command.FACTORY.createCommand("select COMPANY.NAME, " - + "EMPLOYEE.NAME, EMPLOYEE.SN, EMPLOYEE.MANAGER, " - + "DEPARTMENT.NAME, DEPARTMENT.LOCATION, DEPARTMENT.NUMBER from COMPANY, DEPARTMENT, EMPLOYEE " - + "where COMPANY.ID=DEPARTMENT.COMPANYID and DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID", getConfig("companyMappingWithConverters.xml")); - - // Parameterize the command - selectCommand.setConnection(getConnection()); - selectCommand.setDataObjectModel(TypeHelper.INSTANCE.getType(DatagraphRoot.class)); - - // Get the graph - DatagraphRoot root = (DatagraphRoot) selectCommand.executeQuery(); - - - CompanyType company = (CompanyType) root.getCompanies().get(0); - - assertEquals("MegaCorp", company.getName()); - - // Get a department - DepartmentType department = (DepartmentType) company.getDepartments().get(0); - assertEquals("Advanced Technologies", department.getName()); - - EmployeeType employee = (EmployeeType) department.getEmployees().get(0); - - assertEquals("John Jones", employee.getName()); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java deleted file mode 100644 index 7a3ae9b5ed..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java +++ /dev/null @@ -1,100 +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 org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.Key; -import org.apache.tuscany.das.rdb.test.data.OrderData; -import org.apache.tuscany.das.rdb.test.data.OrderDetailsData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -/** - * Tests for Compound Keys - */ -public class CompoundKeyTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new OrderDetailsData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testRead() throws Exception { - - Command getOrderDetails = Command.FACTORY - .createCommand("Select * from ORDERDETAILS where ORDERID = :ORDERID AND PRODUCTID = :PRODUCTID"); - getOrderDetails.setConnection(getConnection()); - - getOrderDetails.setParameterValue("ORDERID", new Integer(1)); - getOrderDetails.setParameterValue("PRODUCTID", new Integer(1)); - - DataObject root = getOrderDetails.executeQuery(); - - DataObject orderDetail = (DataObject) root.get("ORDERDETAILS[1]"); - assertEquals(1.1f, orderDetail.getFloat("PRICE"), 0.01); - - } - - public void testReadModifyWrite2() throws Exception { - - Command getOrderDetails = Command.FACTORY - .createCommand("Select * from ORDERDETAILS where ORDERID = 1 AND PRODUCTID = 1"); - getOrderDetails.setConnection(getConnection()); - DataObject root = getOrderDetails.executeQuery(); - - DataObject orderDetails = (DataObject) root.get("ORDERDETAILS[1]"); - assertEquals(1.1f, orderDetails.getFloat("PRICE"), 0.01); - - // Modify - orderDetails.setFloat("PRICE", 0f); - - // Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("OrdersOrderDetailsConfig.xml")); - apply.setConnection(getConnection()); - - // Write - apply.execute(root); - - // Verify - root = getOrderDetails.executeQuery(); - orderDetails = root.getDataObject("ORDERDETAILS[1]"); - assertEquals(0f, orderDetails.getFloat("PRICE"), 0.01); - - } - - public void testReadOrdersAndDetails2() throws Exception { - - Command read = Command.FACTORY - .createCommand("SELECT * FROM ANORDER LEFT JOIN ORDERDETAILS ON ANORDER.ID = ORDERDETAILS.ORDERID ORDER BY ANORDER.ID", getConfig("OrdersOrderDetailsConfig.xml")); - read.setConnection(getConnection()); - - DataObject root = read.executeQuery(); - - DataObject firstOrder = root.getDataObject("ANORDER[1]"); - assertEquals(1, firstOrder.getInt("ID")); - assertEquals(2, firstOrder.getList("ORDERDETAILS").size()); - - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java deleted file mode 100644 index d0f94018cd..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java +++ /dev/null @@ -1,114 +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.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -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.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - - -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -/** - * Tests the Converter framwork - */ -public class ConverterTests extends DasTest { - - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - } - - - protected void tearDown() throws Exception { - super.tearDown(); - } - - private static DateFormat myformat = new SimpleDateFormat("yyyy.MM.dd"); - - private static Date kbday; - private static Date tbday; - - static { - try { - kbday = myformat.parse("1957.09.27"); - tbday = myformat.parse("1966.12.20"); - } catch (ParseException e) { - throw new RuntimeException(e); - } - } - - - - /** - * This tests the use of an arbitrary converter. The column converted is a VARCAHAR. - * ResultSetShape is used to specify that the property will be a SDODataTypes.DATE. - * - * So this example uses a converter that transforms a string column into a date property - * and conversely, a date property back to a string for the underlying column. - * - * The converter returns 1957.09.27 if the column value is "Williams" and 1966.12.20 - * if the value is "Pavick" - * - * On write, the converter returns "Pavick" if the property value is 1966.12.20 - * and "Williams" if the property value is 1957.09.27 - * - */ - public void testArbitraryConverter() throws Exception { - - //Create and initialize command to read customers - Command read = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1", getConfig("CustomerConfigWithConverter.xml")); - read.setConnection(getConnection()); - - String[] columns = { "ID", "LASTNAME", "ADDRESS" }; - String[] tables = { "CUSTOMER", "CUSTOMER", "CUSTOMER" }; - Type[] types = { SDODataTypes.INTEGEROBJECT, SDODataTypes.DATE, SDODataTypes.STRING }; - ResultSetShape shape = new ResultSetShape(tables, columns, types); - read.setResultSetShape(shape); - - //Read - DataObject root = read.executeQuery(); - - //Verify - assertEquals(kbday, root.getDate("CUSTOMER[1]/LASTNAME")); - - //Modify - root.setDate("CUSTOMER[1]/LASTNAME", tbday); - - ApplyChangesCommand write = Command.FACTORY.createApplyChangesCommand(getConfig("CustomerConfigWithConverter.xml")); - write.setConnection(getConnection()); - write.execute(root); - - //Read - root = read.executeQuery(); - - //Verify - assertEquals(tbday, root.getDate("CUSTOMER[1]/LASTNAME")); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java deleted file mode 100644 index c7aa9cbb6d..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java +++ /dev/null @@ -1,244 +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; - -/* - * These tests attempt to duplicate customer reported errors and then to verify - * any necessary fix. - * - */ - -import java.util.Iterator; -import java.util.Random; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandGroup; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.test.data.CompanyData; -import org.apache.tuscany.das.rdb.test.data.CompanyDeptData; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.data.DepartmentData; -import org.apache.tuscany.das.rdb.test.data.OrderData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class CorrectedDefectTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - - new CompanyData(getAutoConnection()).refresh(); - new DepartmentData(getAutoConnection()).refresh(); - new CompanyDeptData(getAutoConnection()).refresh(); - - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Dilton's bug for adding new child data object - */ - public void testAddNewOrder() 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", - getConfig("CustomersOrdersConfig.xml")); - select.setConnection(getConnection()); - - DataObject root = select.executeQuery(); - - DataObject cust = root.getDataObject("CUSTOMER[1]"); - - // Save ID and Order Count - int custID = cust.getInt("ID"); - int custOrderCount = cust.getList("orders").size(); - - // Create a new Order and add to customer1 - DataObject order = root.createDataObject("ANORDER"); - - order.set("ID", new Integer(99)); - order.set("PRODUCT", "The 99th product"); - order.set("QUANTITY", new Integer(99)); - cust.getList("orders").add(order); - - assertEquals(custOrderCount + 1, cust.getList("orders").size()); - // Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("CustomersOrdersConfig.xml")); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute(root); - - // verify cust1 relationship updates - select = Command.FACTORY - .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID",getConfig("CustomersOrdersConfig.xml")); - select.setConnection(getConnection()); - select.setParameterValue("ID", new Integer(custID)); - root = select.executeQuery(); - - assertEquals(custOrderCount + 1, root.getList("CUSTOMER[1]/orders").size()); - - } - - public void testDiltonsInsertWorkaround() throws Exception { - - // String sql = "insert into conmgt.serverstatus (statusid, - // managedserverid, timestamp) values (316405209, 316405209, '2005-11-23 - // 19:29:52.636')"; - // String sql = "insert into conmgt.serverstatus (managedserverid, - // timestamp) values (316405209, '2005-11-23 19:29:52.636')"; - String sql = "insert into conmgt.serverstatus (managedserverid, timestamp) values (:serverid, :timestamp)"; - - Command insert = Command.FACTORY.createCommand(sql); - insert.setParameterValue("serverid", new Integer(316405209)); - insert.setParameterValue("timestamp", "2005-11-23 19:29:52.636"); - insert.setConnection(getConnection()); - insert.execute(); - - // Verify - Command select = Command.FACTORY.createCommand("Select * from conmgt.serverstatus"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("SERVERSTATUS").size()); - - } - - public void testWASDefect330118() throws Exception { - - // Create the group and set common connection - CommandGroup commandGroup = CommandGroup.FACTORY - .createCommandGroup(getConfig("CustomersOrdersConfig.xml")); - commandGroup.setConnection(getConnection()); - - // Read all customers and add one - Command read = commandGroup.getCommand("all customers"); - DataObject root = read.executeQuery(); - int numCustomers = root.getList("CUSTOMER").size(); - - DataObject newCust = root.createDataObject("CUSTOMER"); - newCust.set("ID", new Integer(100)); - newCust.set("ADDRESS", "5528 Wells Fargo Drive"); - newCust.set("LASTNAME", "Gerkin"); - - // Now delete this new customer - newCust.delete(); - - ApplyChangesCommand apply = commandGroup.getApplyChangesCommand(); - apply.execute(root); - - // Verify - root = read.executeQuery(); - assertEquals(numCustomers, root.getList("CUSTOMER").size()); - - } - - /** - * Should be able to explicitly set a parameter to null. But, should require - * that the parameter type is set. - */ - public void testDiltonsNullParameterBug1() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)"); - insert.setConnection(getConnection()); - insert.setParameterValue("ID", new Integer(10)); - insert.setParameterValue("LASTNAME", null); - insert.setParameterType("LASTNAME", SDODataTypes.STRING); - insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr"); - insert.execute(); - - // Verify - Command select = Command.FACTORY.createCommand("Select * from CUSTOMER where ID = 10"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("CUSTOMER").size()); - assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS")); - - } - - /** - * Error by not setting a parameter - */ - public void testDiltonsNullParameterBug2() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)"); - insert.setConnection(getConnection()); - insert.setParameterValue("ID", new Integer(10)); - // insert.setParameterValue("LASTNAME", null); - insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr"); - - try { - insert.execute(); - fail(); - } catch (RuntimeException e) { - // Expected since "LASTNAME" parameter not set - } - } - - /** - * Set parameter to empty string - */ - public void testDiltonsNullParameterBug3() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)"); - insert.setConnection(getConnection()); - insert.setParameterValue("ID", new Integer(10)); - insert.setParameterValue("LASTNAME", ""); - insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr"); - insert.execute(); - - // Verify - Command select = Command.FACTORY.createCommand("Select * from CUSTOMER where ID = 10"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("CUSTOMER").size()); - assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS")); - - } - - public void testUpdateChildThatHasGeneratedKey() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml")); - - // Read a specific company based on the known ID - Command readCust = commandGroup.getCommand("all companies and departments"); - DataObject root = readCust.executeQuery(); - DataObject lastCustomer = root.getDataObject("COMPANY[3]"); - Iterator i = lastCustomer.getList("departments").iterator(); - Random generator = new Random(); - int random = generator.nextInt(1000) + 1; - DataObject department; - while (i.hasNext()) { - department = (DataObject) i.next(); - // System.out.println("Modifying department: " + - // department.getString("NAME")); - department.setString("NAME", "Dept-" + random); - random = random + 1; - } - - ApplyChangesCommand apply = commandGroup.getApplyChangesCommand(); - apply.execute(root); - - } - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java deleted file mode 100644 index 7a82558de6..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java +++ /dev/null @@ -1,377 +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 java.util.Iterator; - -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.data.OrderDetailsData; -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(); - new OrderDetailsData( 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() ); - - //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" ) ); - - } - - - public void testReadModifyApplyWithAssumedID() throws Exception { - - //Read customer with particular ID - Command select = Command.FACTORY - .createCommand("Select * from CUSTOMER"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject customer = root.getDataObject("CUSTOMER[1]"); - - //Modify customer - customer.set("LASTNAME", "Pavick"); - - DataObject customerForDelete = root.getDataObject("CUSTOMER[2]"); - String deletedLastName = customerForDelete.getString("LASTNAME"); - customerForDelete.delete(); - - DataObject newCustomer = root.createDataObject("CUSTOMER"); - newCustomer.set("LASTNAME", "NewCustomer"); - newCustomer.setInt("ID", 9000); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - - //Flush changes - apply.execute(root); - - //Verify the change - root = select.executeQuery(); - assertEquals("Pavick", getCustomerByLastName(root, "Pavick").getString("LASTNAME")); - assertEquals("NewCustomer", getCustomerByLastName(root, "NewCustomer").getString("LASTNAME")); - assertNull(getCustomerByLastName(root, deletedLastName)); - - } - - - public void testReadModifyApplyWithAssumedIDFailure() throws Exception { - - Command select = Command.FACTORY - .createCommand("Select * from ORDERDETAILS"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject od = root.getDataObject("ORDERDETAILS[1]"); - - //Modify customer - od.setInt("PRODUCTID", 72); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - - //Flush changes -- This should fail because Order Details does not have a column that - // we can assume to be an ID - try { - apply.execute(root); - } catch (RuntimeException ex) { - assertTrue(ex.getMessage().contains("changed in the DataGraph but is not present in the Config")); - } - - } - - public void testReadModifyApplyWithAssumedIDFailure2() throws Exception { - - Command select = Command.FACTORY - .createCommand("Select * from ORDERDETAILS"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject od = root.getDataObject("ORDERDETAILS[1]"); - od.delete(); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - - //Flush changes -- This should fail because Order Details does not have a column that - // we can assume to be an ID - try { - apply.execute(root); - } catch (RuntimeException ex) { - assertTrue(ex.getMessage().contains("changed in the DataGraph but is not present in the Config")); - } - - } - public void testReadModifyApplyWithAssumedIDFailure3() throws Exception { - - Command select = Command.FACTORY - .createCommand("Select * from ORDERDETAILS"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject od = root.createDataObject("ORDERDETAILS"); - - //Modify customer - od.setInt("PRODUCTID", 72); - od.setInt("ORDERID", 500); - - //Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - - //Flush changes -- This should fail because Order Details does not have a column that - // we can assume to be an ID - try { - apply.execute(root); - } catch (RuntimeException ex) { - assertTrue(ex.getMessage().contains("changed in the DataGraph but is not present in the Config")); - } - - } - private DataObject getCustomerByLastName(DataObject root, String name) { - Iterator i = root.getList("CUSTOMER").iterator(); - while ( i. hasNext()) { - DataObject obj = (DataObject)i.next(); - if (name.equals(obj.getString("LASTNAME"))) - return obj; - } - return null; - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java deleted file mode 100644 index 1a2516aa02..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java +++ /dev/null @@ -1,303 +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; - -/* - * These tests attempt to duplicate customer reported errors and then to verify - * any necessary fix. - * - */ - -import java.util.Iterator; -import java.util.Random; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandGroup; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.test.data.CompanyData; -import org.apache.tuscany.das.rdb.test.data.CompanyDeptData; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.data.DepEmpData; -import org.apache.tuscany.das.rdb.test.data.DepartmentData; -import org.apache.tuscany.das.rdb.test.data.EmployeeData; -import org.apache.tuscany.das.rdb.test.data.OrderData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class DefectTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - - new CompanyData(getAutoConnection()).refresh(); - new DepartmentData(getAutoConnection()).refresh(); - new EmployeeData(getAutoConnection()).refresh(); - new CompanyDeptData(getAutoConnection()).refresh(); - new DepEmpData(getAutoConnection()).refresh(); - - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Read a specific customer - */ - public void testDiltonsInsert() throws Exception { - - // String sql = "insert into conmgt.serverstatus (statusid, - // managedserverid, timestamp) values (316405209, 316405209, '2005-11-23 - // 19:29:52.636')"; - String sql = "insert into conmgt.serverstatus (managedserverid, timestamp) values (316405209, '2005-11-23 19:29:52.636')"; - - Command insert = Command.FACTORY.createCommand(sql); - insert.setConnection(getConnection()); - insert.execute(); - - // Verify - Command select = Command.FACTORY - .createCommand("Select * from conmgt.serverstatus where statusid = 316405209"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("conmgt.serverstatus").size()); - - } - - - - public void testDiltonsInsertWorkaround() throws Exception { - - // String sql = "insert into conmgt.serverstatus (statusid, - // managedserverid, timestamp) values (316405209, 316405209, '2005-11-23 - // 19:29:52.636')"; - // String sql = "insert into conmgt.serverstatus (managedserverid, - // timestamp) values (316405209, '2005-11-23 19:29:52.636')"; - String sql = "insert into conmgt.serverstatus (managedserverid, timestamp) values (:serverid, :timestamp)"; - - Command insert = Command.FACTORY.createCommand(sql); - insert.setParameterValue("serverid", new Integer(316405209)); - insert.setParameterValue("timestamp", "2005-11-23 19:29:52.636"); - insert.setConnection(getConnection()); - insert.execute(); - - // Verify - Command select = Command.FACTORY.createCommand("Select * from conmgt.serverstatus"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("SERVERSTATUS").size()); - - } - - public void testWASDefect330118() throws Exception { - - // Create the group and set common connection - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustomersOrdersConfig.xml")); - commandGroup.setConnection(getConnection()); - - // Read all customers and add one - Command read = commandGroup.getCommand("all customers"); - DataObject root = read.executeQuery(); - int numCustomers = root.getList("CUSTOMER").size(); - - DataObject newCust = root.createDataObject("CUSTOMER"); - newCust.set("ID", new Integer(100)); - newCust.set("ADDRESS", "5528 Wells Fargo Drive"); - newCust.set("LASTNAME", "Gerkin"); - - // Now delete this new customer - newCust.delete(); - - ApplyChangesCommand apply = commandGroup.getApplyChangesCommand(); - apply.execute(root); - - // Verify - root = read.executeQuery(); - assertEquals(numCustomers, root.getList("CUSTOMER").size()); - - } - - /** - * Yin Chen reports ... "In the class Statement, method: public int - * executeUpdate(Parameters parameters) - its tossing out RuntimeException - * when the value of the parameter is null. " - * - * His example build a update statement and sets one parameter value to be - * null. I will try to duplicate with an insert since that is simpler - * - */ - public void testYingChen12162005() throws Exception { - - Command insert = Command.FACTORY - .createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)"); - insert.setConnection(getConnection()); - insert.setParameterValue("ID", new Integer(10)); - insert.setParameterValue("LASTNAME", "Williams"); - insert.setParameterValue("ADDRESS", null); - insert.execute(); - - // Verify - Command select = Command.FACTORY.createCommand("Select * from CUSTOMER where ID = 10"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("CUSTOMER").size()); - assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS")); - - } - - /** - * Try a workaround using CommandGroup - */ - public void testYingChen12162005Workaraound() throws Exception { - - // Create the group and set common connection - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustomerConfig.xml")); - commandGroup.setConnection(getConnection()); - - Command insert = commandGroup.getCommand("insert customer"); - insert.setParameterValue("ID", new Integer(10)); - insert.setParameterValue("LASTNAME", "Williams"); - insert.setParameterValue("ADDRESS", null); - insert.execute(); - - // Verify - Command select = commandGroup.getCommand("read customer 10"); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("CUSTOMER").size()); - assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS")); - - } - - - - - /** - * Should be able to explicitly set a parameter to null. But, should require - * that the parameter type is set. - */ - public void testDiltonsNullParameterBug1() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)"); - insert.setConnection(getConnection()); - insert.setParameterValue("ID", new Integer(10)); - insert.setParameterValue("LASTNAME", null); - insert.setParameterType("LASTNAME", SDODataTypes.STRING); - insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr"); - insert.execute(); - - //Verify - Command select = Command.FACTORY.createCommand("Select * from CUSTOMER where ID = 10"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("CUSTOMER").size()); - assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS")); - - } - - - /** - * Error by not setting a parameter - */ - public void testDiltonsNullParameterBug2() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)"); - insert.setConnection(getConnection()); - insert.setParameterValue("ID", new Integer(10)); -// insert.setParameterValue("LASTNAME", null); - insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr"); - - try { - insert.execute(); - fail(); - } - catch (RuntimeException e) { - //Expected since "LASTNAME" parameter not set - } - } - - /** - * Set parameter to empty string - */ - public void testDiltonsNullParameterBug3() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)"); - insert.setConnection(getConnection()); - insert.setParameterValue("ID", new Integer(10)); - insert.setParameterValue("LASTNAME", ""); - insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr"); - insert.execute(); - - //Verify - Command select = Command.FACTORY.createCommand("Select * from CUSTOMER where ID = 10"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertEquals(1, root.getList("CUSTOMER").size()); - assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS")); - - } - - public void testUpdateChildThatHasGeneratedKey() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml")); - - //Read a specific company based on the known ID - Command readCust = commandGroup.getCommand("all companies and departments"); - DataObject root = readCust.executeQuery(); - DataObject lastCustomer = root.getDataObject("COMPANY[3]"); - Iterator i = lastCustomer.getList("departments").iterator(); - Random generator = new Random(); - int random = generator.nextInt(1000) + 1; - DataObject department; - while (i.hasNext()) { - department = (DataObject)i.next(); - System.out.println("Modifying department: " + department.getString("NAME")); - department.setString("NAME", "Dept-" + random); - random = random + 1; - } - - ApplyChangesCommand apply = commandGroup.getApplyChangesCommand(); - apply.execute(root); - - } - - - - /** - * Test problem with Random - */ - public void testRandomNumber() throws Exception { - - Random generator = new Random(); - int number = generator.nextInt(1000) + 1; - assertTrue(number > 0 & number <= 1000); - - } - - - public void testTablePropertyName() throws Exception { - - } - - - - - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java deleted file mode 100644 index d52a34c265..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java +++ /dev/null @@ -1,149 +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 org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandGroup; -import org.apache.tuscany.das.rdb.ConfigHelper; -import org.apache.tuscany.das.rdb.test.company.CompanyFactory; -import org.apache.tuscany.das.rdb.test.customer.DataGraphRoot; -import org.apache.tuscany.das.rdb.test.data.BookData; -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 org.apache.tuscany.sdo.util.SDOUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.TypeHelper; - -public class ExceptionTests extends DasTest { - - public ExceptionTests() { - super(); - } - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - new BookData(getAutoConnection()).refresh(); - - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testMissingConnection() throws Exception { - Command readCustomers = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1"); - try { - readCustomers.executeQuery(); - fail("RuntimeException should be thrown"); - } catch (RuntimeException ex) { - assertEquals("A DASConnection object must be specified before executing the query.", ex.getMessage()); - } - - } - - public void testMissingMapping() throws Exception { - Command readCustomers = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1"); - readCustomers.setConnection(getConnection()); - SDOUtil.registerStaticTypes(CompanyFactory.class); - readCustomers.setDataObjectModel(TypeHelper.INSTANCE.getType(DataGraphRoot.class)); - - try { - readCustomers.executeQuery(); - fail("Exception should be thrown"); - } catch (RuntimeException ex) { - assertEquals("An SDO Type with name CUSTOMER was not found", ex.getMessage()); - } - - } - - /** - * Test ability to describe problem when a user passes an empty stream - */ - public void testEmptyStream() throws Exception { - try { - Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1", getConfig("NonExistingFile.xml")); - fail("Error should be thrown"); - } catch (Error e) { - assertEquals( - "Cannot load configuration from a null InputStream. Possibly caused by an incorrect config xml file name", - e.getMessage()); - } - } - - /** - * Test ability to describe problem when a user passes an empty stream - */ - public void testEmptyStream2() throws Exception { - try { - CommandGroup.FACTORY.createCommandGroup(getConfig("NonExistingFile.xml")); - fail("Error should be thrown"); - } catch (Error e) { - assertEquals( - "Cannot load configuration from a null InputStream. Possibly caused by an incorrect config xml file name", - e.getMessage()); - } - } - - - /** - * Test nice error message when Conofig does not use Aliased name - * Alis is defined for BOOK -> Book but PK config uses BOOK.BOOK_ID - * - * In this test case, the create is silently never performed!!! - * - * TODO - Uncomment out - */ - public void test_4() throws Exception { - - String statement = "SELECT * FROM BOOK WHERE BOOK.BOOK_ID = :ID"; - - // Create Table config programmatically - ConfigHelper helper = new ConfigHelper(); - helper.addTable("BOOK", "Book"); - helper.addPrimaryKey("BOOK.BOOK_ID"); - - Command select = Command.FACTORY.createCommand(statement, helper.getConfig()); - select.setConnection(getConnection()); - select.setParameterValue("ID", new Integer(1)); - - DataObject root = select.executeQuery(); - - DataObject newBook = root.createDataObject("Book"); - newBook.setString("NAME", "Ant Colonies of the Old World"); - newBook.setInt("BOOK_ID", 1001); - root.getList("Book").add(newBook); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(helper.getConfig()); - apply.setConnection(getConnection()); - apply.execute(root); - - //Verify - select.setParameterValue("ID", new Integer(1001)); - root = select.executeQuery(); - //TODO - Uncomment to test TUSCANY-250 -// assertEquals("Ant Colonies of the Old World", root.getString("Book[1]/NAME")); - - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedCommandTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedCommandTests.java deleted file mode 100644 index 3cc6b823c0..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedCommandTests.java +++ /dev/null @@ -1,93 +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.List; - -import org.apache.tuscany.das.rdb.test.commands.ReadCustomersByLastnameCommand; -import org.apache.tuscany.das.rdb.test.commands.ReadCustomersCommand; -import org.apache.tuscany.das.rdb.test.commands.ReadCustomersStaticTypesCommand; -import org.apache.tuscany.das.rdb.test.commands.ReadCustomersWithShapeCommand; -import org.apache.tuscany.das.rdb.test.commands.SimpleReadCustomersWithShapeCommand; -import org.apache.tuscany.das.rdb.test.customer.Customer; -import org.apache.tuscany.das.rdb.test.customer.DataGraphRoot; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class GeneratedCommandTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testReadCustomers() throws Exception { - ReadCustomersCommand cmd = new ReadCustomersCommand(); - cmd.setConnection(getConnection()); - - DataObject root = cmd.executeQuery(); - assertEquals(5, root.getList("CUSTOMER").size()); - } - - public void testReadSomeCustomers() throws Exception { - ReadCustomersByLastnameCommand cmd = new ReadCustomersByLastnameCommand(); - cmd.setConnection(getConnection()); - cmd.setParameterValue("LASTNAME", "Williams"); - - DataObject root = cmd.executeQuery(); - assertEquals(4, root.getList("CUSTOMER").size()); - - } - - public void testReadCustomersStaticTypes() throws Exception { - ReadCustomersStaticTypesCommand cmd = new ReadCustomersStaticTypesCommand(); - cmd.setConnection(getConnection()); - cmd.setParameterValue("LASTNAME", "Williams"); - - DataGraphRoot root = (DataGraphRoot) cmd.executeQuery(); - - List customers = root.getCustomers(); - assertEquals(4, customers.size()); - - Customer cust1 = (Customer) customers.get(0); - assertEquals("Williams", cust1.getLastName()); - - } - - public void testSimpleReadCustomersWithShape() throws Exception { - SimpleReadCustomersWithShapeCommand cmd = new SimpleReadCustomersWithShapeCommand(); - cmd.setConnection(getConnection()); - DataObject root = cmd.executeQuery(); - assertEquals(5, root.getList("CUSTOMER").size()); - } - - public void testReadCustomersOrdersWithShape() throws Exception { - ReadCustomersWithShapeCommand cmd = new ReadCustomersWithShapeCommand(); - cmd.setConnection(getConnection()); - - DataObject root = cmd.executeQuery(); - assertEquals(5, root.getList("CUSTOMER").size()); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedId.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedId.java deleted file mode 100644 index 28b9a2f1d8..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedId.java +++ /dev/null @@ -1,294 +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; - -/* - * Generated IDs - * - * - */ - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.data.CompanyData; -import org.apache.tuscany.das.rdb.test.data.DepartmentData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class GeneratedId extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CompanyData(getAutoConnection()).refresh(); - new DepartmentData(getAutoConnection()).refresh(); - - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - // Test insert into row with generated ID - public void testInsert() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into COMPANY (NAME) values (:NAME)"); - insert.setConnection(getConnection()); - insert.setParameterValue("NAME", "AAA Rental"); - insert.execute(); - - // Verify insert - // Verify - Command select = Command.FACTORY.createCommand("Select ID, NAME from COMPANY"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - assertEquals(4, root.getList("COMPANY").size()); - assertTrue(root.getInt("COMPANY[1]/ID") > 0); - - } - - // Test back to back insertions with the same command - public void testInsert2() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into COMPANY (NAME) values (:NAME)"); - insert.setConnection(getConnection()); - insert.setParameterValue("NAME", "AAA Rental"); - insert.execute(); - - // insert another using same command - insert.setParameterValue("NAME", "BBB Rental"); - insert.execute(); - - // Verify insert - // Verify - Command select = Command.FACTORY.createCommand("Select ID, NAME from COMPANY"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - assertEquals(5, root.getList("COMPANY").size()); - - } - - // Test ability to retrieve and utilize the generated key - public void testInsert3() throws Exception { - - Command insert = Command.FACTORY.createCommand("insert into COMPANY (NAME) values (:NAME)"); - insert.setConnection(getConnection()); - insert.setParameterValue("NAME", "AAA Rental"); - insert.execute(); - Integer key = (Integer) insert.getParameterValue("generated_key"); - - // Verify insert - Command select = Command.FACTORY.createCommand("Select ID, NAME from COMPANY where ID = :ID"); - select.setConnection(getConnection()); - select.setParameterValue("ID", key); - DataObject root = select.executeQuery(); - assertEquals(key, root.get("COMPANY[1]/ID")); - - } - - // Test ability to propogate generated values back to owning data objects - public void testPropagateIds() throws Exception { - - Command select = Command.FACTORY.createCommand("Select * from COMPANY"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - // Create a new Company - DataObject company = root.createDataObject("COMPANY"); - company.setString("NAME", "Do-rite Pest Control"); - - // Create apply command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("CompanyConfig.xml")); - apply.setConnection(getConnection()); - - // verify pre-condition (id is not there until after flush) - assertNull(company.get("ID")); - - // Flush changes - apply.execute(root); - - // Save the id - Integer id = (Integer) company.get("ID"); - - // Verify the change - select = Command.FACTORY.createCommand("Select * from COMPANY where ID = :ID"); - select.setConnection(getConnection()); - select.setParameterValue("ID", id); - root = select.executeQuery(); - assertEquals("Do-rite Pest Control", root.getDataObject("COMPANY[1]").getString("NAME")); - - } - - /** - * Same as above but metadata provided by XML config file - */ - public void testPropagateIdsXML() throws Exception { - - Command select = Command.FACTORY.createCommand("Select * from COMPANY", - getConfig("basicCompanyMapping.xml")); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - // Create a new Company - DataObject company = root.createDataObject("COMPANY"); - company.setString("NAME", "Do-rite Pest Control"); - - // Create apply command - ApplyChangesCommand apply = Command.FACTORY - .createApplyChangesCommand(getConfig("basicCompanyMapping.xml")); - apply.setConnection(getConnection()); - - // verify pre-condition (id is not there until after flush) - assertNull(company.get("ID")); - - // Flush changes - apply.execute(root); - - // Save the id - Integer id = (Integer) company.get("ID"); - - // Verify the change - select = Command.FACTORY.createCommand("Select * from COMPANY where ID = :ID"); - select.setConnection(getConnection()); - select.setParameterValue("ID", id); - root = select.executeQuery(); - assertEquals("Do-rite Pest Control", root.getDataObject("COMPANY[1]").getString("NAME")); - - } - - /** - * Test ability to correctly flush heirarchy of objects that have generated - * keys - */ - public void testFlushCreateHeirarchy() throws Exception { - - String selectCompanys = "SELECT * FROM COMPANY LEFT JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.COMPANYID"; - - Command select = Command.FACTORY.createCommand(selectCompanys, - getConfig("basicCompanyDepartmentMapping.xml")); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - // Create a new Company - DataObject company = root.createDataObject("COMPANY"); - company.setString("NAME", "Do-rite Pest Control"); - - // Create a new Department - // Do not set ID or CompanyID since these are generated - // ID INT, NAME VARCHAR(30), LOCATION VARCHAR(30), NUMBER VARCHAR(10), - // COMPANYID INT, EOTM INT - DataObject department = root.createDataObject("DEPARTMENT"); - department.setString("NAME", "Do-rite Pest Control"); - department.setString("LOCATION", "The boonies"); - department.setString("NUMBER", "101"); - - // Associate the new department with the new company - company.getList("departments").add(department); - - // Create apply command - ApplyChangesCommand apply = Command.FACTORY - .createApplyChangesCommand(getConfig("basicCompanyDepartmentMapping.xml")); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute(root); - - // Save the id - Integer id = (Integer) company.get("ID"); - - // Verify the change - String selectString = "SELECT * FROM COMPANY LEFT JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.COMPANYID WHERE COMPANY.ID = :ID"; - - select = Command.FACTORY.createCommand(selectString); - select.setConnection(getConnection()); - select.setParameterValue("ID", id); - root = select.executeQuery(); - assertEquals("Do-rite Pest Control", root.getDataObject("COMPANY[1]").getString("NAME")); - - } - - /** - * Test ability to correctly flush heirarchy of objects that have generated - * keys even when a created object has legal but NULL property values - */ - public void testFlushCreateHeirarchy2() throws Exception { - - String selectCompanys = "SELECT * FROM COMPANY LEFT JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.COMPANYID"; - - Command select = Command.FACTORY.createCommand(selectCompanys, - getConfig("basicCompanyDepartmentMapping.xml")); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - // Create a new Company - DataObject company = root.createDataObject("COMPANY"); - company.setString("NAME", "Do-rite Pest Control"); - - // Create a new Department - // Do not set ID or CompanyID since these are generated - // ID INT, NAME VARCHAR(30), LOCATION VARCHAR(30), NUMBER VARCHAR(10), - // COMPANYID INT, EOTM INT - DataObject department = root.createDataObject("DEPARTMENT"); - department.setString("NAME", "Do-rite Pest Control"); - // Do not set this property to force storing NULL to DB - // department.setString("LOCATION", "The boonies"); - department.setString("NUMBER", "101"); - - // Associate the new department with the new company - company.getList("departments").add(department); - - // Create apply command - ApplyChangesCommand apply = Command.FACTORY - .createApplyChangesCommand(getConfig("basicCompanyDepartmentMapping.xml")); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute(root); - - // Save the id - Integer id = (Integer) company.get("ID"); - - // Verify the change - String selectString = "SELECT * FROM COMPANY LEFT JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.COMPANYID WHERE COMPANY.ID = :ID"; - - select = Command.FACTORY.createCommand(selectString); - select.setConnection(getConnection()); - select.setParameterValue("ID", id); - root = select.executeQuery(); - assertEquals("Do-rite Pest Control", root.getDataObject("COMPANY[1]").getString("NAME")); - - } - - // Test that error is thrown when no key has been generated (as in a select) - public void testRead() throws Exception { - - Command select = Command.FACTORY.createCommand("Select * from COMPANY"); - select.setConnection(getConnection()); - select.executeQuery(); - - try { - select.getParameterValue("generated_id"); - fail("Should throw Error"); - } catch (RuntimeException e) { - // OK - } - } - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java deleted file mode 100644 index 1c8faf802f..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java +++ /dev/null @@ -1,154 +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 testMultiTableMerge2() 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", getConfig("CustomersOrdersConfig.xml")); - select.setConnection(getConnection()); - - 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("orders").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("orders").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("orders").size()); - DataObject mergedOrder = (DataObject) mergedCustomer.getList("orders").get(0); - assertEquals(4, mergedOrder.getInt("ID")); - - } - - public void testMultiTableAppendSingleTable2() 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", getConfig("CustomersOrdersConfig.xml")); - select.setConnection(getConnection()); - - 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("orders").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()); - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/NameMappingTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/NameMappingTests.java deleted file mode 100644 index 7b127e5768..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/NameMappingTests.java +++ /dev/null @@ -1,64 +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 org.apache.tuscany.das.rdb.Command; -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 NameMappingTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Test ability to assign DataObject type and propertyaliases with xml file - */ - public void testRead() throws Exception { - - // Read a customer - Command select = Command.FACTORY.createCommand( - "SELECT * FROM CUSTOMER WHERE CUSTOMER.ID = 1", getConfig("customerMapping.xml")); - select.setConnection(getConnection()); - - DataObject root = select.executeQuery(); - DataObject customer = root.getDataObject("Customer[1]"); - assertEquals(1, customer.getInt("id")); - assertEquals("1212 foobar lane", customer.getString("address")); - assertEquals("Williams", customer.getString("lastname")); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java deleted file mode 100644 index 450e78ded2..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java +++ /dev/null @@ -1,64 +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 org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.data.BookData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - - -import commonj.sdo.DataObject; - -public class OCCTests extends DasTest { - protected void setUp() throws Exception { - super.setUp(); - - new BookData(getAutoConnection()).refresh(); - } - - - public void testSimpleOCC() throws Exception { - - //Read a book instance - Command select = Command.FACTORY.createCommand("SELECT * FROM BOOK WHERE BOOK_ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - DataObject book = root.getDataObject("BOOK[1]"); - //Change a field to mark the instance 'dirty' - book.setInt("QUANTITY", 2); - - // Explicitly change OCC column in database to force collision - Command update = Command.FACTORY - .createCommand("update BOOK set OCC = :OCC where BOOK_ID = 1"); - update.setConnection(getConnection()); - update.setParameterValue("OCC", new Integer(100)); - update.execute(); - - //Try to flush the change - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("BooksConfig.xml")); - apply.setConnection(getConnection()); - - try { - apply.execute(root); - fail("An OCCException should be thrown"); - } catch (RuntimeException ex) { - if ( !ex.getMessage().equals("OCC Exception") ) - throw ex; - } - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OneToOneRelationshipTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OneToOneRelationshipTests.java deleted file mode 100644 index 050671e077..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OneToOneRelationshipTests.java +++ /dev/null @@ -1,155 +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 org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.CommandGroup; -import org.apache.tuscany.das.rdb.test.data.CompanyData; -import org.apache.tuscany.das.rdb.test.data.CompanyEmpData; -import org.apache.tuscany.das.rdb.test.data.EmployeeData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class OneToOneRelationshipTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CompanyData(getAutoConnection()).refresh(); - new EmployeeData(getAutoConnection()).refresh(); - new CompanyEmpData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - - /** - * Read Company and traverse to EOTM - */ - public void test1() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY - .createCommandGroup(getConfig("CompanyEmployeeConfig.xml")); - - Command read = commandGroup.getCommand("get companies with employee of the month"); - DataObject root = read.executeQuery(); - DataObject employee = root.getDataObject("COMPANY[1]/company->employee_opposite"); - - assertEquals("Mary Smith", employee.getString("NAME")); - } - - - /** - * Read Employee and traverse to Company - */ - public void test2() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY - .createCommandGroup(getConfig("CompanyEmployeeConfig.xml")); - - Command read = commandGroup.getCommand("get named employee with company"); - read.setParameterValue("NAME", "Mary Smith"); - DataObject root = read.executeQuery(); - DataObject company = root.getDataObject("EMPLOYEE[1]/company->employee"); - - assertEquals("ACME Publishing", company.getString("NAME")); - } - - - /** - * Un-assign employee O' month - */ - public void test3() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY - .createCommandGroup(getConfig("CompanyEmployeeConfig.xml")); - - Command read = commandGroup.getCommand("get companies with employee of the month"); - DataObject root = read.executeQuery(); - DataObject company = root.getDataObject("COMPANY[1]"); - company.setDataObject("company->employee_opposite", null); - assertNull(company.getDataObject("company->employee_opposite")); - - //Flush changes - commandGroup.getApplyChangesCommand().execute(root); - - //Verify - root = read.executeQuery(); - company = root.getDataObject("COMPANY[1]"); - assertNull(company.getDataObject("company->employee_opposite")); - } - - /** - * Delete employee O' month - */ - public void test4() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY - .createCommandGroup(getConfig("CompanyEmployeeConfig.xml")); - - Command read = commandGroup.getCommand("get companies with employee of the month"); - DataObject root = read.executeQuery(); - DataObject company = root.getDataObject("COMPANY[1]"); - DataObject employee = company.getDataObject("company->employee_opposite"); - employee.delete(); - assertNull(company.getDataObject("company->employee_opposite")); - - //Flush changes - commandGroup.getApplyChangesCommand().execute(root); - - //Verify - root = read.executeQuery(); - company = root.getDataObject("COMPANY[1]"); - assertNull(company.getDataObject("company->employee_opposite")); - } - - /** - * Add new employee O' month - */ - public void test5() throws Exception { - - CommandGroup commandGroup = CommandGroup.FACTORY - .createCommandGroup(getConfig("CompanyEmployeeConfig.xml")); - - Command read = commandGroup.getCommand("get companies with employee of the month"); - DataObject root = read.executeQuery(); - DataObject company = root.getDataObject("COMPANY[1]"); - - //Create a new employee - DataObject employee = root.createDataObject("EMPLOYEE"); - employee.setString ("NAME", "Joe Hotshot"); - - //Assigne a EOTM - //Strangely this statement results in "Could not find relationships" error - //although "company.setDataObject("company->employee_opposite", null);" dos not - company.setDataObject("company->employee_opposite", employee); - - //Flush changes - commandGroup.getApplyChangesCommand().execute(root); - - //Verify - root = read.executeQuery(); - company = root.getDataObject("COMPANY[1]"); - - employee = root.getDataObject("COMPANY[1]/company->employee_opposite"); - - assertEquals("Joe Hotshot", employee.getString("NAME")); - - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OperationOrderingTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OperationOrderingTests.java deleted file mode 100644 index 1207c769e5..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OperationOrderingTests.java +++ /dev/null @@ -1,85 +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 org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.data.CityData; -import org.apache.tuscany.das.rdb.test.data.StateData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class OperationOrderingTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - CityData city = new CityData(getAutoConnection()); - StateData state = new StateData(getAutoConnection()); - - city.doDeletes(); - state.doDeletes(); - state.doInserts(); - city.doInserts(); - - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public OperationOrderingTests() { - super(); - } - - public void testInsert() throws Exception { - Command select = Command.FACTORY - .createCommand( - "Select * from STATES inner join CITIES on STATES.ID = CITIES.STATE_ID", - getConfig("cityStates.xml")); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - int numberOfStates = root.getList("STATES").size(); - int numberOfCities = root.getList("CITIES").size(); - - DataObject atlanta = root.createDataObject("CITIES"); - atlanta.setString("NAME", "Atlanta"); - atlanta.setInt("ID", 6); - - // Create a new Company - DataObject georgia = root.createDataObject("STATES"); - georgia.setInt("ID", 4); - georgia.setString("NAME", "GA"); - - georgia.getList("cities").add(atlanta); - - // Create apply command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("cityStates.xml")); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute(root); - - select.setConnection(getConnection()); - root = select.executeQuery(); - assertEquals(numberOfCities + 1, root.getList("CITIES").size()); - assertEquals(numberOfStates + 1, root.getList("STATES").size()); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/Paging.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/Paging.java deleted file mode 100644 index 250e7673d7..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/Paging.java +++ /dev/null @@ -1,108 +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.sql.SQLException; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.Pager; -import org.apache.tuscany.das.rdb.impl.PagerImpl; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - - -import commonj.sdo.DataObject; - - - -public class Paging extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - } - - public void testPaging() throws SQLException { - - //Build command to read all customers - Command custCommand = Command.FACTORY.createCommand("select * from CUSTOMER order by ID"); - custCommand.setConnection(getConnection()); - - //Create a pager with the command - Pager pager = new PagerImpl(custCommand, 2); - - //Get and work with first page - DataObject root = pager.next(); - DataObject customer1 = root.getDataObject("CUSTOMER[1]"); - DataObject customer2 = root.getDataObject("CUSTOMER[2]"); - assertEquals(1, customer1.getInt("ID")); - assertEquals(2, customer2.getInt("ID")); - - //Get and work with the second page - root = pager.next(); - customer1 = root.getDataObject("CUSTOMER[1]"); - customer2 = root.getDataObject("CUSTOMER[2]"); - assertEquals(3, customer1.getInt("ID")); - assertEquals(4, customer2.getInt("ID")); - - // First page again - root = pager.previous(); - customer1 = root.getDataObject("CUSTOMER[1]"); - customer2 = root.getDataObject("CUSTOMER[2]"); - assertEquals(1, customer1.getInt("ID")); - assertEquals(2, customer2.getInt("ID")); - - } - - - public void testRandomPage() throws SQLException { - //Build the select command - Command select = Command.FACTORY - .createCommand("select * from CUSTOMER order by ID"); - - //Parameterize the command - select.setConnection(getConnection()); - - //Create a pager - Pager pager = new PagerImpl(select, 2); - - //Get the first page - DataObject root = pager.getPage(1); - DataObject customer1 = root.getDataObject("CUSTOMER[1]"); - DataObject customer2 = root.getDataObject("CUSTOMER[2]"); - assertEquals(1, customer1.getInt("ID")); - assertEquals(2, customer2.getInt("ID")); - - //Get the second page - root = pager.getPage(2); - customer1 = root.getDataObject("CUSTOMER[1]"); - customer2 = root.getDataObject("CUSTOMER[2]"); - assertEquals(3, customer1.getInt("ID")); - assertEquals(4, customer2.getInt("ID")); - - - // Get the first page again - root = pager.getPage(1); - customer1 = root.getDataObject("CUSTOMER[1]"); - customer2 = root.getDataObject("CUSTOMER[2]"); - assertEquals(1, customer1.getInt("ID")); - assertEquals(2, customer2.getInt("ID")); - } - - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java deleted file mode 100644 index b24dad33d9..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java +++ /dev/null @@ -1,103 +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.sql.SQLException; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class PartialUpdateTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public PartialUpdateTests() { - super(); - } - - public void testPartialUpdate() throws SQLException { - Command readCustomers = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1"); - readCustomers.setConnection(getConnection()); - - // Read - DataObject root = readCustomers.executeQuery(); - - DataObject customer = root.getDataObject("CUSTOMER[1]"); - // Verify - assertEquals(1, customer.getInt("ID")); - - Command update = Command.FACTORY.createCommand("update CUSTOMER set LASTNAME = 'modified' where ID = 1"); - update.setConnection(getConnection()); - update.execute(); - - customer.setString("ADDRESS", "main street"); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - apply.execute(root); - - root = readCustomers.executeQuery(); - - // If partial update was not used, LASTNAME would not be 'modified' - customer = root.getDataObject("CUSTOMER[1]"); - assertEquals(1, customer.getInt("ID")); - assertEquals("modified", customer.getString("LASTNAME")); - assertEquals("main street", customer.getString("ADDRESS")); - } - - public void testPartialInsert() throws SQLException { - Command readCustomers = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1"); - readCustomers.setConnection(getConnection()); - - // Read - DataObject root = readCustomers.executeQuery(); - - // Create a new customer - DataObject newCust = root.createDataObject("CUSTOMER"); - newCust.set("ID", new Integer(100)); - newCust.set("ADDRESS", "5528 Wells Fargo Drive"); - // Purposely do not set lastname to let it default to 'Garfugengheist' - // newCust.set("LASTNAME", "Gerkin" ); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - apply.execute(root); - - Command readNewCust = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 100"); - readNewCust.setConnection(getConnection()); - root = readNewCust.executeQuery(); - - // If partial insert was not used, LASTNAME would not be - // 'Garfugengheist' - newCust = root.getDataObject("CUSTOMER[1]"); - assertEquals(100, newCust.getInt("ID")); - assertEquals("Garfugengheist", newCust.getString("LASTNAME")); - assertEquals("5528 Wells Fargo Drive", newCust.getString("ADDRESS")); - - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java deleted file mode 100644 index b38b117787..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java +++ /dev/null @@ -1,85 +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; - -/* - * Test capability to participate in an extenrlly managed transaction. The - * client is managing the transaction boundary so the DAS will not issue - * commit/rollback - * - */ - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - -public class PassiveConnectionTests 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. Uses a "passive" connection - */ - public void testReadModifyApply() throws Exception { - - // Create and initialize a DAS connection and initialize for externally - // managed transaction boundaries - java.sql.Connection c = getConnection(); - - try { - - // Read customer 1 - Command select = Command.FACTORY.createCommand("Select * from CUSTOMER where ID = 1"); - select.setConnection(c); - 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(c, false); - - // Flush changes - apply.execute(root); - - // Verify changes - root = select.executeQuery(); - assertEquals("Pavick", root.getString("CUSTOMER[1]/LASTNAME")); - - // Since the DAS is not managing tx boundaries, I must - } catch (Exception e) { - c.rollback(); - } finally { - c.commit(); - } - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java deleted file mode 100644 index d12e1f297b..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java +++ /dev/null @@ -1,157 +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 org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.ConfigHelper; -import org.apache.tuscany.das.rdb.test.data.BookData; -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; - -/** - * Tests the Converter framwork - */ -public class ProgrammaticConfigTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new BookData(getAutoConnection()).refresh(); - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Simple read followed by a write. This should fail since there is no - * config associaed with the applychanges command - */ - public void test_1() throws Exception { - - // Read a book instance - Command select = Command.FACTORY.createCommand("SELECT * FROM BOOK WHERE BOOK_ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - DataObject book = root.getDataObject("BOOK[1]"); - // Change a field to mark the instance 'dirty' - book.setInt("QUANTITY", 2); - - // Flush the change - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - - try { - apply.execute(root); - fail("An exception should be thrown since here is no config to identify the primary key"); - } catch (RuntimeException ex) { - // Expected - } - } - - /** - * Simple read followed by a write. Config instance is generated - * programmatically using the ConfigHelper. - */ - public void test_2() throws Exception { - - // Read a book instance - Command select = Command.FACTORY.createCommand("SELECT * FROM BOOK WHERE BOOK_ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - DataObject book = root.getDataObject("BOOK[1]"); - // Change a field to mark the instance 'dirty' - book.setInt("QUANTITY", 2); - - // Flush the change - // Create config programmatically - ConfigHelper helper = new ConfigHelper(); - helper.addPrimaryKey("BOOK.BOOK_ID"); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(helper.getConfig()); - apply.setConnection(getConnection()); - - apply.execute(root); - - // Verify - root = select.executeQuery(); - book = root.getDataObject("BOOK[1]"); - assertEquals(2, book.getInt("QUANTITY")); - } - - - /** - * Test ability to read a compound graph - */ - public void test_3() throws Exception { - - String statement = "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID WHERE CUSTOMER.ID = 1"; - - // Read some customers and related orders - // Create relationship config programmatically - ConfigHelper helper = new ConfigHelper(); - helper.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID"); - - Command select = Command.FACTORY.createCommand(statement, helper.getConfig()); - select.setConnection(getConnection()); - - DataObject root = select.executeQuery(); - DataObject customer = root.getDataObject("CUSTOMER[1]"); - - assertEquals(2, customer.getList("ANORDER").size()); - - } - - /** - * Programatically create table config with "property" name - */ - public void test_4() throws Exception { - - String statement = "SELECT * FROM BOOK WHERE BOOK.BOOK_ID = :ID"; - - // Create Table config programmatically - ConfigHelper helper = new ConfigHelper(); - helper.addTable("BOOK", "Book"); - helper.addPrimaryKey("Book.BOOK_ID"); - - Command select = Command.FACTORY.createCommand(statement, helper.getConfig()); - select.setConnection(getConnection()); - select.setParameterValue("ID", new Integer(1)); - - DataObject root = select.executeQuery(); - - DataObject newBook = root.createDataObject("Book"); - newBook.setString("NAME", "Ant Colonies of the Old World"); - newBook.setInt("BOOK_ID", 1001); - root.getList("Book").add(newBook); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(helper.getConfig()); - apply.setConnection(getConnection()); - apply.execute(root); - - //Verify - select.setParameterValue("ID", new Integer(1001)); - root = select.executeQuery(); - assertEquals("Ant Colonies of the Old World", root.getString("Book[1]/NAME")); - - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ReadDBSchemaTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ReadDBSchemaTests.java deleted file mode 100644 index 7a74372551..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ReadDBSchemaTests.java +++ /dev/null @@ -1,62 +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; - -/* - * Test the ability to query Database schema(metadata) information using regular DAS APIs - * This is speciic to DB2 - * - */ - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - - -public class ReadDBSchemaTests extends DasTest { - - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - - - public void testReadTableInfo() throws Exception { - - Command select = Command.FACTORY.createCommand("SELECT * from SYSIBM.SYSTABLES WHERE TYPE = 'T'"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject table = (DataObject)root.get("SYSTABLES[1]"); - - assertEquals('T', table.getChar("TYPE")); - - } - - - - //Utilities - - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java deleted file mode 100644 index f67001b8b5..0000000000 --- a/branches/java-M1/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")); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java deleted file mode 100644 index aadcef13f3..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java +++ /dev/null @@ -1,121 +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 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.data.OrderData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - - -public class RelationshipTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Test ability to read a compound graph - */ - public void testRead() throws Exception { - - String statement = "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID WHERE CUSTOMER.ID = 1"; - - // Read some customers and related orders - Command select = Command.FACTORY.createCommand(statement, getConfig("customerOrderRelationshipMapping.xml")); - select.setConnection(getConnection()); - - DataObject root = select.executeQuery(); - DataObject customer = root.getDataObject("CUSTOMER[1]"); - - assertEquals(2, customer.getList("orders").size()); - - } - - /** - * Same as above except uses xml file for relationhip and key information. - * Employs CUD generation. - */ - public void testRelationshipModification2() 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", getConfig("basicCustomerOrderMapping.xml")); - select.setConnection(getConnection()); - - DataObject root = select.executeQuery(); - - DataObject cust1 = root.getDataObject("CUSTOMER[1]"); - DataObject cust2 = root.getDataObject("CUSTOMER[2]"); - - // Save IDs - Integer cust1ID = (Integer) cust1.get("ID"); - Integer cust2ID = (Integer) cust2.get("ID"); - // save order count - Integer cust1OrderCount = new Integer(cust1.getList("orders").size()); - Integer cust2OrderCount = new Integer(cust2.getList("orders").size()); - - // Move an order to cust1 from cust2 - DataObject order = (DataObject) cust2.getList("orders").get(0); - cust1.getList("orders").add(order); - - // Build apply changes command - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("basicCustomerOrderMapping.xml")); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute(root); - - // verify cust1 relationship updates - select = Command.FACTORY - .createCommand( - "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID", - getConfig("basicCustomerOrderMapping.xml")); - select.setConnection(getConnection()); - select.setParameterValue("ID", cust1ID); - - root = select.executeQuery(); - assertEquals(cust1OrderCount.intValue() + 1, root.getList( - "CUSTOMER[1]/orders").size()); - - // verify cust2 relationship updates - select.setParameterValue("ID", cust2ID); - root = select.executeQuery(); - assertEquals(cust2OrderCount.intValue() - 1, root.getList( - "CUSTOMER[1]/orders").size()); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java deleted file mode 100644 index e8bcfa9720..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java +++ /dev/null @@ -1,105 +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 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.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; - -/** - * Test ability to specify format(shape) of the ResultSet. This is necessary - * when the JDBC driver in use does not provide adequate support for - * ResultSetMetadata. Also, we expect that specifying the result set shape will - * increase performance. - * - */ -public class ResultSetShapeTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Read a specific customer - */ - public void testReadSingle() throws Exception { - - // Using literals in the select forces invalid resultset metadata - String sqlString = "Select 99, 'Roosevelt', '1600 Pennsylvania Avenue' from customer"; - String[] columns = { "ID", "LASTNAME", "ADDRESS" }; - String[] tables = { "CUSTOMER", "CUSTOMER", "CUSTOMER" }; - Type[] types = { SDODataTypes.LONG, SDODataTypes.STRING, SDODataTypes.STRING }; - - ResultSetShape shape = new ResultSetShape(tables, columns, types); - - // Create and initialize command to read customers - Command readCustomers = Command.FACTORY.createCommand(sqlString, - getConfig("CustomerConfigWithIDConverter.xml")); - // Specify result shape - readCustomers.setResultSetShape(shape); - - readCustomers.setConnection(getConnection()); - - // Read - DataObject root = readCustomers.executeQuery(); - - // Verify - assertEquals(5, root.getList("CUSTOMER").size()); - assertEquals(99, root.getInt("CUSTOMER[1]/ID")); - assertEquals("Roosevelt", root.getString("CUSTOMER[1]/LASTNAME")); - assertEquals("1600 Pennsylvania Avenue", root.getString("CUSTOMER[1]/ADDRESS")); - - } - - /** - * Read a specific customer This duplicates the previous tests but does not - * provide the shape info. Since the select will not return valid metadata, - * this test is expected to fail - */ - public void testReadSingleVerifyShapeUse() throws Exception { - - // Using literals in the select forces invalid resultset metadata - String sqlString = "Select 99, 'Roosevelt', '1600 Pennsylvania Avenue' from customer"; - - // Create and initialize command to read customers - Command readCustomers = Command.FACTORY.createCommand(sqlString); - readCustomers.setConnection(getConnection()); - - // Read - DataObject root = readCustomers.executeQuery(); - - // Verify - try { - assertEquals(5, root.getList("CUSTOMER").size()); - fail("Should fail since there will be no feature named CUSTOMER"); - } catch (IllegalArgumentException e) { - // OK - } - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java deleted file mode 100644 index 0089e6b569..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java +++ /dev/null @@ -1,90 +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 class provides tests for all supported "types". The current plan is to - * use the Data type definitions provided in the SDO 2 specification. We must - * test the ability to use all of these types as well as different mapping from - * thse types to types used in the database. For example, a SDO Data Type - * "STRING", might be staored as a "TIMESTAMP" in DB2. - * - */ - -import org.apache.tuscany.das.rdb.test.data.TypesData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -public class SerializationTests extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new TypesData(getAutoConnection()).refresh(); - } - - /** - * Read various types. - */ - - -public void testReadandSerialize() throws Exception { - /** Currently failing because of TUSCANY-22 - Command select = Command.FACTORY - .createCommand("Select * from TYPETEST where ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject obj = root.getDataObject("TYPETEST[1]"); - - assertTrue(obj.isSet("ID")); - assertTrue(obj.isSet("ATIMESTAMP")); - assertTrue(obj.isSet("ADECIMAL")); - assertTrue(obj.isSet("AFLOAT")); - - //Java serilaization to file - FileOutputStream fos = null; - ObjectOutputStream out = null; - try { - fos = new FileOutputStream("serializedGraph.xml"); - out = new ObjectOutputStream(fos); - out.writeObject(root); - out.flush(); - } finally { - out.close(); - fos.close(); - } - - //Reconstruct the graph - FileInputStream fis = null; - ObjectInputStream in = null; - DataObject root2; - try { - fis = new FileInputStream("serializedGraph.xml"); - in = new ObjectInputStream(fis); - root2 = (DataObject) in.readObject(); - } finally { - in.close(); - fis.close(); - } - - assertEquals(1, root.getInt("TYPETEST[1]/ID")); - assertEquals(TypesData.getTimestamp(), (java.sql.Timestamp)root.get("TYPETEST[1]/ATIMESTAMP")); - assertEquals(1234567.89f, root2.getFloat("TYPETEST[1]/ADECIMAL"), .001); - assertEquals(1234567.89f, root2.getFloat("TYPETEST[1]/AFLOAT"), .001); - - */ - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SimplestCrud.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SimplestCrud.java deleted file mode 100644 index 11ef87c8bc..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SimplestCrud.java +++ /dev/null @@ -1,256 +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; - -/* - * These are the simplest possible uses of the JDBC DAS. In this mode, the - * programming model is not much more than JDBC - * - * The assumptions for these tests are: - * - * Single type - * Client explicitly Read/Create/Update/Delete commands - * No O/R mapping metadata - * SDO change history is not used - * Dynamic DataObjects - * No specified graph model - * - * - */ - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - -import commonj.sdo.DataObject; - - -public class SimplestCrud extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Read a specific customer - */ - public void testReadSingle() throws Exception { - - //Create and initialize command to read customers - Command readCustomers = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1"); - readCustomers.setConnection(getConnection()); - - //Read - DataObject root = readCustomers.executeQuery(); - - //Verify - assertEquals(1, root.getInt("CUSTOMER[1]/ID")); - } - - /** - * Read a specific customer - */ - public void testReadSingle2() throws Exception { - - //Create and initialize command to read customers - Command readCustomers = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1"); - readCustomers.setConnection(getConnection()); - - //Read - DataObject root = readCustomers.executeQuery(); - - DataObject cust = root.getDataObject("CUSTOMER[1]"); - -// int n = (cust.getType().getProperties()).size(); -// for (int i=0; i 0); - - } - - public void testGetNamedCompany() throws Exception { - - Command read = Command.FACTORY.createCommand("{call GETNAMEDCOMPANY(?)}"); - - read.setConnection(getConnection()); - read.setParameterValue(1, "MegaCorp"); - DataObject root = read.executeQuery(); - - assertEquals("MegaCorp", root.getString("COMPANY[1]/NAME")); - - } - - public void testGetNamedCompanyByName() throws Exception { - Command read = Command.FACTORY - .createCommand("{call GETNAMEDCOMPANY(:NAME)}"); - - read.setConnection(getConnection()); - read.setParameterValue("NAME", "MegaCorp"); - DataObject root = read.executeQuery(); - - assertEquals("MegaCorp", root.getString("COMPANY[1]/NAME")); - } - - - // Retreive heirarchy using a stored proc ... new programming model - public void testGetCustomersAndOrder() throws Exception { - - Command read = Command.FACTORY.createCommand("{call getCustomerAndOrders(?)}", getConfig("CustomersOrdersConfig.xml")); - read.setConnection(getConnection()); - read.setParameterValue(1, new Integer(1)); - - DataObject root = read.executeQuery(); - - DataObject customer = (DataObject) root.getList("CUSTOMER").get(0); - assertEquals(2, customer.getList("orders").size()); - - } - - /** - * Call a stored proc requiring an in parameter and producing an out - * parameter and a resultset - * - * This stored proc takes a lastname argument and returns a graph of - * customers with that last name. The number of read customers is returned - * in the out parameter - */ - public void testGetNamedCustomers() throws Exception { - - Command read = Command.FACTORY.createCommand("{call GETNAMEDCUSTOMERS(?,?)}"); - read.setConnection(getConnection()); - read.setParameterValue(1, "Williams"); - read.addParameter(2, Parameter.OUT, SDODataTypes.INTEGER); - DataObject root = read.executeQuery(); - - Integer customersRead = (Integer) read.getParameterValue(2); - - assertEquals(4, customersRead.intValue()); - assertEquals(customersRead.intValue(), root.getList("CUSTOMER").size()); - - } - - //TODO - Resolve issue with programmatic creation of GETNAMEDCUSTOMERS on DB2 and - //re-enable this test - - - // Simplest possible SP write - public void testDelete() throws Exception { - - Command delete = Command.FACTORY.createCommand("{call DELETECUSTOMER(?)}"); - delete.setConnection(getConnection()); - delete.setParameterValue(1, new Integer(1)); - delete.execute(); - - // Verify DELETE - Command select = Command.FACTORY.createCommand("Select * from CUSTOMER where ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - assertTrue(root.getList("CUSTOMER").isEmpty()); - - } - -/* // For debug - public void testRawCall() throws Exception { - - Connection c = getConnection(); - CallableStatement cs = c.prepareCall("{call GETNAMEDCUSTOMERS(?,?)}"); - ParameterMetaData pm = cs.getParameterMetaData(); - int count = pm.getParameterCount(); - for (int i = 1; i <= count; i++) { - int mode = pm.getParameterMode(i); - if (mode == ParameterMetaData.parameterModeOut - || mode == ParameterMetaData.parameterModeInOut) - cs.registerOutParameter(i, pm.getParameterType(i)); - } - cs.setString(1, "Williams"); - // cs.registerOutParameter(2,java.sql.Types.INTEGER); - boolean isResultSet = cs.execute(); - System.out.println("Has a result set => " + isResultSet); - ResultSet rs = cs.getResultSet(); - - if (isResultSet) { - System.out.println("Results are: "); - while (rs.next()) { - System.out.println(rs.getObject(2)); - } - } - System.out.println("Count is =>" + cs.getObject(2)); - c.commit(); - } - - // For debug - public void testRawCall2() throws Exception { - - Connection c = getConnection(); - CallableStatement cs = c.prepareCall("{call getCustomerAndOrders(?)}"); - cs.setObject(1, new Integer(1)); - boolean isResultSet = cs.execute(); - System.out.println("call getCustomerAndOrders(?) has a result set => " - + isResultSet); - ResultSet rs = cs.getResultSet(); - - write(rs); - c.commit(); - } - - public void testGetAllOrders() throws Exception { - - System.out.println("all orders"); - Connection c = getConnection(); - PreparedStatement s = c.prepareStatement("select * from anorder"); - write (s.executeQuery()); - c.commit(); - - }*/ - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TopDown.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TopDown.java deleted file mode 100644 index 7829e69e07..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TopDown.java +++ /dev/null @@ -1,85 +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.io.IOException; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.customer.AnOrder; -import org.apache.tuscany.das.rdb.test.customer.Customer; -import org.apache.tuscany.das.rdb.test.customer.CustomerFactory; -import org.apache.tuscany.das.rdb.test.customer.DataGraphRoot; -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 org.apache.tuscany.sdo.util.SDOUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.TypeHelper; - -public class TopDown extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - - new CustomerData(getAutoConnection()).refresh(); - new OrderData(getAutoConnection()).refresh(); - - } - - // Uses dynamic SDOs but user provides the model - public void testUserProvidedModelDynamic() throws SQLException, IOException { - - // Build the select command - Command select = Command.FACTORY - .createCommand( - "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID", - getConfig("1xM_mapping_no_cud.xml")); - - SDOUtil.registerStaticTypes(CustomerFactory.class); - -// Set the object model - select.setDataObjectModel(TypeHelper.INSTANCE.getType(DataGraphRoot.class)); - - - // Parameterize the command - select.setConnection(getConnection()); - select.setParameterValue("ID", new Integer(1)); - - // Get the graph - DataGraphRoot is from the typed package - DataGraphRoot root = (DataGraphRoot) select.executeQuery(); - - // Modify a customer - Customer customer = (Customer) root.getCustomers().get(0); - customer.setLastName("Pavick"); - - // Modify an order - AnOrder order = (AnOrder) customer.getOrders().get(0); - order.setProduct("Kitchen Sink 001"); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(getConfig("1xM_mapping_no_cud.xml")); - apply.setConnection(getConnection()); - - // Flush changes - apply.execute((DataObject) root); - - } - - -} \ No newline at end of file diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java deleted file mode 100644 index e49c5f7630..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java +++ /dev/null @@ -1,96 +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 class provides tests for all supported "types". The current plan is to use the Data - * type definitions provided in the SDO 2 specification. We must test the ability to use - * all of these types as well as different mapping from thse types to types used in the - * database. For example, a SDO Data Type "STRING", might be staored as a "TIMESTAMP" in DB2. - * - */ - -import java.sql.Timestamp; -import java.util.Date; - -import org.apache.tuscany.das.rdb.ApplyChangesCommand; -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.data.TypesData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; - - -import commonj.sdo.DataObject; - - -public class TypeTests extends DasTest { - - - protected void setUp() throws Exception { - super.setUp(); - new TypesData(getAutoConnection()).refresh(); - } - - /** - * Read various types. - */ - public void testRead() throws Exception { - - //Read customer 1 - Command select = Command.FACTORY.createCommand("Select * from TYPETEST where ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject types = (DataObject)root.get("TYPETEST[1]"); - - java.sql.Timestamp ts = (java.sql.Timestamp)types.get("ATIMESTAMP"); - assertEquals(ts, TypesData.getTimestamp()); - - float decimal = types.getFloat("ADECIMAL"); - assertEquals(1234567.89f, decimal, .0001); - - } - - - /** - * Write various types. - * TODO - Need to rethink the Timestamp write. My current thinking id that writes of non-SDO2 defined types - * require a converter - */ -/* public void testWrite() throws Exception { - - //Read customer 1 - Command select = Command.FACTORY.createCommand("Select * from TYPETEST where ID = 1"); - select.setConnection(getConnection()); - DataObject root = select.executeQuery(); - - DataObject types = (DataObject)root.get("TYPETEST[1]"); - Date now = new Date(); - types.set("ATIMESTAMP", now); - - ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand(); - apply.setConnection(getConnection()); - apply.addPrimaryKey("TYPETEST.ID"); - apply.execute(root); - - //Verify - root = select.executeQuery(); - java.sql.Timestamp ts = (java.sql.Timestamp)types.get("ATIMESTAMP"); - assertEquals(now, ts); - - }*/ - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersByLastnameCommand.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersByLastnameCommand.java deleted file mode 100644 index 09a6147118..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersByLastnameCommand.java +++ /dev/null @@ -1,54 +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.commands; - -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.impl.ConfigFactoryImpl; -import org.apache.tuscany.das.rdb.impl.ReadCommandImpl; - - -public class ReadCustomersByLastnameCommand extends ReadCommandImpl { - - private static final String sqlString = "select * from CUSTOMER where LASTNAME = :LASTNAME"; - private static final Config mapping; - - static { - ConfigFactory factory = ConfigFactoryImpl.eINSTANCE; - mapping = factory.createConfig(); - Table t = factory.createTable(); - Column id = factory.createColumn(); - id.setName("ID"); - id.setPrimaryKey(true); - Column lastname = factory.createColumn(); - lastname.setName("LASTNAME"); - Column address = factory.createColumn(); - address.setName("ADDRESS"); - - t.getColumn().add(id); - t.getColumn().add(lastname); - t.getColumn().add(address); - t.setName("CUSTOMER"); - mapping.getTable().add(t); - } - - public ReadCustomersByLastnameCommand() { - super(sqlString, mapping); - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersCommand.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersCommand.java deleted file mode 100644 index 615ef12dab..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersCommand.java +++ /dev/null @@ -1,55 +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.commands; - -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.impl.ConfigFactoryImpl; -import org.apache.tuscany.das.rdb.impl.ReadCommandImpl; - - -public class ReadCustomersCommand extends ReadCommandImpl { - - private static final String sqlString = "select * from CUSTOMER"; - private static final Config mapping; - - static { - ConfigFactory factory = ConfigFactoryImpl.eINSTANCE; - mapping = factory.createConfig(); - Table t = factory.createTable(); - Column id = factory.createColumn(); - id.setName("ID"); - id.setPrimaryKey(true); - Column lastname = factory.createColumn(); - lastname.setName("LASTNAME"); - Column address = factory.createColumn(); - address.setName("ADDRESS"); - - t.getColumn().add(id); - t.getColumn().add(lastname); - t.getColumn().add(address); - t.setName("CUSTOMER"); - mapping.getTable().add(t); - } - - public ReadCustomersCommand() { - super(sqlString, mapping); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersStaticTypesCommand.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersStaticTypesCommand.java deleted file mode 100644 index c8dcdebb68..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersStaticTypesCommand.java +++ /dev/null @@ -1,62 +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.commands; - -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.impl.ConfigFactoryImpl; -import org.apache.tuscany.das.rdb.impl.ReadCommandImpl; -import org.apache.tuscany.das.rdb.test.customer.DataGraphRoot; - -import commonj.sdo.helper.TypeHelper; - - -public class ReadCustomersStaticTypesCommand extends ReadCommandImpl { - - private static final String sqlString = "Select ID, LASTNAME, ADDRESS from CUSTOMER where LASTNAME = :LASTNAME"; - private static final Config mapping; - - static { - ConfigFactory factory = ConfigFactoryImpl.eINSTANCE; - mapping = factory.createConfig(); - Table t = factory.createTable(); - Column id = factory.createColumn(); - id.setName("ID"); - id.setPrimaryKey(true); - Column lastname = factory.createColumn(); - lastname.setName("LASTNAME"); - Column address = factory.createColumn(); - address.setName("ADDRESS"); - - t.getColumn().add(id); - t.getColumn().add(lastname); - t.getColumn().add(address); - t.setName("CUSTOMER"); - t.setPropertyName("Customer"); - mapping.getTable().add(t); - } - - public ReadCustomersStaticTypesCommand() { - super(sqlString, mapping); - setDataObjectModel(TypeHelper.INSTANCE.getType(DataGraphRoot.class)); - } - - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersWithShapeCommand.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersWithShapeCommand.java deleted file mode 100644 index 82d8cefbc2..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersWithShapeCommand.java +++ /dev/null @@ -1,40 +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.commands; - -import org.apache.tuscany.das.rdb.ResultSetShape; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.impl.ReadCommandImpl; - -import commonj.sdo.Type; - -public class ReadCustomersWithShapeCommand extends ReadCommandImpl { - - // This sql string ensures that we won't have resultset metadata - private static final String sqlString = "Select * from customer union select * from customer"; - - private static final String[] columns = {"ID", "LASTNAME", "ADDRESS"}; - private static final String[] tables = {"CUSTOMER", "CUSTOMER", "CUSTOMER"}; - private static final Type[] types = {SDODataTypes.INT, SDODataTypes.STRING, SDODataTypes.STRING}; - - public ReadCustomersWithShapeCommand() { - super(sqlString); - ResultSetShape shape = new ResultSetShape(tables, columns, types); - setResultSetShape(shape); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/SimpleReadCustomersWithShapeCommand.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/SimpleReadCustomersWithShapeCommand.java deleted file mode 100644 index 1f45ba317f..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/SimpleReadCustomersWithShapeCommand.java +++ /dev/null @@ -1,66 +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.commands; - -import org.apache.tuscany.das.rdb.ResultSetShape; -import org.apache.tuscany.das.rdb.SDODataTypes; -import org.apache.tuscany.das.rdb.config.Column; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; -import org.apache.tuscany.das.rdb.config.Table; -import org.apache.tuscany.das.rdb.config.impl.ConfigFactoryImpl; -import org.apache.tuscany.das.rdb.impl.ReadCommandImpl; - -import commonj.sdo.Type; - -public class SimpleReadCustomersWithShapeCommand extends ReadCommandImpl { - - // This sql string ensures that we won't have resultset metadata - private static final String sqlString = "Select * from customer union select * from customer"; - - private static final String[] columns = {"ID", "LASTNAME", "ADDRESS"}; - private static final String[] tables = {"CUSTOMER", "CUSTOMER", "CUSTOMER"}; - private static final Type[] types = {SDODataTypes.INT, SDODataTypes.STRING, SDODataTypes.STRING}; - - private static final Config mapping; - - static { - ConfigFactory factory = ConfigFactoryImpl.eINSTANCE; - mapping = factory.createConfig(); - Table t = factory.createTable(); - Column id = factory.createColumn(); - id.setName("ID"); - id.setPrimaryKey(true); - Column lastname = factory.createColumn(); - lastname.setName("LASTNAME"); - Column address = factory.createColumn(); - address.setName("ADDRESS"); - - t.getColumn().add(id); - t.getColumn().add(lastname); - t.getColumn().add(address); - t.setName("CUSTOMER"); - mapping.getTable().add(t); - } - - public SimpleReadCustomersWithShapeCommand() { - super(sqlString, mapping); - ResultSetShape shape = new ResultSetShape(tables, columns, types); - setResultSetShape(shape); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyFactory.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyFactory.java deleted file mode 100644 index a30b607b24..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyFactory.java +++ /dev/null @@ -1,73 +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.company; - - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @generated - */ -public interface CompanyFactory -{ - /** - * The singleton instance of the factory. - * - * - * @generated - */ - CompanyFactory INSTANCE = org.apache.tuscany.das.rdb.test.company.impl.CompanyFactoryImpl.eINSTANCE; - - /** - * Returns a new object of class 'Type'. - * - * - * @return a new object of class 'Type'. - * @generated - */ - CompanyType createCompanyType(); - - /** - * Returns a new object of class 'Datagraph Root'. - * - * - * @return a new object of class 'Datagraph Root'. - * @generated - */ - DatagraphRoot createDatagraphRoot(); - - /** - * Returns a new object of class 'Department Type'. - * - * - * @return a new object of class 'Department Type'. - * @generated - */ - DepartmentType createDepartmentType(); - - /** - * Returns a new object of class 'Employee Type'. - * - * - * @return a new object of class 'Employee Type'. - * @generated - */ - EmployeeType createEmployeeType(); - -} //CompanyFactory diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyType.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyType.java deleted file mode 100644 index bba21c0661..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/CompanyType.java +++ /dev/null @@ -1,101 +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.company; - -import java.util.List; - -/** - * - * A representation of the model object 'Type'. - * - * - *

- * The following features are supported: - *

- *

- * - * @generated - */ -public interface CompanyType -{ - /** - * Returns the value of the 'Departments' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.company.DepartmentType}. - * - *

- * If the meaning of the 'Departments' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Departments' containment reference list. - * @generated - */ - List getDepartments(); - - /** - * Returns the value of the 'Employee Of The Month' attribute. - * - *

- * If the meaning of the 'Employee Of The Month' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Employee Of The Month' attribute. - * @see #setEmployeeOfTheMonth(String) - * @generated - */ - String getEmployeeOfTheMonth(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.CompanyType#getEmployeeOfTheMonth Employee Of The Month}' attribute. - * - * - * @param value the new value of the 'Employee Of The Month' attribute. - * @see #getEmployeeOfTheMonth() - * @generated - */ - void setEmployeeOfTheMonth(String value); - - /** - * Returns the value of the 'Name' attribute. - * - *

- * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.CompanyType#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // CompanyType diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DatagraphRoot.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DatagraphRoot.java deleted file mode 100644 index 81ae283bbe..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DatagraphRoot.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.company; - -import java.util.List; - -/** - * - * A representation of the model object 'Datagraph Root'. - * - * - *

- * The following features are supported: - *

- *

- * - * @generated - */ -public interface DatagraphRoot -{ - /** - * Returns the value of the 'Companies' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.company.CompanyType}. - * - *

- * If the meaning of the 'Companies' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Companies' containment reference list. - * @generated - */ - List getCompanies(); - - /** - * Returns the value of the 'Departments' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.company.DepartmentType}. - * - *

- * If the meaning of the 'Departments' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Departments' containment reference list. - * @generated - */ - List getDepartments(); - - /** - * Returns the value of the 'Employees' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.company.EmployeeType}. - * - *

- * If the meaning of the 'Employees' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Employees' containment reference list. - * @generated - */ - List getEmployees(); - -} // DatagraphRoot diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DepartmentType.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DepartmentType.java deleted file mode 100644 index 522779b51d..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/DepartmentType.java +++ /dev/null @@ -1,153 +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.company; - -import java.util.List; - -/** - * - * A representation of the model object 'Department Type'. - * - * - *

- * The following features are supported: - *

- *

- * - * @generated - */ -public interface DepartmentType -{ - /** - * Returns the value of the 'Employees' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.company.EmployeeType}. - * - *

- * If the meaning of the 'Employees' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Employees' containment reference list. - * @generated - */ - List getEmployees(); - - /** - * Returns the value of the 'Location' attribute. - * - *

- * If the meaning of the 'Location' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Location' attribute. - * @see #setLocation(String) - * @generated - */ - String getLocation(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getLocation Location}' attribute. - * - * - * @param value the new value of the 'Location' attribute. - * @see #getLocation() - * @generated - */ - void setLocation(String value); - - /** - * Returns the value of the 'Name' attribute. - * - *

- * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Number' attribute. - * - *

- * If the meaning of the 'Number' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Number' attribute. - * @see #isSetNumber() - * @see #unsetNumber() - * @see #setNumber(int) - * @generated - */ - int getNumber(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getNumber Number}' attribute. - * - * - * @param value the new value of the 'Number' attribute. - * @see #isSetNumber() - * @see #unsetNumber() - * @see #getNumber() - * @generated - */ - void setNumber(int value); - - /** - * Unsets the value of the '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getNumber Number}' attribute. - * - * - * @see #isSetNumber() - * @see #getNumber() - * @see #setNumber(int) - * @generated - */ - void unsetNumber(); - - /** - * Returns whether the value of the '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getNumber Number}' attribute is set. - * - * - * @return whether the value of the 'Number' attribute is set. - * @see #unsetNumber() - * @see #getNumber() - * @see #setNumber(int) - * @generated - */ - boolean isSetNumber(); - -} // DepartmentType diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/EmployeeType.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/EmployeeType.java deleted file mode 100644 index 0e7a18034c..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/EmployeeType.java +++ /dev/null @@ -1,137 +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.company; - - -/** - * - * A representation of the model object 'Employee Type'. - * - * - *

- * The following features are supported: - *

- *

- * - * @generated - */ -public interface EmployeeType -{ - /** - * Returns the value of the 'Manager' attribute. - * - *

- * If the meaning of the 'Manager' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Manager' attribute. - * @see #isSetManager() - * @see #unsetManager() - * @see #setManager(boolean) - * @generated - */ - boolean isManager(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#isManager Manager}' attribute. - * - * - * @param value the new value of the 'Manager' attribute. - * @see #isSetManager() - * @see #unsetManager() - * @see #isManager() - * @generated - */ - void setManager(boolean value); - - /** - * Unsets the value of the '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#isManager Manager}' attribute. - * - * - * @see #isSetManager() - * @see #isManager() - * @see #setManager(boolean) - * @generated - */ - void unsetManager(); - - /** - * Returns whether the value of the '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#isManager Manager}' attribute is set. - * - * - * @return whether the value of the 'Manager' attribute is set. - * @see #unsetManager() - * @see #isManager() - * @see #setManager(boolean) - * @generated - */ - boolean isSetManager(); - - /** - * Returns the value of the 'Name' attribute. - * - *

- * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'SN' attribute. - * - *

- * If the meaning of the 'SN' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'SN' attribute. - * @see #setSN(String) - * @generated - */ - String getSN(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#getSN SN}' attribute. - * - * - * @param value the new value of the 'SN' attribute. - * @see #getSN() - * @generated - */ - void setSN(String value); - -} // EmployeeType diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyFactoryImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyFactoryImpl.java deleted file mode 100644 index 55812441d8..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyFactoryImpl.java +++ /dev/null @@ -1,174 +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.company.impl; - -import org.apache.tuscany.das.rdb.test.company.*; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class CompanyFactoryImpl extends EFactoryImpl implements CompanyFactory -{ - /** - * The singleton instance of the factory. - * - * - * @generated - */ - public static final CompanyFactoryImpl eINSTANCE = init(); - - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static CompanyFactoryImpl init() - { - try - { - CompanyFactoryImpl theCompanyFactory = (CompanyFactoryImpl)EPackage.Registry.INSTANCE.getEFactory("org.apache.tuscany.das.rdb.test/company.xsd"); - if (theCompanyFactory != null) - { - return theCompanyFactory; - } - } - catch (Exception exception) - { - EcorePlugin.INSTANCE.log(exception); - } - return new CompanyFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public CompanyFactoryImpl() - { - super(); - } - - /** - * - * - * @generated - */ - public EObject create(EClass eClass) - { - switch (eClass.getClassifierID()) - { - case CompanyPackageImpl.COMPANY_TYPE: return (EObject)createCompanyType(); - case CompanyPackageImpl.DATAGRAPH_ROOT: return (EObject)createDatagraphRoot(); - case CompanyPackageImpl.DEPARTMENT_TYPE: return (EObject)createDepartmentType(); - case CompanyPackageImpl.DOCUMENT_ROOT: return (EObject)createDocumentRoot(); - case CompanyPackageImpl.EMPLOYEE_TYPE: return (EObject)createEmployeeType(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public CompanyType createCompanyType() - { - CompanyTypeImpl companyType = new CompanyTypeImpl(); - return companyType; - } - - /** - * - * - * @generated - */ - public DatagraphRoot createDatagraphRoot() - { - DatagraphRootImpl datagraphRoot = new DatagraphRootImpl(); - return datagraphRoot; - } - - /** - * - * - * @generated - */ - public DepartmentType createDepartmentType() - { - DepartmentTypeImpl departmentType = new DepartmentTypeImpl(); - return departmentType; - } - - /** - * - * - * @generated - */ - public EObject createDocumentRoot() - { - EObject documentRoot = super.create(CompanyPackageImpl.Literals.DOCUMENT_ROOT); - return documentRoot; - } - - /** - * - * - * @generated - */ - public EmployeeType createEmployeeType() - { - EmployeeTypeImpl employeeType = new EmployeeTypeImpl(); - return employeeType; - } - - /** - * - * - * @generated - */ - public CompanyPackageImpl getCompanyPackageImpl() - { - return (CompanyPackageImpl)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - public static CompanyPackageImpl getPackage() - { - return CompanyPackageImpl.eINSTANCE; - } - -} //CompanyFactoryImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyPackageImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyPackageImpl.java deleted file mode 100644 index 9a079816fd..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyPackageImpl.java +++ /dev/null @@ -1,1258 +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.company.impl; - -import org.apache.tuscany.das.rdb.test.company.CompanyFactory; -import org.apache.tuscany.das.rdb.test.company.CompanyType; -import org.apache.tuscany.das.rdb.test.company.DatagraphRoot; -import org.apache.tuscany.das.rdb.test.company.DepartmentType; -import org.apache.tuscany.das.rdb.test.company.EmployeeType; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EFactory; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import org.eclipse.emf.ecore.xml.type.XMLTypePackage; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - * - * - * @see org.apache.tuscany.das.rdb.test.company.CompanyFactory - * @generated - */ -public class CompanyPackageImpl extends EPackageImpl -{ - /** - * The package name. - * - * - * @generated - */ - public static final String eNAME = "company"; - - /** - * The package namespace URI. - * - * - * @generated - */ - public static final String eNS_URI = "org.apache.tuscany.das.rdb.test/company.xsd"; - - /** - * The package namespace name. - * - * - * @generated - */ - public static final String eNS_PREFIX = "company"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - public static final CompanyPackageImpl eINSTANCE = org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl.init(); - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.company.impl.CompanyTypeImpl Type}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyTypeImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getCompanyType() - * @generated - */ - public static final int COMPANY_TYPE = 0; - - /** - * The feature id for the 'Departments' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int COMPANY_TYPE__DEPARTMENTS = 0; - - /** - * The feature id for the 'Employee Of The Month' attribute. - * - * - * @generated - * @ordered - */ - public static final int COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH = 1; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int COMPANY_TYPE__NAME = 2; - - /** - * The number of structural features of the 'Type' class. - * - * - * @generated - * @ordered - */ - public static final int COMPANY_TYPE_FEATURE_COUNT = 3; - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.company.impl.DatagraphRootImpl Datagraph Root}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.DatagraphRootImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getDatagraphRoot() - * @generated - */ - public static final int DATAGRAPH_ROOT = 1; - - /** - * The feature id for the 'Companies' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DATAGRAPH_ROOT__COMPANIES = 0; - - /** - * The feature id for the 'Departments' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DATAGRAPH_ROOT__DEPARTMENTS = 1; - - /** - * The feature id for the 'Employees' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DATAGRAPH_ROOT__EMPLOYEES = 2; - - /** - * The number of structural features of the 'Datagraph Root' class. - * - * - * @generated - * @ordered - */ - public static final int DATAGRAPH_ROOT_FEATURE_COUNT = 3; - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.company.impl.DepartmentTypeImpl Department Type}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.DepartmentTypeImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getDepartmentType() - * @generated - */ - public static final int DEPARTMENT_TYPE = 2; - - /** - * The feature id for the 'Employees' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPARTMENT_TYPE__EMPLOYEES = 0; - - /** - * The feature id for the 'Location' attribute. - * - * - * @generated - * @ordered - */ - public static final int DEPARTMENT_TYPE__LOCATION = 1; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int DEPARTMENT_TYPE__NAME = 2; - - /** - * The feature id for the 'Number' attribute. - * - * - * @generated - * @ordered - */ - public static final int DEPARTMENT_TYPE__NUMBER = 3; - - /** - * The number of structural features of the 'Department Type' class. - * - * - * @generated - * @ordered - */ - public static final int DEPARTMENT_TYPE_FEATURE_COUNT = 4; - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.company.impl.DocumentRootImpl Document Root}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.DocumentRootImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getDocumentRoot() - * @generated - */ - public static final int DOCUMENT_ROOT = 3; - - /** - * The feature id for the 'Mixed' attribute list. - * - * - * @generated - * @ordered - */ - public static final int DOCUMENT_ROOT__MIXED = 0; - - /** - * The feature id for the 'XMLNS Prefix Map' map. - * - * - * @generated - * @ordered - */ - public static final int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1; - - /** - * The feature id for the 'XSI Schema Location' map. - * - * - * @generated - * @ordered - */ - public static final int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2; - - /** - * The feature id for the 'Company' containment reference. - * - * - * @generated - * @ordered - */ - public static final int DOCUMENT_ROOT__COMPANY = 3; - - /** - * The number of structural features of the 'Document Root' class. - * - * - * @generated - * @ordered - */ - public static final int DOCUMENT_ROOT_FEATURE_COUNT = 4; - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.company.impl.EmployeeTypeImpl Employee Type}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.EmployeeTypeImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getEmployeeType() - * @generated - */ - public static final int EMPLOYEE_TYPE = 4; - - /** - * The feature id for the 'Manager' attribute. - * - * - * @generated - * @ordered - */ - public static final int EMPLOYEE_TYPE__MANAGER = 0; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int EMPLOYEE_TYPE__NAME = 1; - - /** - * The feature id for the 'SN' attribute. - * - * - * @generated - * @ordered - */ - public static final int EMPLOYEE_TYPE__SN = 2; - - /** - * The number of structural features of the 'Employee Type' class. - * - * - * @generated - * @ordered - */ - public static final int EMPLOYEE_TYPE_FEATURE_COUNT = 3; - - /** - * - * - * @generated - */ - private EClass companyTypeEClass = null; - - /** - * - * - * @generated - */ - private EClass datagraphRootEClass = null; - - /** - * - * - * @generated - */ - private EClass departmentTypeEClass = null; - - /** - * - * - * @generated - */ - private EClass documentRootEClass = null; - - /** - * - * - * @generated - */ - private EClass employeeTypeEClass = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#eNS_URI - * @see #init() - * @generated - */ - private CompanyPackageImpl() - { - super(eNS_URI, ((EFactory)CompanyFactory.INSTANCE)); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this - * model, and for any others upon which it depends. Simple - * dependencies are satisfied by calling this method on all - * dependent packages before doing anything else. This method drives - * initialization for interdependent packages directly, in parallel - * with this package, itself. - *

Of this package and its interdependencies, all packages which - * have not yet been registered by their URI values are first created - * and registered. The packages are then initialized in two steps: - * meta-model objects for all of the packages are created before any - * are initialized, since one package's meta-model objects may refer to - * those of another. - *

Invocation of this method will not affect any packages that have - * already been initialized. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static CompanyPackageImpl init() - { - if (isInited) return (CompanyPackageImpl)EPackage.Registry.INSTANCE.getEPackage(CompanyPackageImpl.eNS_URI); - - // Obtain or create and register package - CompanyPackageImpl theCompanyPackageImpl = (CompanyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof CompanyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new CompanyPackageImpl()); - - isInited = true; - - // Initialize simple dependencies - XMLTypePackage.eINSTANCE.eClass(); - - // Create package meta-data objects - theCompanyPackageImpl.createPackageContents(); - - // Initialize created meta-data - theCompanyPackageImpl.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theCompanyPackageImpl.freeze(); - - return theCompanyPackageImpl; - } - - - /** - * Returns the meta object for class '{@link org.apache.tuscany.das.rdb.test.company.CompanyType Type}'. - * - * - * @return the meta object for class 'Type'. - * @see org.apache.tuscany.das.rdb.test.company.CompanyType - * @generated - */ - public EClass getCompanyType() - { - return companyTypeEClass; - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.company.CompanyType#getDepartments Departments}'. - * - * - * @return the meta object for the containment reference list 'Departments'. - * @see org.apache.tuscany.das.rdb.test.company.CompanyType#getDepartments() - * @see #getCompanyType() - * @generated - */ - public EReference getCompanyType_Departments() - { - return (EReference)companyTypeEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.CompanyType#getEmployeeOfTheMonth Employee Of The Month}'. - * - * - * @return the meta object for the attribute 'Employee Of The Month'. - * @see org.apache.tuscany.das.rdb.test.company.CompanyType#getEmployeeOfTheMonth() - * @see #getCompanyType() - * @generated - */ - public EAttribute getCompanyType_EmployeeOfTheMonth() - { - return (EAttribute)companyTypeEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.CompanyType#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.tuscany.das.rdb.test.company.CompanyType#getName() - * @see #getCompanyType() - * @generated - */ - public EAttribute getCompanyType_Name() - { - return (EAttribute)companyTypeEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for class '{@link org.apache.tuscany.das.rdb.test.company.DatagraphRoot Datagraph Root}'. - * - * - * @return the meta object for class 'Datagraph Root'. - * @see org.apache.tuscany.das.rdb.test.company.DatagraphRoot - * @generated - */ - public EClass getDatagraphRoot() - { - return datagraphRootEClass; - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.company.DatagraphRoot#getCompanies Companies}'. - * - * - * @return the meta object for the containment reference list 'Companies'. - * @see org.apache.tuscany.das.rdb.test.company.DatagraphRoot#getCompanies() - * @see #getDatagraphRoot() - * @generated - */ - public EReference getDatagraphRoot_Companies() - { - return (EReference)datagraphRootEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.company.DatagraphRoot#getDepartments Departments}'. - * - * - * @return the meta object for the containment reference list 'Departments'. - * @see org.apache.tuscany.das.rdb.test.company.DatagraphRoot#getDepartments() - * @see #getDatagraphRoot() - * @generated - */ - public EReference getDatagraphRoot_Departments() - { - return (EReference)datagraphRootEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.company.DatagraphRoot#getEmployees Employees}'. - * - * - * @return the meta object for the containment reference list 'Employees'. - * @see org.apache.tuscany.das.rdb.test.company.DatagraphRoot#getEmployees() - * @see #getDatagraphRoot() - * @generated - */ - public EReference getDatagraphRoot_Employees() - { - return (EReference)datagraphRootEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for class '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType Department Type}'. - * - * - * @return the meta object for class 'Department Type'. - * @see org.apache.tuscany.das.rdb.test.company.DepartmentType - * @generated - */ - public EClass getDepartmentType() - { - return departmentTypeEClass; - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getEmployees Employees}'. - * - * - * @return the meta object for the containment reference list 'Employees'. - * @see org.apache.tuscany.das.rdb.test.company.DepartmentType#getEmployees() - * @see #getDepartmentType() - * @generated - */ - public EReference getDepartmentType_Employees() - { - return (EReference)departmentTypeEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getLocation Location}'. - * - * - * @return the meta object for the attribute 'Location'. - * @see org.apache.tuscany.das.rdb.test.company.DepartmentType#getLocation() - * @see #getDepartmentType() - * @generated - */ - public EAttribute getDepartmentType_Location() - { - return (EAttribute)departmentTypeEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.tuscany.das.rdb.test.company.DepartmentType#getName() - * @see #getDepartmentType() - * @generated - */ - public EAttribute getDepartmentType_Name() - { - return (EAttribute)departmentTypeEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.DepartmentType#getNumber Number}'. - * - * - * @return the meta object for the attribute 'Number'. - * @see org.apache.tuscany.das.rdb.test.company.DepartmentType#getNumber() - * @see #getDepartmentType() - * @generated - */ - public EAttribute getDepartmentType_Number() - { - return (EAttribute)departmentTypeEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for class '{@link org.eclipse.emf.ecore.EObject Document Root}'. - * - * - * @return the meta object for class 'Document Root'. - * @see org.eclipse.emf.ecore.EObject - * @generated - */ - public EClass getDocumentRoot() - { - return documentRootEClass; - } - - /** - * Returns the meta object for the attribute list '{@link org.eclipse.emf.ecore.EObject#getMixed Mixed}'. - * - * - * @return the meta object for the attribute list 'Mixed'. - * @see org.eclipse.emf.ecore.EObject#getMixed() - * @see #getDocumentRoot() - * @generated - */ - public EAttribute getDocumentRoot_Mixed() - { - return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the map '{@link org.eclipse.emf.ecore.EObject#getXMLNSPrefixMap XMLNS Prefix Map}'. - * - * - * @return the meta object for the map 'XMLNS Prefix Map'. - * @see org.eclipse.emf.ecore.EObject#getXMLNSPrefixMap() - * @see #getDocumentRoot() - * @generated - */ - public EReference getDocumentRoot_XMLNSPrefixMap() - { - return (EReference)documentRootEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the map '{@link org.eclipse.emf.ecore.EObject#getXSISchemaLocation XSI Schema Location}'. - * - * - * @return the meta object for the map 'XSI Schema Location'. - * @see org.eclipse.emf.ecore.EObject#getXSISchemaLocation() - * @see #getDocumentRoot() - * @generated - */ - public EReference getDocumentRoot_XSISchemaLocation() - { - return (EReference)documentRootEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the containment reference '{@link org.eclipse.emf.ecore.EObject#getCompany Company}'. - * - * - * @return the meta object for the containment reference 'Company'. - * @see org.eclipse.emf.ecore.EObject#getCompany() - * @see #getDocumentRoot() - * @generated - */ - public EReference getDocumentRoot_Company() - { - return (EReference)documentRootEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for class '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType Employee Type}'. - * - * - * @return the meta object for class 'Employee Type'. - * @see org.apache.tuscany.das.rdb.test.company.EmployeeType - * @generated - */ - public EClass getEmployeeType() - { - return employeeTypeEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#isManager Manager}'. - * - * - * @return the meta object for the attribute 'Manager'. - * @see org.apache.tuscany.das.rdb.test.company.EmployeeType#isManager() - * @see #getEmployeeType() - * @generated - */ - public EAttribute getEmployeeType_Manager() - { - return (EAttribute)employeeTypeEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.tuscany.das.rdb.test.company.EmployeeType#getName() - * @see #getEmployeeType() - * @generated - */ - public EAttribute getEmployeeType_Name() - { - return (EAttribute)employeeTypeEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.company.EmployeeType#getSN SN}'. - * - * - * @return the meta object for the attribute 'SN'. - * @see org.apache.tuscany.das.rdb.test.company.EmployeeType#getSN() - * @see #getEmployeeType() - * @generated - */ - public EAttribute getEmployeeType_SN() - { - return (EAttribute)employeeTypeEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - public CompanyFactory getCompanyFactory() - { - return (CompanyFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() - { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - companyTypeEClass = createEClass(COMPANY_TYPE); - createEReference(companyTypeEClass, COMPANY_TYPE__DEPARTMENTS); - createEAttribute(companyTypeEClass, COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH); - createEAttribute(companyTypeEClass, COMPANY_TYPE__NAME); - - datagraphRootEClass = createEClass(DATAGRAPH_ROOT); - createEReference(datagraphRootEClass, DATAGRAPH_ROOT__COMPANIES); - createEReference(datagraphRootEClass, DATAGRAPH_ROOT__DEPARTMENTS); - createEReference(datagraphRootEClass, DATAGRAPH_ROOT__EMPLOYEES); - - departmentTypeEClass = createEClass(DEPARTMENT_TYPE); - createEReference(departmentTypeEClass, DEPARTMENT_TYPE__EMPLOYEES); - createEAttribute(departmentTypeEClass, DEPARTMENT_TYPE__LOCATION); - createEAttribute(departmentTypeEClass, DEPARTMENT_TYPE__NAME); - createEAttribute(departmentTypeEClass, DEPARTMENT_TYPE__NUMBER); - - documentRootEClass = createEClass(DOCUMENT_ROOT); - createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED); - createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP); - createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION); - createEReference(documentRootEClass, DOCUMENT_ROOT__COMPANY); - - employeeTypeEClass = createEClass(EMPLOYEE_TYPE); - createEAttribute(employeeTypeEClass, EMPLOYEE_TYPE__MANAGER); - createEAttribute(employeeTypeEClass, EMPLOYEE_TYPE__NAME); - createEAttribute(employeeTypeEClass, EMPLOYEE_TYPE__SN); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() - { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Obtain other dependent packages - XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); - - // Add supertypes to classes - - // Initialize classes and features; add operations and parameters - initEClass(companyTypeEClass, CompanyType.class, "CompanyType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getCompanyType_Departments(), this.getDepartmentType(), null, "departments", null, 1, -1, CompanyType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getCompanyType_EmployeeOfTheMonth(), theXMLTypePackage.getIDREF(), "employeeOfTheMonth", null, 0, 1, CompanyType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getCompanyType_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, CompanyType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(datagraphRootEClass, DatagraphRoot.class, "DatagraphRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getDatagraphRoot_Companies(), this.getCompanyType(), null, "companies", null, 0, -1, DatagraphRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDatagraphRoot_Departments(), this.getDepartmentType(), null, "departments", null, 0, -1, DatagraphRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDatagraphRoot_Employees(), this.getEmployeeType(), null, "employees", null, 0, -1, DatagraphRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(departmentTypeEClass, DepartmentType.class, "DepartmentType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getDepartmentType_Employees(), this.getEmployeeType(), null, "employees", null, 1, -1, DepartmentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getDepartmentType_Location(), theXMLTypePackage.getString(), "location", null, 0, 1, DepartmentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getDepartmentType_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, DepartmentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getDepartmentType_Number(), theXMLTypePackage.getInt(), "number", null, 0, 1, DepartmentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(documentRootEClass, null, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDocumentRoot_Company(), this.getCompanyType(), null, "company", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); - - initEClass(employeeTypeEClass, EmployeeType.class, "EmployeeType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getEmployeeType_Manager(), theXMLTypePackage.getBoolean(), "manager", null, 0, 1, EmployeeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getEmployeeType_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, EmployeeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getEmployeeType_SN(), theXMLTypePackage.getID(), "sN", null, 0, 1, EmployeeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - // Create resource - createResource(eNS_URI); - - // Create annotations - // http:///org/eclipse/emf/ecore/util/ExtendedMetaData - createExtendedMetaDataAnnotations(); - } - - /** - * Initializes the annotations for http:///org/eclipse/emf/ecore/util/ExtendedMetaData. - * - * - * @generated - */ - protected void createExtendedMetaDataAnnotations() - { - String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; - addAnnotation - (companyTypeEClass, - source, - new String[] - { - "name", "CompanyType", - "kind", "elementOnly" - }); - addAnnotation - (getCompanyType_Departments(), - source, - new String[] - { - "kind", "element", - "name", "departments" - }); - addAnnotation - (getCompanyType_EmployeeOfTheMonth(), - source, - new String[] - { - "kind", "attribute", - "name", "employeeOfTheMonth" - }); - addAnnotation - (getCompanyType_Name(), - source, - new String[] - { - "kind", "attribute", - "name", "name" - }); - addAnnotation - (datagraphRootEClass, - source, - new String[] - { - "name", "DatagraphRoot", - "kind", "elementOnly" - }); - addAnnotation - (getDatagraphRoot_Companies(), - source, - new String[] - { - "kind", "element", - "name", "companies" - }); - addAnnotation - (getDatagraphRoot_Departments(), - source, - new String[] - { - "kind", "element", - "name", "departments" - }); - addAnnotation - (getDatagraphRoot_Employees(), - source, - new String[] - { - "kind", "element", - "name", "employees" - }); - addAnnotation - (departmentTypeEClass, - source, - new String[] - { - "name", "DepartmentType", - "kind", "elementOnly" - }); - addAnnotation - (getDepartmentType_Employees(), - source, - new String[] - { - "kind", "element", - "name", "employees" - }); - addAnnotation - (getDepartmentType_Location(), - source, - new String[] - { - "kind", "attribute", - "name", "location" - }); - addAnnotation - (getDepartmentType_Name(), - source, - new String[] - { - "kind", "attribute", - "name", "name" - }); - addAnnotation - (getDepartmentType_Number(), - source, - new String[] - { - "kind", "attribute", - "name", "number" - }); - addAnnotation - (documentRootEClass, - source, - new String[] - { - "name", "", - "kind", "mixed" - }); - addAnnotation - (getDocumentRoot_Mixed(), - source, - new String[] - { - "kind", "elementWildcard", - "name", ":mixed" - }); - addAnnotation - (getDocumentRoot_XMLNSPrefixMap(), - source, - new String[] - { - "kind", "attribute", - "name", "xmlns:prefix" - }); - addAnnotation - (getDocumentRoot_XSISchemaLocation(), - source, - new String[] - { - "kind", "attribute", - "name", "xsi:schemaLocation" - }); - addAnnotation - (getDocumentRoot_Company(), - source, - new String[] - { - "kind", "element", - "name", "company", - "namespace", "##targetNamespace" - }); - addAnnotation - (employeeTypeEClass, - source, - new String[] - { - "name", "EmployeeType", - "kind", "empty" - }); - addAnnotation - (getEmployeeType_Manager(), - source, - new String[] - { - "kind", "attribute", - "name", "manager" - }); - addAnnotation - (getEmployeeType_Name(), - source, - new String[] - { - "kind", "attribute", - "name", "name" - }); - addAnnotation - (getEmployeeType_SN(), - source, - new String[] - { - "kind", "attribute", - "name", "SN" - }); - } - - /** - * - * Defines literals for the meta objects that represent - *

- * - * @generated - */ - public interface Literals - { - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.company.impl.CompanyTypeImpl Type}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyTypeImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getCompanyType() - * @generated - */ - public static final EClass COMPANY_TYPE = eINSTANCE.getCompanyType(); - - /** - * The meta object literal for the 'Departments' containment reference list feature. - * - * - * @generated - */ - public static final EReference COMPANY_TYPE__DEPARTMENTS = eINSTANCE.getCompanyType_Departments(); - - /** - * The meta object literal for the 'Employee Of The Month' attribute feature. - * - * - * @generated - */ - public static final EAttribute COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH = eINSTANCE.getCompanyType_EmployeeOfTheMonth(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute COMPANY_TYPE__NAME = eINSTANCE.getCompanyType_Name(); - - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.company.impl.DatagraphRootImpl Datagraph Root}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.DatagraphRootImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getDatagraphRoot() - * @generated - */ - public static final EClass DATAGRAPH_ROOT = eINSTANCE.getDatagraphRoot(); - - /** - * The meta object literal for the 'Companies' containment reference list feature. - * - * - * @generated - */ - public static final EReference DATAGRAPH_ROOT__COMPANIES = eINSTANCE.getDatagraphRoot_Companies(); - - /** - * The meta object literal for the 'Departments' containment reference list feature. - * - * - * @generated - */ - public static final EReference DATAGRAPH_ROOT__DEPARTMENTS = eINSTANCE.getDatagraphRoot_Departments(); - - /** - * The meta object literal for the 'Employees' containment reference list feature. - * - * - * @generated - */ - public static final EReference DATAGRAPH_ROOT__EMPLOYEES = eINSTANCE.getDatagraphRoot_Employees(); - - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.company.impl.DepartmentTypeImpl Department Type}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.DepartmentTypeImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getDepartmentType() - * @generated - */ - public static final EClass DEPARTMENT_TYPE = eINSTANCE.getDepartmentType(); - - /** - * The meta object literal for the 'Employees' containment reference list feature. - * - * - * @generated - */ - public static final EReference DEPARTMENT_TYPE__EMPLOYEES = eINSTANCE.getDepartmentType_Employees(); - - /** - * The meta object literal for the 'Location' attribute feature. - * - * - * @generated - */ - public static final EAttribute DEPARTMENT_TYPE__LOCATION = eINSTANCE.getDepartmentType_Location(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute DEPARTMENT_TYPE__NAME = eINSTANCE.getDepartmentType_Name(); - - /** - * The meta object literal for the 'Number' attribute feature. - * - * - * @generated - */ - public static final EAttribute DEPARTMENT_TYPE__NUMBER = eINSTANCE.getDepartmentType_Number(); - - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.company.impl.DocumentRootImpl Document Root}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.DocumentRootImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getDocumentRoot() - * @generated - */ - public static final EClass DOCUMENT_ROOT = eINSTANCE.getDocumentRoot(); - - /** - * The meta object literal for the 'Mixed' attribute list feature. - * - * - * @generated - */ - public static final EAttribute DOCUMENT_ROOT__MIXED = eINSTANCE.getDocumentRoot_Mixed(); - - /** - * The meta object literal for the 'XMLNS Prefix Map' map feature. - * - * - * @generated - */ - public static final EReference DOCUMENT_ROOT__XMLNS_PREFIX_MAP = eINSTANCE.getDocumentRoot_XMLNSPrefixMap(); - - /** - * The meta object literal for the 'XSI Schema Location' map feature. - * - * - * @generated - */ - public static final EReference DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = eINSTANCE.getDocumentRoot_XSISchemaLocation(); - - /** - * The meta object literal for the 'Company' containment reference feature. - * - * - * @generated - */ - public static final EReference DOCUMENT_ROOT__COMPANY = eINSTANCE.getDocumentRoot_Company(); - - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.company.impl.EmployeeTypeImpl Employee Type}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.company.impl.EmployeeTypeImpl - * @see org.apache.tuscany.das.rdb.test.company.impl.CompanyPackageImpl#getEmployeeType() - * @generated - */ - public static final EClass EMPLOYEE_TYPE = eINSTANCE.getEmployeeType(); - - /** - * The meta object literal for the 'Manager' attribute feature. - * - * - * @generated - */ - public static final EAttribute EMPLOYEE_TYPE__MANAGER = eINSTANCE.getEmployeeType_Manager(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute EMPLOYEE_TYPE__NAME = eINSTANCE.getEmployeeType_Name(); - - /** - * The meta object literal for the 'SN' attribute feature. - * - * - * @generated - */ - public static final EAttribute EMPLOYEE_TYPE__SN = eINSTANCE.getEmployeeType_SN(); - - } - -} //CompanyPackageImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyTypeImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyTypeImpl.java deleted file mode 100644 index 76caa0bcdc..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/CompanyTypeImpl.java +++ /dev/null @@ -1,303 +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.company.impl; - -import java.util.Collection; -import java.util.List; - -import org.apache.tuscany.das.rdb.test.company.CompanyType; -import org.apache.tuscany.das.rdb.test.company.DepartmentType; - -import org.apache.tuscany.sdo.impl.DataObjectImpl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Type'. - * - *

- * The following features are implemented: - *

- *

- * - * @generated - */ -public class CompanyTypeImpl extends DataObjectImpl implements CompanyType -{ - /** - * The cached value of the '{@link #getDepartments() Departments}' containment reference list. - * - * - * @see #getDepartments() - * @generated - * @ordered - */ - protected EList departments = null; - - /** - * The default value of the '{@link #getEmployeeOfTheMonth() Employee Of The Month}' attribute. - * - * - * @see #getEmployeeOfTheMonth() - * @generated - * @ordered - */ - protected static final String EMPLOYEE_OF_THE_MONTH_EDEFAULT = null; - - /** - * The cached value of the '{@link #getEmployeeOfTheMonth() Employee Of The Month}' attribute. - * - * - * @see #getEmployeeOfTheMonth() - * @generated - * @ordered - */ - protected String employeeOfTheMonth = EMPLOYEE_OF_THE_MONTH_EDEFAULT; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * - * @generated - */ - protected CompanyTypeImpl() - { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() - { - return CompanyPackageImpl.Literals.COMPANY_TYPE; - } - - /** - * - * - * @generated - */ - public List getDepartments() - { - if (departments == null) - { - departments = new EObjectContainmentEList(DepartmentType.class, this, CompanyPackageImpl.COMPANY_TYPE__DEPARTMENTS); - } - return departments; - } - - /** - * - * - * @generated - */ - public String getEmployeeOfTheMonth() - { - return employeeOfTheMonth; - } - - /** - * - * - * @generated - */ - public void setEmployeeOfTheMonth(String newEmployeeOfTheMonth) - { - String oldEmployeeOfTheMonth = employeeOfTheMonth; - employeeOfTheMonth = newEmployeeOfTheMonth; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH, oldEmployeeOfTheMonth, employeeOfTheMonth)); - } - - /** - * - * - * @generated - */ - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.COMPANY_TYPE__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case CompanyPackageImpl.COMPANY_TYPE__DEPARTMENTS: - return ((InternalEList)getDepartments()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case CompanyPackageImpl.COMPANY_TYPE__DEPARTMENTS: - return getDepartments(); - case CompanyPackageImpl.COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH: - return getEmployeeOfTheMonth(); - case CompanyPackageImpl.COMPANY_TYPE__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case CompanyPackageImpl.COMPANY_TYPE__DEPARTMENTS: - getDepartments().clear(); - getDepartments().addAll((Collection)newValue); - return; - case CompanyPackageImpl.COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH: - setEmployeeOfTheMonth((String)newValue); - return; - case CompanyPackageImpl.COMPANY_TYPE__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.COMPANY_TYPE__DEPARTMENTS: - getDepartments().clear(); - return; - case CompanyPackageImpl.COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH: - setEmployeeOfTheMonth(EMPLOYEE_OF_THE_MONTH_EDEFAULT); - return; - case CompanyPackageImpl.COMPANY_TYPE__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.COMPANY_TYPE__DEPARTMENTS: - return departments != null && !departments.isEmpty(); - case CompanyPackageImpl.COMPANY_TYPE__EMPLOYEE_OF_THE_MONTH: - return EMPLOYEE_OF_THE_MONTH_EDEFAULT == null ? employeeOfTheMonth != null : !EMPLOYEE_OF_THE_MONTH_EDEFAULT.equals(employeeOfTheMonth); - case CompanyPackageImpl.COMPANY_TYPE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (employeeOfTheMonth: "); - result.append(employeeOfTheMonth); - result.append(", name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //CompanyTypeImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DatagraphRootImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DatagraphRootImpl.java deleted file mode 100644 index cde59e98ed..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DatagraphRootImpl.java +++ /dev/null @@ -1,252 +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.company.impl; - -import java.util.Collection; -import java.util.List; - -import org.apache.tuscany.das.rdb.test.company.CompanyType; -import org.apache.tuscany.das.rdb.test.company.DatagraphRoot; -import org.apache.tuscany.das.rdb.test.company.DepartmentType; -import org.apache.tuscany.das.rdb.test.company.EmployeeType; - -import org.apache.tuscany.sdo.impl.DataObjectImpl; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Datagraph Root'. - * - *

- * The following features are implemented: - *

- *

- * - * @generated - */ -public class DatagraphRootImpl extends DataObjectImpl implements DatagraphRoot -{ - /** - * The cached value of the '{@link #getCompanies() Companies}' containment reference list. - * - * - * @see #getCompanies() - * @generated - * @ordered - */ - protected EList companies = null; - - /** - * The cached value of the '{@link #getDepartments() Departments}' containment reference list. - * - * - * @see #getDepartments() - * @generated - * @ordered - */ - protected EList departments = null; - - /** - * The cached value of the '{@link #getEmployees() Employees}' containment reference list. - * - * - * @see #getEmployees() - * @generated - * @ordered - */ - protected EList employees = null; - - /** - * - * - * @generated - */ - protected DatagraphRootImpl() - { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() - { - return CompanyPackageImpl.Literals.DATAGRAPH_ROOT; - } - - /** - * - * - * @generated - */ - public List getCompanies() - { - if (companies == null) - { - companies = new EObjectContainmentEList(CompanyType.class, this, CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES); - } - return companies; - } - - /** - * - * - * @generated - */ - public List getDepartments() - { - if (departments == null) - { - departments = new EObjectContainmentEList(DepartmentType.class, this, CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS); - } - return departments; - } - - /** - * - * - * @generated - */ - public List getEmployees() - { - if (employees == null) - { - employees = new EObjectContainmentEList(EmployeeType.class, this, CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES); - } - return employees; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES: - return ((InternalEList)getCompanies()).basicRemove(otherEnd, msgs); - case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS: - return ((InternalEList)getDepartments()).basicRemove(otherEnd, msgs); - case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES: - return ((InternalEList)getEmployees()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES: - return getCompanies(); - case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS: - return getDepartments(); - case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES: - return getEmployees(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES: - getCompanies().clear(); - getCompanies().addAll((Collection)newValue); - return; - case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS: - getDepartments().clear(); - getDepartments().addAll((Collection)newValue); - return; - case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES: - getEmployees().clear(); - getEmployees().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES: - getCompanies().clear(); - return; - case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS: - getDepartments().clear(); - return; - case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES: - getEmployees().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES: - return companies != null && !companies.isEmpty(); - case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS: - return departments != null && !departments.isEmpty(); - case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES: - return employees != null && !employees.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //DatagraphRootImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DepartmentTypeImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DepartmentTypeImpl.java deleted file mode 100644 index 9ceb2d8da7..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/DepartmentTypeImpl.java +++ /dev/null @@ -1,395 +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.company.impl; - -import java.util.Collection; -import java.util.List; - -import org.apache.tuscany.das.rdb.test.company.DepartmentType; -import org.apache.tuscany.das.rdb.test.company.EmployeeType; - -import org.apache.tuscany.sdo.impl.DataObjectImpl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Department Type'. - * - *

- * The following features are implemented: - *

- *

- * - * @generated - */ -public class DepartmentTypeImpl extends DataObjectImpl implements DepartmentType -{ - /** - * The cached value of the '{@link #getEmployees() Employees}' containment reference list. - * - * - * @see #getEmployees() - * @generated - * @ordered - */ - protected EList employees = null; - - /** - * The default value of the '{@link #getLocation() Location}' attribute. - * - * - * @see #getLocation() - * @generated - * @ordered - */ - protected static final String LOCATION_EDEFAULT = null; - - /** - * The cached value of the '{@link #getLocation() Location}' attribute. - * - * - * @see #getLocation() - * @generated - * @ordered - */ - protected String location = LOCATION_EDEFAULT; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getNumber() Number}' attribute. - * - * - * @see #getNumber() - * @generated - * @ordered - */ - protected static final int NUMBER_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getNumber() Number}' attribute. - * - * - * @see #getNumber() - * @generated - * @ordered - */ - protected int number = NUMBER_EDEFAULT; - - /** - * This is true if the Number attribute has been set. - * - * - * @generated - * @ordered - */ - protected boolean numberESet = false; - - /** - * - * - * @generated - */ - protected DepartmentTypeImpl() - { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() - { - return CompanyPackageImpl.Literals.DEPARTMENT_TYPE; - } - - /** - * - * - * @generated - */ - public List getEmployees() - { - if (employees == null) - { - employees = new EObjectContainmentEList(EmployeeType.class, this, CompanyPackageImpl.DEPARTMENT_TYPE__EMPLOYEES); - } - return employees; - } - - /** - * - * - * @generated - */ - public String getLocation() - { - return location; - } - - /** - * - * - * @generated - */ - public void setLocation(String newLocation) - { - String oldLocation = location; - location = newLocation; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.DEPARTMENT_TYPE__LOCATION, oldLocation, location)); - } - - /** - * - * - * @generated - */ - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.DEPARTMENT_TYPE__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - public int getNumber() - { - return number; - } - - /** - * - * - * @generated - */ - public void setNumber(int newNumber) - { - int oldNumber = number; - number = newNumber; - boolean oldNumberESet = numberESet; - numberESet = true; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.DEPARTMENT_TYPE__NUMBER, oldNumber, number, !oldNumberESet)); - } - - /** - * - * - * @generated - */ - public void unsetNumber() - { - int oldNumber = number; - boolean oldNumberESet = numberESet; - number = NUMBER_EDEFAULT; - numberESet = false; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.UNSET, CompanyPackageImpl.DEPARTMENT_TYPE__NUMBER, oldNumber, NUMBER_EDEFAULT, oldNumberESet)); - } - - /** - * - * - * @generated - */ - public boolean isSetNumber() - { - return numberESet; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case CompanyPackageImpl.DEPARTMENT_TYPE__EMPLOYEES: - return ((InternalEList)getEmployees()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case CompanyPackageImpl.DEPARTMENT_TYPE__EMPLOYEES: - return getEmployees(); - case CompanyPackageImpl.DEPARTMENT_TYPE__LOCATION: - return getLocation(); - case CompanyPackageImpl.DEPARTMENT_TYPE__NAME: - return getName(); - case CompanyPackageImpl.DEPARTMENT_TYPE__NUMBER: - return new Integer(getNumber()); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case CompanyPackageImpl.DEPARTMENT_TYPE__EMPLOYEES: - getEmployees().clear(); - getEmployees().addAll((Collection)newValue); - return; - case CompanyPackageImpl.DEPARTMENT_TYPE__LOCATION: - setLocation((String)newValue); - return; - case CompanyPackageImpl.DEPARTMENT_TYPE__NAME: - setName((String)newValue); - return; - case CompanyPackageImpl.DEPARTMENT_TYPE__NUMBER: - setNumber(((Integer)newValue).intValue()); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.DEPARTMENT_TYPE__EMPLOYEES: - getEmployees().clear(); - return; - case CompanyPackageImpl.DEPARTMENT_TYPE__LOCATION: - setLocation(LOCATION_EDEFAULT); - return; - case CompanyPackageImpl.DEPARTMENT_TYPE__NAME: - setName(NAME_EDEFAULT); - return; - case CompanyPackageImpl.DEPARTMENT_TYPE__NUMBER: - unsetNumber(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.DEPARTMENT_TYPE__EMPLOYEES: - return employees != null && !employees.isEmpty(); - case CompanyPackageImpl.DEPARTMENT_TYPE__LOCATION: - return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location); - case CompanyPackageImpl.DEPARTMENT_TYPE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case CompanyPackageImpl.DEPARTMENT_TYPE__NUMBER: - return isSetNumber(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (location: "); - result.append(location); - result.append(", name: "); - result.append(name); - result.append(", number: "); - if (numberESet) result.append(number); else result.append(""); - result.append(')'); - return result.toString(); - } - -} //DepartmentTypeImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/EmployeeTypeImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/EmployeeTypeImpl.java deleted file mode 100644 index 39d0e6b876..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/company/impl/EmployeeTypeImpl.java +++ /dev/null @@ -1,333 +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.company.impl; - -import org.apache.tuscany.das.rdb.test.company.EmployeeType; - -import org.apache.tuscany.sdo.impl.DataObjectImpl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -/** - * - * An implementation of the model object 'Employee Type'. - * - *

- * The following features are implemented: - *

- *

- * - * @generated - */ -public class EmployeeTypeImpl extends DataObjectImpl implements EmployeeType -{ - /** - * The default value of the '{@link #isManager() Manager}' attribute. - * - * - * @see #isManager() - * @generated - * @ordered - */ - protected static final boolean MANAGER_EDEFAULT = false; - - /** - * The cached value of the '{@link #isManager() Manager}' attribute. - * - * - * @see #isManager() - * @generated - * @ordered - */ - protected boolean manager = MANAGER_EDEFAULT; - - /** - * This is true if the Manager attribute has been set. - * - * - * @generated - * @ordered - */ - protected boolean managerESet = false; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getSN() SN}' attribute. - * - * - * @see #getSN() - * @generated - * @ordered - */ - protected static final String SN_EDEFAULT = null; - - /** - * The cached value of the '{@link #getSN() SN}' attribute. - * - * - * @see #getSN() - * @generated - * @ordered - */ - protected String sN = SN_EDEFAULT; - - /** - * - * - * @generated - */ - protected EmployeeTypeImpl() - { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() - { - return CompanyPackageImpl.Literals.EMPLOYEE_TYPE; - } - - /** - * - * - * @generated - */ - public boolean isManager() - { - return manager; - } - - /** - * - * - * @generated - */ - public void setManager(boolean newManager) - { - boolean oldManager = manager; - manager = newManager; - boolean oldManagerESet = managerESet; - managerESet = true; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.EMPLOYEE_TYPE__MANAGER, oldManager, manager, !oldManagerESet)); - } - - /** - * - * - * @generated - */ - public void unsetManager() - { - boolean oldManager = manager; - boolean oldManagerESet = managerESet; - manager = MANAGER_EDEFAULT; - managerESet = false; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.UNSET, CompanyPackageImpl.EMPLOYEE_TYPE__MANAGER, oldManager, MANAGER_EDEFAULT, oldManagerESet)); - } - - /** - * - * - * @generated - */ - public boolean isSetManager() - { - return managerESet; - } - - /** - * - * - * @generated - */ - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.EMPLOYEE_TYPE__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - public String getSN() - { - return sN; - } - - /** - * - * - * @generated - */ - public void setSN(String newSN) - { - String oldSN = sN; - sN = newSN; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CompanyPackageImpl.EMPLOYEE_TYPE__SN, oldSN, sN)); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case CompanyPackageImpl.EMPLOYEE_TYPE__MANAGER: - return isManager() ? Boolean.TRUE : Boolean.FALSE; - case CompanyPackageImpl.EMPLOYEE_TYPE__NAME: - return getName(); - case CompanyPackageImpl.EMPLOYEE_TYPE__SN: - return getSN(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case CompanyPackageImpl.EMPLOYEE_TYPE__MANAGER: - setManager(((Boolean)newValue).booleanValue()); - return; - case CompanyPackageImpl.EMPLOYEE_TYPE__NAME: - setName((String)newValue); - return; - case CompanyPackageImpl.EMPLOYEE_TYPE__SN: - setSN((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.EMPLOYEE_TYPE__MANAGER: - unsetManager(); - return; - case CompanyPackageImpl.EMPLOYEE_TYPE__NAME: - setName(NAME_EDEFAULT); - return; - case CompanyPackageImpl.EMPLOYEE_TYPE__SN: - setSN(SN_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case CompanyPackageImpl.EMPLOYEE_TYPE__MANAGER: - return isSetManager(); - case CompanyPackageImpl.EMPLOYEE_TYPE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case CompanyPackageImpl.EMPLOYEE_TYPE__SN: - return SN_EDEFAULT == null ? sN != null : !SN_EDEFAULT.equals(sN); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (manager: "); - if (managerESet) result.append(manager); else result.append(""); - result.append(", name: "); - result.append(name); - result.append(", sN: "); - result.append(sN); - result.append(')'); - return result.toString(); - } - -} //EmployeeTypeImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/AnOrder.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/AnOrder.java deleted file mode 100644 index 1cbc53c1ab..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/AnOrder.java +++ /dev/null @@ -1,216 +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.customer; - - -/** - * - * A representation of the model object 'An Order'. - * - * - *

- * The following features are supported: - *

    - *
  • {@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getID ID}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getProduct Product}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getQuantity Quantity}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getCustomerID Customer ID}
  • - *
- *

- * - * @generated - */ -public interface AnOrder -{ - /** - * Returns the value of the 'ID' attribute. - * - *

- * If the meaning of the 'ID' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'ID' attribute. - * @see #isSetID() - * @see #unsetID() - * @see #setID(int) - * @generated - */ - int getID(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getID ID}' attribute. - * - * - * @param value the new value of the 'ID' attribute. - * @see #isSetID() - * @see #unsetID() - * @see #getID() - * @generated - */ - void setID(int value); - - /** - * Unsets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getID ID}' attribute. - * - * - * @see #isSetID() - * @see #getID() - * @see #setID(int) - * @generated - */ - void unsetID(); - - /** - * Returns whether the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getID ID}' attribute is set. - * - * - * @return whether the value of the 'ID' attribute is set. - * @see #unsetID() - * @see #getID() - * @see #setID(int) - * @generated - */ - boolean isSetID(); - - /** - * Returns the value of the 'Product' attribute. - * - *

- * If the meaning of the 'Product' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Product' attribute. - * @see #setProduct(String) - * @generated - */ - String getProduct(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getProduct Product}' attribute. - * - * - * @param value the new value of the 'Product' attribute. - * @see #getProduct() - * @generated - */ - void setProduct(String value); - - /** - * Returns the value of the 'Quantity' attribute. - * - *

- * If the meaning of the 'Quantity' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Quantity' attribute. - * @see #isSetQuantity() - * @see #unsetQuantity() - * @see #setQuantity(int) - * @generated - */ - int getQuantity(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getQuantity Quantity}' attribute. - * - * - * @param value the new value of the 'Quantity' attribute. - * @see #isSetQuantity() - * @see #unsetQuantity() - * @see #getQuantity() - * @generated - */ - void setQuantity(int value); - - /** - * Unsets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getQuantity Quantity}' attribute. - * - * - * @see #isSetQuantity() - * @see #getQuantity() - * @see #setQuantity(int) - * @generated - */ - void unsetQuantity(); - - /** - * Returns whether the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getQuantity Quantity}' attribute is set. - * - * - * @return whether the value of the 'Quantity' attribute is set. - * @see #unsetQuantity() - * @see #getQuantity() - * @see #setQuantity(int) - * @generated - */ - boolean isSetQuantity(); - - /** - * Returns the value of the 'Customer ID' attribute. - * - *

- * If the meaning of the 'Customer ID' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Customer ID' attribute. - * @see #isSetCustomerID() - * @see #unsetCustomerID() - * @see #setCustomerID(int) - * @generated - */ - int getCustomerID(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getCustomerID Customer ID}' attribute. - * - * - * @param value the new value of the 'Customer ID' attribute. - * @see #isSetCustomerID() - * @see #unsetCustomerID() - * @see #getCustomerID() - * @generated - */ - void setCustomerID(int value); - - /** - * Unsets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getCustomerID Customer ID}' attribute. - * - * - * @see #isSetCustomerID() - * @see #getCustomerID() - * @see #setCustomerID(int) - * @generated - */ - void unsetCustomerID(); - - /** - * Returns whether the value of the '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getCustomerID Customer ID}' attribute is set. - * - * - * @return whether the value of the 'Customer ID' attribute is set. - * @see #unsetCustomerID() - * @see #getCustomerID() - * @see #setCustomerID(int) - * @generated - */ - boolean isSetCustomerID(); - -} // AnOrder diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/Customer.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/Customer.java deleted file mode 100644 index 5f6e71f153..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/Customer.java +++ /dev/null @@ -1,153 +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.customer; - -import java.util.List; - -/** - * - * A representation of the model object 'Customer'. - * - * - *

- * The following features are supported: - *

    - *
  • {@link org.apache.tuscany.das.rdb.test.customer.Customer#getID ID}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.Customer#getLastName Last Name}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.Customer#getAddress Address}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.Customer#getOrders Orders}
  • - *
- *

- * - * @generated - */ -public interface Customer -{ - /** - * Returns the value of the 'ID' attribute. - * - *

- * If the meaning of the 'ID' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'ID' attribute. - * @see #isSetID() - * @see #unsetID() - * @see #setID(int) - * @generated - */ - int getID(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getID ID}' attribute. - * - * - * @param value the new value of the 'ID' attribute. - * @see #isSetID() - * @see #unsetID() - * @see #getID() - * @generated - */ - void setID(int value); - - /** - * Unsets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getID ID}' attribute. - * - * - * @see #isSetID() - * @see #getID() - * @see #setID(int) - * @generated - */ - void unsetID(); - - /** - * Returns whether the value of the '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getID ID}' attribute is set. - * - * - * @return whether the value of the 'ID' attribute is set. - * @see #unsetID() - * @see #getID() - * @see #setID(int) - * @generated - */ - boolean isSetID(); - - /** - * Returns the value of the 'Last Name' attribute. - * - *

- * If the meaning of the 'Last Name' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Last Name' attribute. - * @see #setLastName(String) - * @generated - */ - String getLastName(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getLastName Last Name}' attribute. - * - * - * @param value the new value of the 'Last Name' attribute. - * @see #getLastName() - * @generated - */ - void setLastName(String value); - - /** - * Returns the value of the 'Address' attribute. - * - *

- * If the meaning of the 'Address' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Address' attribute. - * @see #setAddress(String) - * @generated - */ - String getAddress(); - - /** - * Sets the value of the '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getAddress Address}' attribute. - * - * - * @param value the new value of the 'Address' attribute. - * @see #getAddress() - * @generated - */ - void setAddress(String value); - - /** - * Returns the value of the 'Orders' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.customer.AnOrder}. - * - *

- * If the meaning of the 'Orders' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Orders' containment reference list. - * @generated - */ - List getOrders(); - -} // Customer diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/CustomerFactory.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/CustomerFactory.java deleted file mode 100644 index 67f8c2eca6..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/CustomerFactory.java +++ /dev/null @@ -1,64 +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.customer; - - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @generated - */ -public interface CustomerFactory -{ - /** - * The singleton instance of the factory. - * - * - * @generated - */ - CustomerFactory INSTANCE = org.apache.tuscany.das.rdb.test.customer.impl.CustomerFactoryImpl.eINSTANCE; - - /** - * Returns a new object of class 'An Order'. - * - * - * @return a new object of class 'An Order'. - * @generated - */ - AnOrder createAnOrder(); - - /** - * Returns a new object of class 'Customer'. - * - * - * @return a new object of class 'Customer'. - * @generated - */ - Customer createCustomer(); - - /** - * Returns a new object of class 'Data Graph Root'. - * - * - * @return a new object of class 'Data Graph Root'. - * @generated - */ - DataGraphRoot createDataGraphRoot(); - -} //CustomerFactory diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/DataGraphRoot.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/DataGraphRoot.java deleted file mode 100644 index eeb9d8a9bb..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/DataGraphRoot.java +++ /dev/null @@ -1,66 +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.customer; - -import java.util.List; - -/** - * - * A representation of the model object 'Data Graph Root'. - * - * - *

- * The following features are supported: - *

    - *
  • {@link org.apache.tuscany.das.rdb.test.customer.DataGraphRoot#getCustomers Customers}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.DataGraphRoot#getOrders Orders}
  • - *
- *

- * - * @generated - */ -public interface DataGraphRoot -{ - /** - * Returns the value of the 'Customers' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.customer.Customer}. - * - *

- * If the meaning of the 'Customers' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Customers' containment reference list. - * @generated - */ - List getCustomers(); - - /** - * Returns the value of the 'Orders' containment reference list. - * The list contents are of type {@link org.apache.tuscany.das.rdb.test.customer.AnOrder}. - * - *

- * If the meaning of the 'Orders' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Orders' containment reference list. - * @generated - */ - List getOrders(); - -} // DataGraphRoot diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/AnOrderImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/AnOrderImpl.java deleted file mode 100644 index c4117be1c7..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/AnOrderImpl.java +++ /dev/null @@ -1,461 +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.customer.impl; - -import org.apache.tuscany.das.rdb.test.customer.AnOrder; - -import org.apache.tuscany.sdo.impl.DataObjectImpl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -/** - * - * An implementation of the model object 'An Order'. - * - *

- * The following features are implemented: - *

    - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl#getID ID}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl#getProduct Product}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl#getQuantity Quantity}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl#getCustomerID Customer ID}
  • - *
- *

- * - * @generated - */ -public class AnOrderImpl extends DataObjectImpl implements AnOrder -{ - /** - * The default value of the '{@link #getID() ID}' attribute. - * - * - * @see #getID() - * @generated - * @ordered - */ - protected static final int ID_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getID() ID}' attribute. - * - * - * @see #getID() - * @generated - * @ordered - */ - protected int iD = ID_EDEFAULT; - - /** - * This is true if the ID attribute has been set. - * - * - * @generated - * @ordered - */ - protected boolean iDESet = false; - - /** - * The default value of the '{@link #getProduct() Product}' attribute. - * - * - * @see #getProduct() - * @generated - * @ordered - */ - protected static final String PRODUCT_EDEFAULT = null; - - /** - * The cached value of the '{@link #getProduct() Product}' attribute. - * - * - * @see #getProduct() - * @generated - * @ordered - */ - protected String product = PRODUCT_EDEFAULT; - - /** - * The default value of the '{@link #getQuantity() Quantity}' attribute. - * - * - * @see #getQuantity() - * @generated - * @ordered - */ - protected static final int QUANTITY_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getQuantity() Quantity}' attribute. - * - * - * @see #getQuantity() - * @generated - * @ordered - */ - protected int quantity = QUANTITY_EDEFAULT; - - /** - * This is true if the Quantity attribute has been set. - * - * - * @generated - * @ordered - */ - protected boolean quantityESet = false; - - /** - * The default value of the '{@link #getCustomerID() Customer ID}' attribute. - * - * - * @see #getCustomerID() - * @generated - * @ordered - */ - protected static final int CUSTOMER_ID_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getCustomerID() Customer ID}' attribute. - * - * - * @see #getCustomerID() - * @generated - * @ordered - */ - protected int customerID = CUSTOMER_ID_EDEFAULT; - - /** - * This is true if the Customer ID attribute has been set. - * - * - * @generated - * @ordered - */ - protected boolean customerIDESet = false; - - /** - * - * - * @generated - */ - protected AnOrderImpl() - { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() - { - return CustomerPackageImpl.Literals.AN_ORDER; - } - - /** - * - * - * @generated - */ - public int getID() - { - return iD; - } - - /** - * - * - * @generated - */ - public void setID(int newID) - { - int oldID = iD; - iD = newID; - boolean oldIDESet = iDESet; - iDESet = true; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CustomerPackageImpl.AN_ORDER__ID, oldID, iD, !oldIDESet)); - } - - /** - * - * - * @generated - */ - public void unsetID() - { - int oldID = iD; - boolean oldIDESet = iDESet; - iD = ID_EDEFAULT; - iDESet = false; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.UNSET, CustomerPackageImpl.AN_ORDER__ID, oldID, ID_EDEFAULT, oldIDESet)); - } - - /** - * - * - * @generated - */ - public boolean isSetID() - { - return iDESet; - } - - /** - * - * - * @generated - */ - public String getProduct() - { - return product; - } - - /** - * - * - * @generated - */ - public void setProduct(String newProduct) - { - String oldProduct = product; - product = newProduct; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CustomerPackageImpl.AN_ORDER__PRODUCT, oldProduct, product)); - } - - /** - * - * - * @generated - */ - public int getQuantity() - { - return quantity; - } - - /** - * - * - * @generated - */ - public void setQuantity(int newQuantity) - { - int oldQuantity = quantity; - quantity = newQuantity; - boolean oldQuantityESet = quantityESet; - quantityESet = true; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CustomerPackageImpl.AN_ORDER__QUANTITY, oldQuantity, quantity, !oldQuantityESet)); - } - - /** - * - * - * @generated - */ - public void unsetQuantity() - { - int oldQuantity = quantity; - boolean oldQuantityESet = quantityESet; - quantity = QUANTITY_EDEFAULT; - quantityESet = false; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.UNSET, CustomerPackageImpl.AN_ORDER__QUANTITY, oldQuantity, QUANTITY_EDEFAULT, oldQuantityESet)); - } - - /** - * - * - * @generated - */ - public boolean isSetQuantity() - { - return quantityESet; - } - - /** - * - * - * @generated - */ - public int getCustomerID() - { - return customerID; - } - - /** - * - * - * @generated - */ - public void setCustomerID(int newCustomerID) - { - int oldCustomerID = customerID; - customerID = newCustomerID; - boolean oldCustomerIDESet = customerIDESet; - customerIDESet = true; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CustomerPackageImpl.AN_ORDER__CUSTOMER_ID, oldCustomerID, customerID, !oldCustomerIDESet)); - } - - /** - * - * - * @generated - */ - public void unsetCustomerID() - { - int oldCustomerID = customerID; - boolean oldCustomerIDESet = customerIDESet; - customerID = CUSTOMER_ID_EDEFAULT; - customerIDESet = false; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.UNSET, CustomerPackageImpl.AN_ORDER__CUSTOMER_ID, oldCustomerID, CUSTOMER_ID_EDEFAULT, oldCustomerIDESet)); - } - - /** - * - * - * @generated - */ - public boolean isSetCustomerID() - { - return customerIDESet; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case CustomerPackageImpl.AN_ORDER__ID: - return new Integer(getID()); - case CustomerPackageImpl.AN_ORDER__PRODUCT: - return getProduct(); - case CustomerPackageImpl.AN_ORDER__QUANTITY: - return new Integer(getQuantity()); - case CustomerPackageImpl.AN_ORDER__CUSTOMER_ID: - return new Integer(getCustomerID()); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case CustomerPackageImpl.AN_ORDER__ID: - setID(((Integer)newValue).intValue()); - return; - case CustomerPackageImpl.AN_ORDER__PRODUCT: - setProduct((String)newValue); - return; - case CustomerPackageImpl.AN_ORDER__QUANTITY: - setQuantity(((Integer)newValue).intValue()); - return; - case CustomerPackageImpl.AN_ORDER__CUSTOMER_ID: - setCustomerID(((Integer)newValue).intValue()); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) - { - switch (featureID) - { - case CustomerPackageImpl.AN_ORDER__ID: - unsetID(); - return; - case CustomerPackageImpl.AN_ORDER__PRODUCT: - setProduct(PRODUCT_EDEFAULT); - return; - case CustomerPackageImpl.AN_ORDER__QUANTITY: - unsetQuantity(); - return; - case CustomerPackageImpl.AN_ORDER__CUSTOMER_ID: - unsetCustomerID(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case CustomerPackageImpl.AN_ORDER__ID: - return isSetID(); - case CustomerPackageImpl.AN_ORDER__PRODUCT: - return PRODUCT_EDEFAULT == null ? product != null : !PRODUCT_EDEFAULT.equals(product); - case CustomerPackageImpl.AN_ORDER__QUANTITY: - return isSetQuantity(); - case CustomerPackageImpl.AN_ORDER__CUSTOMER_ID: - return isSetCustomerID(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (iD: "); - if (iDESet) result.append(iD); else result.append(""); - result.append(", product: "); - result.append(product); - result.append(", quantity: "); - if (quantityESet) result.append(quantity); else result.append(""); - result.append(", customerID: "); - if (customerIDESet) result.append(customerID); else result.append(""); - result.append(')'); - return result.toString(); - } - -} //AnOrderImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerFactoryImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerFactoryImpl.java deleted file mode 100644 index 00b1ede09c..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerFactoryImpl.java +++ /dev/null @@ -1,150 +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.customer.impl; - -import org.apache.tuscany.das.rdb.test.customer.*; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class CustomerFactoryImpl extends EFactoryImpl implements CustomerFactory -{ - /** - * The singleton instance of the factory. - * - * - * @generated - */ - public static final CustomerFactoryImpl eINSTANCE = init(); - - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static CustomerFactoryImpl init() - { - try - { - CustomerFactoryImpl theCustomerFactory = (CustomerFactoryImpl)EPackage.Registry.INSTANCE.getEFactory("http:///org.apache.tuscany.das.rdb.test/customer.xsd"); - if (theCustomerFactory != null) - { - return theCustomerFactory; - } - } - catch (Exception exception) - { - EcorePlugin.INSTANCE.log(exception); - } - return new CustomerFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public CustomerFactoryImpl() - { - super(); - } - - /** - * - * - * @generated - */ - public EObject create(EClass eClass) - { - switch (eClass.getClassifierID()) - { - case CustomerPackageImpl.AN_ORDER: return (EObject)createAnOrder(); - case CustomerPackageImpl.CUSTOMER: return (EObject)createCustomer(); - case CustomerPackageImpl.DATA_GRAPH_ROOT: return (EObject)createDataGraphRoot(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public AnOrder createAnOrder() - { - AnOrderImpl anOrder = new AnOrderImpl(); - return anOrder; - } - - /** - * - * - * @generated - */ - public Customer createCustomer() - { - CustomerImpl customer = new CustomerImpl(); - return customer; - } - - /** - * - * - * @generated - */ - public DataGraphRoot createDataGraphRoot() - { - DataGraphRootImpl dataGraphRoot = new DataGraphRootImpl(); - return dataGraphRoot; - } - - /** - * - * - * @generated - */ - public CustomerPackageImpl getCustomerPackageImpl() - { - return (CustomerPackageImpl)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - public static CustomerPackageImpl getPackage() - { - return CustomerPackageImpl.eINSTANCE; - } - -} //CustomerFactoryImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerImpl.java deleted file mode 100644 index 02be07ac41..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerImpl.java +++ /dev/null @@ -1,395 +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.customer.impl; - -import java.util.Collection; -import java.util.List; - -import org.apache.tuscany.das.rdb.test.customer.AnOrder; -import org.apache.tuscany.das.rdb.test.customer.Customer; - -import org.apache.tuscany.sdo.impl.DataObjectImpl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Customer'. - * - *

- * The following features are implemented: - *

    - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl#getID ID}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl#getLastName Last Name}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl#getAddress Address}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl#getOrders Orders}
  • - *
- *

- * - * @generated - */ -public class CustomerImpl extends DataObjectImpl implements Customer -{ - /** - * The default value of the '{@link #getID() ID}' attribute. - * - * - * @see #getID() - * @generated - * @ordered - */ - protected static final int ID_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getID() ID}' attribute. - * - * - * @see #getID() - * @generated - * @ordered - */ - protected int iD = ID_EDEFAULT; - - /** - * This is true if the ID attribute has been set. - * - * - * @generated - * @ordered - */ - protected boolean iDESet = false; - - /** - * The default value of the '{@link #getLastName() Last Name}' attribute. - * - * - * @see #getLastName() - * @generated - * @ordered - */ - protected static final String LAST_NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getLastName() Last Name}' attribute. - * - * - * @see #getLastName() - * @generated - * @ordered - */ - protected String lastName = LAST_NAME_EDEFAULT; - - /** - * The default value of the '{@link #getAddress() Address}' attribute. - * - * - * @see #getAddress() - * @generated - * @ordered - */ - protected static final String ADDRESS_EDEFAULT = null; - - /** - * The cached value of the '{@link #getAddress() Address}' attribute. - * - * - * @see #getAddress() - * @generated - * @ordered - */ - protected String address = ADDRESS_EDEFAULT; - - /** - * The cached value of the '{@link #getOrders() Orders}' containment reference list. - * - * - * @see #getOrders() - * @generated - * @ordered - */ - protected EList orders = null; - - /** - * - * - * @generated - */ - protected CustomerImpl() - { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() - { - return CustomerPackageImpl.Literals.CUSTOMER; - } - - /** - * - * - * @generated - */ - public int getID() - { - return iD; - } - - /** - * - * - * @generated - */ - public void setID(int newID) - { - int oldID = iD; - iD = newID; - boolean oldIDESet = iDESet; - iDESet = true; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CustomerPackageImpl.CUSTOMER__ID, oldID, iD, !oldIDESet)); - } - - /** - * - * - * @generated - */ - public void unsetID() - { - int oldID = iD; - boolean oldIDESet = iDESet; - iD = ID_EDEFAULT; - iDESet = false; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.UNSET, CustomerPackageImpl.CUSTOMER__ID, oldID, ID_EDEFAULT, oldIDESet)); - } - - /** - * - * - * @generated - */ - public boolean isSetID() - { - return iDESet; - } - - /** - * - * - * @generated - */ - public String getLastName() - { - return lastName; - } - - /** - * - * - * @generated - */ - public void setLastName(String newLastName) - { - String oldLastName = lastName; - lastName = newLastName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CustomerPackageImpl.CUSTOMER__LAST_NAME, oldLastName, lastName)); - } - - /** - * - * - * @generated - */ - public String getAddress() - { - return address; - } - - /** - * - * - * @generated - */ - public void setAddress(String newAddress) - { - String oldAddress = address; - address = newAddress; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, CustomerPackageImpl.CUSTOMER__ADDRESS, oldAddress, address)); - } - - /** - * - * - * @generated - */ - public List getOrders() - { - if (orders == null) - { - orders = new EObjectContainmentEList(AnOrder.class, this, CustomerPackageImpl.CUSTOMER__ORDERS); - } - return orders; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case CustomerPackageImpl.CUSTOMER__ORDERS: - return ((InternalEList)getOrders()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case CustomerPackageImpl.CUSTOMER__ID: - return new Integer(getID()); - case CustomerPackageImpl.CUSTOMER__LAST_NAME: - return getLastName(); - case CustomerPackageImpl.CUSTOMER__ADDRESS: - return getAddress(); - case CustomerPackageImpl.CUSTOMER__ORDERS: - return getOrders(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case CustomerPackageImpl.CUSTOMER__ID: - setID(((Integer)newValue).intValue()); - return; - case CustomerPackageImpl.CUSTOMER__LAST_NAME: - setLastName((String)newValue); - return; - case CustomerPackageImpl.CUSTOMER__ADDRESS: - setAddress((String)newValue); - return; - case CustomerPackageImpl.CUSTOMER__ORDERS: - getOrders().clear(); - getOrders().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) - { - switch (featureID) - { - case CustomerPackageImpl.CUSTOMER__ID: - unsetID(); - return; - case CustomerPackageImpl.CUSTOMER__LAST_NAME: - setLastName(LAST_NAME_EDEFAULT); - return; - case CustomerPackageImpl.CUSTOMER__ADDRESS: - setAddress(ADDRESS_EDEFAULT); - return; - case CustomerPackageImpl.CUSTOMER__ORDERS: - getOrders().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case CustomerPackageImpl.CUSTOMER__ID: - return isSetID(); - case CustomerPackageImpl.CUSTOMER__LAST_NAME: - return LAST_NAME_EDEFAULT == null ? lastName != null : !LAST_NAME_EDEFAULT.equals(lastName); - case CustomerPackageImpl.CUSTOMER__ADDRESS: - return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address); - case CustomerPackageImpl.CUSTOMER__ORDERS: - return orders != null && !orders.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (iD: "); - if (iDESet) result.append(iD); else result.append(""); - result.append(", lastName: "); - result.append(lastName); - result.append(", address: "); - result.append(address); - result.append(')'); - return result.toString(); - } - -} //CustomerImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerPackageImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerPackageImpl.java deleted file mode 100644 index ca33c06814..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/CustomerPackageImpl.java +++ /dev/null @@ -1,847 +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.customer.impl; - -import org.apache.tuscany.das.rdb.test.customer.AnOrder; -import org.apache.tuscany.das.rdb.test.customer.Customer; -import org.apache.tuscany.das.rdb.test.customer.CustomerFactory; -import org.apache.tuscany.das.rdb.test.customer.DataGraphRoot; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EFactory; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import org.eclipse.emf.ecore.xml.type.XMLTypePackage; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @see org.apache.tuscany.das.rdb.test.customer.CustomerFactory - * @generated - */ -public class CustomerPackageImpl extends EPackageImpl -{ - /** - * The package name. - * - * - * @generated - */ - public static final String eNAME = "customer"; - - /** - * The package namespace URI. - * - * - * @generated - */ - public static final String eNS_URI = "http:///org.apache.tuscany.das.rdb.test/customer.xsd"; - - /** - * The package namespace name. - * - * - * @generated - */ - public static final String eNS_PREFIX = "customer"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - public static final CustomerPackageImpl eINSTANCE = org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl.init(); - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl An Order}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl#getAnOrder() - * @generated - */ - public static final int AN_ORDER = 0; - - /** - * The feature id for the 'ID' attribute. - * - * - * @generated - * @ordered - */ - public static final int AN_ORDER__ID = 0; - - /** - * The feature id for the 'Product' attribute. - * - * - * @generated - * @ordered - */ - public static final int AN_ORDER__PRODUCT = 1; - - /** - * The feature id for the 'Quantity' attribute. - * - * - * @generated - * @ordered - */ - public static final int AN_ORDER__QUANTITY = 2; - - /** - * The feature id for the 'Customer ID' attribute. - * - * - * @generated - * @ordered - */ - public static final int AN_ORDER__CUSTOMER_ID = 3; - - /** - * The number of structural features of the 'An Order' class. - * - * - * @generated - * @ordered - */ - public static final int AN_ORDER_FEATURE_COUNT = 4; - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl Customer}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl#getCustomer() - * @generated - */ - public static final int CUSTOMER = 1; - - /** - * The feature id for the 'ID' attribute. - * - * - * @generated - * @ordered - */ - public static final int CUSTOMER__ID = 0; - - /** - * The feature id for the 'Last Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int CUSTOMER__LAST_NAME = 1; - - /** - * The feature id for the 'Address' attribute. - * - * - * @generated - * @ordered - */ - public static final int CUSTOMER__ADDRESS = 2; - - /** - * The feature id for the 'Orders' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int CUSTOMER__ORDERS = 3; - - /** - * The number of structural features of the 'Customer' class. - * - * - * @generated - * @ordered - */ - public static final int CUSTOMER_FEATURE_COUNT = 4; - - /** - * The meta object id for the '{@link org.apache.tuscany.das.rdb.test.customer.impl.DataGraphRootImpl Data Graph Root}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.customer.impl.DataGraphRootImpl - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl#getDataGraphRoot() - * @generated - */ - public static final int DATA_GRAPH_ROOT = 2; - - /** - * The feature id for the 'Customers' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DATA_GRAPH_ROOT__CUSTOMERS = 0; - - /** - * The feature id for the 'Orders' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DATA_GRAPH_ROOT__ORDERS = 1; - - /** - * The number of structural features of the 'Data Graph Root' class. - * - * - * @generated - * @ordered - */ - public static final int DATA_GRAPH_ROOT_FEATURE_COUNT = 2; - - /** - * - * - * @generated - */ - private EClass anOrderEClass = null; - - /** - * - * - * @generated - */ - private EClass customerEClass = null; - - /** - * - * - * @generated - */ - private EClass dataGraphRootEClass = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl#eNS_URI - * @see #init() - * @generated - */ - private CustomerPackageImpl() - { - super(eNS_URI, ((EFactory)CustomerFactory.INSTANCE)); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this - * model, and for any others upon which it depends. Simple - * dependencies are satisfied by calling this method on all - * dependent packages before doing anything else. This method drives - * initialization for interdependent packages directly, in parallel - * with this package, itself. - *

Of this package and its interdependencies, all packages which - * have not yet been registered by their URI values are first created - * and registered. The packages are then initialized in two steps: - * meta-model objects for all of the packages are created before any - * are initialized, since one package's meta-model objects may refer to - * those of another. - *

Invocation of this method will not affect any packages that have - * already been initialized. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static CustomerPackageImpl init() - { - if (isInited) return (CustomerPackageImpl)EPackage.Registry.INSTANCE.getEPackage(CustomerPackageImpl.eNS_URI); - - // Obtain or create and register package - CustomerPackageImpl theCustomerPackageImpl = (CustomerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof CustomerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new CustomerPackageImpl()); - - isInited = true; - - // Initialize simple dependencies - XMLTypePackage.eINSTANCE.eClass(); - - // Create package meta-data objects - theCustomerPackageImpl.createPackageContents(); - - // Initialize created meta-data - theCustomerPackageImpl.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theCustomerPackageImpl.freeze(); - - return theCustomerPackageImpl; - } - - - /** - * Returns the meta object for class '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder An Order}'. - * - * - * @return the meta object for class 'An Order'. - * @see org.apache.tuscany.das.rdb.test.customer.AnOrder - * @generated - */ - public EClass getAnOrder() - { - return anOrderEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getID ID}'. - * - * - * @return the meta object for the attribute 'ID'. - * @see org.apache.tuscany.das.rdb.test.customer.AnOrder#getID() - * @see #getAnOrder() - * @generated - */ - public EAttribute getAnOrder_ID() - { - return (EAttribute)anOrderEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getProduct Product}'. - * - * - * @return the meta object for the attribute 'Product'. - * @see org.apache.tuscany.das.rdb.test.customer.AnOrder#getProduct() - * @see #getAnOrder() - * @generated - */ - public EAttribute getAnOrder_Product() - { - return (EAttribute)anOrderEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getQuantity Quantity}'. - * - * - * @return the meta object for the attribute 'Quantity'. - * @see org.apache.tuscany.das.rdb.test.customer.AnOrder#getQuantity() - * @see #getAnOrder() - * @generated - */ - public EAttribute getAnOrder_Quantity() - { - return (EAttribute)anOrderEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.customer.AnOrder#getCustomerID Customer ID}'. - * - * - * @return the meta object for the attribute 'Customer ID'. - * @see org.apache.tuscany.das.rdb.test.customer.AnOrder#getCustomerID() - * @see #getAnOrder() - * @generated - */ - public EAttribute getAnOrder_CustomerID() - { - return (EAttribute)anOrderEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for class '{@link org.apache.tuscany.das.rdb.test.customer.Customer Customer}'. - * - * - * @return the meta object for class 'Customer'. - * @see org.apache.tuscany.das.rdb.test.customer.Customer - * @generated - */ - public EClass getCustomer() - { - return customerEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getID ID}'. - * - * - * @return the meta object for the attribute 'ID'. - * @see org.apache.tuscany.das.rdb.test.customer.Customer#getID() - * @see #getCustomer() - * @generated - */ - public EAttribute getCustomer_ID() - { - return (EAttribute)customerEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getLastName Last Name}'. - * - * - * @return the meta object for the attribute 'Last Name'. - * @see org.apache.tuscany.das.rdb.test.customer.Customer#getLastName() - * @see #getCustomer() - * @generated - */ - public EAttribute getCustomer_LastName() - { - return (EAttribute)customerEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getAddress Address}'. - * - * - * @return the meta object for the attribute 'Address'. - * @see org.apache.tuscany.das.rdb.test.customer.Customer#getAddress() - * @see #getCustomer() - * @generated - */ - public EAttribute getCustomer_Address() - { - return (EAttribute)customerEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.customer.Customer#getOrders Orders}'. - * - * - * @return the meta object for the containment reference list 'Orders'. - * @see org.apache.tuscany.das.rdb.test.customer.Customer#getOrders() - * @see #getCustomer() - * @generated - */ - public EReference getCustomer_Orders() - { - return (EReference)customerEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for class '{@link org.apache.tuscany.das.rdb.test.customer.DataGraphRoot Data Graph Root}'. - * - * - * @return the meta object for class 'Data Graph Root'. - * @see org.apache.tuscany.das.rdb.test.customer.DataGraphRoot - * @generated - */ - public EClass getDataGraphRoot() - { - return dataGraphRootEClass; - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.customer.DataGraphRoot#getCustomers Customers}'. - * - * - * @return the meta object for the containment reference list 'Customers'. - * @see org.apache.tuscany.das.rdb.test.customer.DataGraphRoot#getCustomers() - * @see #getDataGraphRoot() - * @generated - */ - public EReference getDataGraphRoot_Customers() - { - return (EReference)dataGraphRootEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.tuscany.das.rdb.test.customer.DataGraphRoot#getOrders Orders}'. - * - * - * @return the meta object for the containment reference list 'Orders'. - * @see org.apache.tuscany.das.rdb.test.customer.DataGraphRoot#getOrders() - * @see #getDataGraphRoot() - * @generated - */ - public EReference getDataGraphRoot_Orders() - { - return (EReference)dataGraphRootEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - public CustomerFactory getCustomerFactory() - { - return (CustomerFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() - { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - anOrderEClass = createEClass(AN_ORDER); - createEAttribute(anOrderEClass, AN_ORDER__ID); - createEAttribute(anOrderEClass, AN_ORDER__PRODUCT); - createEAttribute(anOrderEClass, AN_ORDER__QUANTITY); - createEAttribute(anOrderEClass, AN_ORDER__CUSTOMER_ID); - - customerEClass = createEClass(CUSTOMER); - createEAttribute(customerEClass, CUSTOMER__ID); - createEAttribute(customerEClass, CUSTOMER__LAST_NAME); - createEAttribute(customerEClass, CUSTOMER__ADDRESS); - createEReference(customerEClass, CUSTOMER__ORDERS); - - dataGraphRootEClass = createEClass(DATA_GRAPH_ROOT); - createEReference(dataGraphRootEClass, DATA_GRAPH_ROOT__CUSTOMERS); - createEReference(dataGraphRootEClass, DATA_GRAPH_ROOT__ORDERS); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() - { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Obtain other dependent packages - XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); - - // Add supertypes to classes - - // Initialize classes and features; add operations and parameters - initEClass(anOrderEClass, AnOrder.class, "AnOrder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getAnOrder_ID(), theXMLTypePackage.getInt(), "iD", null, 1, 1, AnOrder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getAnOrder_Product(), theXMLTypePackage.getString(), "product", null, 1, 1, AnOrder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getAnOrder_Quantity(), theXMLTypePackage.getInt(), "quantity", null, 1, 1, AnOrder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getAnOrder_CustomerID(), theXMLTypePackage.getInt(), "customerID", null, 1, 1, AnOrder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(customerEClass, Customer.class, "Customer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getCustomer_ID(), theXMLTypePackage.getInt(), "iD", null, 1, 1, Customer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getCustomer_LastName(), theXMLTypePackage.getString(), "lastName", null, 1, 1, Customer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getCustomer_Address(), theXMLTypePackage.getString(), "address", null, 1, 1, Customer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getCustomer_Orders(), this.getAnOrder(), null, "orders", null, 1, -1, Customer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(dataGraphRootEClass, DataGraphRoot.class, "DataGraphRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getDataGraphRoot_Customers(), this.getCustomer(), null, "customers", null, 0, -1, DataGraphRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDataGraphRoot_Orders(), this.getAnOrder(), null, "orders", null, 0, -1, DataGraphRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - // Create resource - createResource(eNS_URI); - - // Create annotations - // http:///org/eclipse/emf/ecore/util/ExtendedMetaData - createExtendedMetaDataAnnotations(); - } - - /** - * Initializes the annotations for http:///org/eclipse/emf/ecore/util/ExtendedMetaData. - * - * - * @generated - */ - protected void createExtendedMetaDataAnnotations() - { - String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; - addAnnotation - (anOrderEClass, - source, - new String[] - { - "name", "AnOrder", - "kind", "elementOnly" - }); - addAnnotation - (getAnOrder_ID(), - source, - new String[] - { - "kind", "element", - "name", "ID" - }); - addAnnotation - (getAnOrder_Product(), - source, - new String[] - { - "kind", "element", - "name", "Product" - }); - addAnnotation - (getAnOrder_Quantity(), - source, - new String[] - { - "kind", "element", - "name", "Quantity" - }); - addAnnotation - (getAnOrder_CustomerID(), - source, - new String[] - { - "kind", "element", - "name", "Customer_ID" - }); - addAnnotation - (customerEClass, - source, - new String[] - { - "name", "Customer", - "kind", "elementOnly" - }); - addAnnotation - (getCustomer_ID(), - source, - new String[] - { - "kind", "element", - "name", "ID" - }); - addAnnotation - (getCustomer_LastName(), - source, - new String[] - { - "kind", "element", - "name", "lastName" - }); - addAnnotation - (getCustomer_Address(), - source, - new String[] - { - "kind", "element", - "name", "address" - }); - addAnnotation - (getCustomer_Orders(), - source, - new String[] - { - "kind", "element", - "name", "orders" - }); - addAnnotation - (dataGraphRootEClass, - source, - new String[] - { - "name", "DataGraphRoot", - "kind", "elementOnly" - }); - addAnnotation - (getDataGraphRoot_Customers(), - source, - new String[] - { - "kind", "element", - "name", "customers" - }); - addAnnotation - (getDataGraphRoot_Orders(), - source, - new String[] - { - "kind", "element", - "name", "orders" - }); - } - - /** - * - * Defines literals for the meta objects that represent - *

    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @generated - */ - public interface Literals - { - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl An Order}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.customer.impl.AnOrderImpl - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl#getAnOrder() - * @generated - */ - public static final EClass AN_ORDER = eINSTANCE.getAnOrder(); - - /** - * The meta object literal for the 'ID' attribute feature. - * - * - * @generated - */ - public static final EAttribute AN_ORDER__ID = eINSTANCE.getAnOrder_ID(); - - /** - * The meta object literal for the 'Product' attribute feature. - * - * - * @generated - */ - public static final EAttribute AN_ORDER__PRODUCT = eINSTANCE.getAnOrder_Product(); - - /** - * The meta object literal for the 'Quantity' attribute feature. - * - * - * @generated - */ - public static final EAttribute AN_ORDER__QUANTITY = eINSTANCE.getAnOrder_Quantity(); - - /** - * The meta object literal for the 'Customer ID' attribute feature. - * - * - * @generated - */ - public static final EAttribute AN_ORDER__CUSTOMER_ID = eINSTANCE.getAnOrder_CustomerID(); - - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl Customer}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerImpl - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl#getCustomer() - * @generated - */ - public static final EClass CUSTOMER = eINSTANCE.getCustomer(); - - /** - * The meta object literal for the 'ID' attribute feature. - * - * - * @generated - */ - public static final EAttribute CUSTOMER__ID = eINSTANCE.getCustomer_ID(); - - /** - * The meta object literal for the 'Last Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute CUSTOMER__LAST_NAME = eINSTANCE.getCustomer_LastName(); - - /** - * The meta object literal for the 'Address' attribute feature. - * - * - * @generated - */ - public static final EAttribute CUSTOMER__ADDRESS = eINSTANCE.getCustomer_Address(); - - /** - * The meta object literal for the 'Orders' containment reference list feature. - * - * - * @generated - */ - public static final EReference CUSTOMER__ORDERS = eINSTANCE.getCustomer_Orders(); - - /** - * The meta object literal for the '{@link org.apache.tuscany.das.rdb.test.customer.impl.DataGraphRootImpl Data Graph Root}' class. - * - * - * @see org.apache.tuscany.das.rdb.test.customer.impl.DataGraphRootImpl - * @see org.apache.tuscany.das.rdb.test.customer.impl.CustomerPackageImpl#getDataGraphRoot() - * @generated - */ - public static final EClass DATA_GRAPH_ROOT = eINSTANCE.getDataGraphRoot(); - - /** - * The meta object literal for the 'Customers' containment reference list feature. - * - * - * @generated - */ - public static final EReference DATA_GRAPH_ROOT__CUSTOMERS = eINSTANCE.getDataGraphRoot_Customers(); - - /** - * The meta object literal for the 'Orders' containment reference list feature. - * - * - * @generated - */ - public static final EReference DATA_GRAPH_ROOT__ORDERS = eINSTANCE.getDataGraphRoot_Orders(); - - } - -} //CustomerPackageImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/DataGraphRootImpl.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/DataGraphRootImpl.java deleted file mode 100644 index 30fc8181a2..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/customer/impl/DataGraphRootImpl.java +++ /dev/null @@ -1,213 +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.customer.impl; - -import java.util.Collection; -import java.util.List; - -import org.apache.tuscany.das.rdb.test.customer.AnOrder; -import org.apache.tuscany.das.rdb.test.customer.Customer; -import org.apache.tuscany.das.rdb.test.customer.DataGraphRoot; - -import org.apache.tuscany.sdo.impl.DataObjectImpl; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Data Graph Root'. - * - *

- * The following features are implemented: - *

    - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.DataGraphRootImpl#getCustomers Customers}
  • - *
  • {@link org.apache.tuscany.das.rdb.test.customer.impl.DataGraphRootImpl#getOrders Orders}
  • - *
- *

- * - * @generated - */ -public class DataGraphRootImpl extends DataObjectImpl implements DataGraphRoot -{ - /** - * The cached value of the '{@link #getCustomers() Customers}' containment reference list. - * - * - * @see #getCustomers() - * @generated - * @ordered - */ - protected EList customers = null; - - /** - * The cached value of the '{@link #getOrders() Orders}' containment reference list. - * - * - * @see #getOrders() - * @generated - * @ordered - */ - protected EList orders = null; - - /** - * - * - * @generated - */ - protected DataGraphRootImpl() - { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() - { - return CustomerPackageImpl.Literals.DATA_GRAPH_ROOT; - } - - /** - * - * - * @generated - */ - public List getCustomers() - { - if (customers == null) - { - customers = new EObjectContainmentEList(Customer.class, this, CustomerPackageImpl.DATA_GRAPH_ROOT__CUSTOMERS); - } - return customers; - } - - /** - * - * - * @generated - */ - public List getOrders() - { - if (orders == null) - { - orders = new EObjectContainmentEList(AnOrder.class, this, CustomerPackageImpl.DATA_GRAPH_ROOT__ORDERS); - } - return orders; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case CustomerPackageImpl.DATA_GRAPH_ROOT__CUSTOMERS: - return ((InternalEList)getCustomers()).basicRemove(otherEnd, msgs); - case CustomerPackageImpl.DATA_GRAPH_ROOT__ORDERS: - return ((InternalEList)getOrders()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case CustomerPackageImpl.DATA_GRAPH_ROOT__CUSTOMERS: - return getCustomers(); - case CustomerPackageImpl.DATA_GRAPH_ROOT__ORDERS: - return getOrders(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case CustomerPackageImpl.DATA_GRAPH_ROOT__CUSTOMERS: - getCustomers().clear(); - getCustomers().addAll((Collection)newValue); - return; - case CustomerPackageImpl.DATA_GRAPH_ROOT__ORDERS: - getOrders().clear(); - getOrders().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) - { - switch (featureID) - { - case CustomerPackageImpl.DATA_GRAPH_ROOT__CUSTOMERS: - getCustomers().clear(); - return; - case CustomerPackageImpl.DATA_GRAPH_ROOT__ORDERS: - getOrders().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case CustomerPackageImpl.DATA_GRAPH_ROOT__CUSTOMERS: - return customers != null && !customers.isEmpty(); - case CustomerPackageImpl.DATA_GRAPH_ROOT__ORDERS: - return orders != null && !orders.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //DataGraphRootImpl diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/BookData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/BookData.java deleted file mode 100644 index e696c8dd6b..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/BookData.java +++ /dev/null @@ -1,45 +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.data; - -import java.sql.Connection; -import java.sql.Types; - -import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns; - - -public class BookData extends TestDataWithExplicitColumns { - - //CREATE TABLE BOOK (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(50), AUTHOR VARCHAR(30), QUANTITY INT, OCC INTEGER) - - private static int[] bookTypes = {Types.INTEGER, Types.VARCHAR, Types.VARCHAR, Types.INTEGER, Types.INTEGER}; - - private static Object[][] bookData = { - { new Integer(1), "The Brothers Karamazov", "Fyodor Dostoevsky", new Integer(5), new Integer(17) }, - { new Integer(2), "Cat in the Hat", "Doctor Seuss", new Integer(10), new Integer(1) }}; - - private static String[] bookColumns = { "BOOK_ID", "NAME", "AUTHOR", "QUANTITY", "OCC"}; - - public BookData(Connection connection) { - super(connection, bookData, bookColumns, bookTypes); - } - - public String getTableName() { - return "BOOK"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CityData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CityData.java deleted file mode 100644 index 0ebbd6c5af..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CityData.java +++ /dev/null @@ -1,54 +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.data; - -import java.sql.Connection; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.test.framework.TestData; - - -public class CityData extends TestData { - - private static Object[][] cityData = { - {new Integer(1), "Lizard Lick", "1"}, - {new Integer(2), "Morrisville", "1"}, - {new Integer(3), "Breckenridge", "2"}, - {new Integer(4), "Barstow", "3"}, - {new Integer(5), "Sacramento", "3"} - - }; - - public CityData(Connection c) { - super(c, cityData); - } - - public String getTableName() { - return "CITIES"; - } - - public void doDeletes() throws SQLException { - deleteRowsFromTable(); - - } - - public void doInserts() throws SQLException { - insertRows(); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyData.java deleted file mode 100644 index 9c49004ba5..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyData.java +++ /dev/null @@ -1,45 +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.data; - -import java.sql.Connection; -import java.sql.Types; - -import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns; - - -public class CompanyData extends TestDataWithExplicitColumns { - - //CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY ,NAME VARCHAR(30)) - - private static int[] columnTypes = {Types.VARCHAR}; - - private static Object[][] companyData = { { "ACME Publishing" }, - { "Do-rite plumbing" }, - { "MegaCorp" } }; - - private static String[] companyColumns = { "NAME" }; - - public CompanyData(Connection connection) { - super(connection, companyData, companyColumns, columnTypes); - } - - public String getTableName() { - return "COMPANY"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyDeptData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyDeptData.java deleted file mode 100644 index 66d0c25369..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyDeptData.java +++ /dev/null @@ -1,42 +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.data; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.test.framework.RelationshipData; - - -public class CompanyDeptData extends RelationshipData { - - public static Object[][] data = { - {"MegaCorp", "Advanced Technologies"} - }; - - public CompanyDeptData(Connection c) { - super(c, data); - } - - protected String getParentRetrievalStatement() { - return "select id from company where name = ?"; - } - - protected String getChildUpdateStatement() { - return "update department set companyid = ? where department.name = ?"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyEmpData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyEmpData.java deleted file mode 100644 index 300bf57260..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CompanyEmpData.java +++ /dev/null @@ -1,44 +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.data; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.test.framework.RelationshipData; - - -public class CompanyEmpData extends RelationshipData { - - public static Object[][] data = { - {"Mary Smith", "ACME Publishing" }, - {"Jane Doe", "Do-rite plumbing"}, - {"Al Smith", "MegaCorp"}}; - - public CompanyEmpData(Connection c) { - super(c, data); - } - - protected String getParentRetrievalStatement() { - return "select employee.id from employee where employee.name = ?"; - } - - protected String getChildUpdateStatement() { - return "update company set company.eotmid = ? where company.name = ?"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CustomerData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CustomerData.java deleted file mode 100644 index 149bcfc71b..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/CustomerData.java +++ /dev/null @@ -1,45 +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.data; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.test.framework.TestData; - - -public class CustomerData extends TestData { - - private static Object[][] customerData = { - {new Integer(1), "Williams", "1212 foobar lane"}, - {new Integer(2), "Daniel", "156 Brentfield Loop"}, - {new Integer(3), "Williams", "456 penny lane"}, - {new Integer(4), "Williams", "5000 pineville"}, - {new Integer(5), "Williams", "100000 firefly lane"} - }; - - public CustomerData(Connection connection) { - super(connection, customerData); - } - - - public String getTableName() { - return "CUSTOMER"; - } - - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepEmpData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepEmpData.java deleted file mode 100644 index fbd9cf7cab..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepEmpData.java +++ /dev/null @@ -1,45 +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.data; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.test.framework.RelationshipData; - - -public class DepEmpData extends RelationshipData { - - private static Object[][] data = { - {"Advanced Technologies", "John Jones"}, - {"Advanced Technologies", "Jane Doe"}, - {"Advanced Technologies", "Al Smith"} - }; - - - public DepEmpData(Connection c) { - super(c, data); - } - - protected String getParentRetrievalStatement() { - return "select department.id from department where department.name = ?"; - } - - protected String getChildUpdateStatement() { - return "update employee set employee.departmentid = ? where employee.name = ?"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepartmentData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepartmentData.java deleted file mode 100644 index d3c10affdd..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DepartmentData.java +++ /dev/null @@ -1,41 +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.data; - -import java.sql.Connection; -import java.sql.Types; - -import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns; - - -public class DepartmentData extends TestDataWithExplicitColumns { - - private static int[] columnTypes = {Types.VARCHAR, Types.VARCHAR, Types.VARCHAR}; - - private static Object[][] deptData = { { "Advanced Technologies", "NY", "123" } }; - - private static String[] deptColumns = { "NAME", "LOCATION", "NUMBER" }; - - public DepartmentData(Connection connection) { - super(connection, deptData, deptColumns, columnTypes); - } - - public String getTableName() { - return "DEPARTMENT"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/EmployeeData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/EmployeeData.java deleted file mode 100644 index f9dffc9360..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/EmployeeData.java +++ /dev/null @@ -1,45 +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.data; - -import java.sql.Connection; -import java.sql.Types; - -import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns; - - -public class EmployeeData extends TestDataWithExplicitColumns { - - private static int[] columnTypes = {Types.VARCHAR, Types.VARCHAR, Types.SMALLINT}; - - private static Object[][] employeeData = { - { "John Jones", "E0001", new Boolean(false) }, - { "Mary Smith", "E0002", new Boolean(true)}, - { "Jane Doe", "E0003", new Boolean(false)}, - { "Al Smith", "E0004", new Boolean(true) } }; - - private static String[] employeeColumns = { "NAME", "SN", "MANAGER" }; - - public EmployeeData(Connection connection) { - super(connection, employeeData, employeeColumns, columnTypes); - } - - public String getTableName() { - return "EMPLOYEE"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderData.java deleted file mode 100644 index e6a52204f8..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderData.java +++ /dev/null @@ -1,42 +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.data; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.test.framework.TestData; - - -public class OrderData extends TestData { - - - public static Object[][] orderData = { - {new Integer(1), "recombobulator", new Integer(47), new Integer(1)}, - {new Integer(2), "wrench", new Integer(17), new Integer(3)}, - {new Integer(3), "pliers", new Integer(500), new Integer(1)}, - {new Integer(4), "Tooth Paste", new Integer(12), new Integer(2)} - }; - - public OrderData(Connection c) { - super(c, orderData); - } - - public String getTableName() { - return "ANORDER"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderDetailsData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderDetailsData.java deleted file mode 100644 index 9193f7c6d5..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OrderDetailsData.java +++ /dev/null @@ -1,43 +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.data; - -import java.sql.Connection; - -import org.apache.tuscany.das.rdb.test.framework.TestData; - - -public class OrderDetailsData extends TestData { - - //CREATE TABLE ORDERDETAILS (ORDERID INT NOT NULL, PRODUCTID INT NOT NULL, PRICE FLOAT, PRIMARY KEY (ORDERID, PRODUCTID)) - - public static Object[][] orderDetailsData = { - {new Integer(1), new Integer(1), new Float(1.1)}, - {new Integer(1), new Integer(2), new Float(1.2)}, - {new Integer(2), new Integer(1), new Float(2.1)}, - {new Integer(2), new Integer(2), new Float(2.2)} - }; - - public OrderDetailsData(Connection c) { - super(c, orderDetailsData); - } - - public String getTableName() { - return "ORDERDETAILS"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/PartData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/PartData.java deleted file mode 100644 index dd78b1be35..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/PartData.java +++ /dev/null @@ -1,52 +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.data; - -import java.sql.Connection; -import java.sql.Types; - -import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns; - - -public class PartData extends TestDataWithExplicitColumns { - - - //CREATE TABLE PART (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(50), QUANTITY INT, PARENT_ID INT ) - - private static String[] partColumns = { "ID" , "NAME", "QUANTITY", "PARENT_ID"}; - - private static int[] columnTypes = {Types.INTEGER, Types.VARCHAR, Types.INTEGER, Types.INTEGER}; - - private static Object[][] partData = { - {new Integer(1), "Engine", new Integer(1), null}, - {new Integer(2), "Block", new Integer(1), new Integer(1)}, - {new Integer(3), "Cam Shaft", new Integer(2), new Integer(1)}, - {new Integer(4), "Piston", new Integer(8), new Integer(1)}, - {new Integer(5), "Piston Ring", new Integer(2), new Integer(4)} - }; - - public PartData(Connection connection) { - super(connection, partData, partColumns, columnTypes); - } - - public String getTableName() { - return "PART"; - } - -} - - diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/StateData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/StateData.java deleted file mode 100644 index 0c6d41d096..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/StateData.java +++ /dev/null @@ -1,51 +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.data; - -import java.sql.Connection; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.test.framework.TestData; - - -public class StateData extends TestData { - - public StateData(Connection c) { - super(c, stateData); - } - - public String getTableName() { - return "STATES"; - } - - private static Object[][] stateData = { - {new Integer(1), "NC"}, - {new Integer(2), "CO"}, - {new Integer(3), "CA"} - }; - - public void doDeletes() throws SQLException { - deleteRowsFromTable(); - } - - public void doInserts() throws SQLException { - insertRows(); - - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java deleted file mode 100644 index 1097b07cc5..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java +++ /dev/null @@ -1,64 +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.data; - -import java.sql.Connection; -import java.sql.Timestamp; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.apache.tuscany.das.rdb.test.framework.TestData; - - -public class TypesData extends TestData { - - private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:ss:mm.SSS"); - private static Timestamp timestamp = getTimestamp(); - - private static Object[][] customerData = { - {new Integer(1), timestamp, new Float(1234567.89), new Float(1234567.89)} - }; - - public TypesData(Connection connection) { - super(connection, customerData); - } - - public String getTableName() { - return "TYPETEST"; - } - - - //Utilities - private static Date getDate() { - - try { - return dateFormat.parse("1966-12-20 00:00:00.0"); - } catch (ParseException e) { - throw new RuntimeException(e); - } - - } - - public static Timestamp getTimestamp() { - - return new Timestamp(getDate().getTime()); - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DB2Setup.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DB2Setup.java deleted file mode 100644 index 75df028490..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DB2Setup.java +++ /dev/null @@ -1,35 +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.framework; - -import junit.framework.Test; - -public class DB2Setup extends DatabaseSetup { - - public DB2Setup(Test test) { - super(test); - } - - protected void initConnectionProtocol() { - - platformName = "DB2"; - driverName = "com.ibm.db2.jcc.DB2Driver"; - databaseURL = "jdbc:db2:DASTEST"; - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DasTest.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DasTest.java deleted file mode 100644 index c4e75d20a8..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DasTest.java +++ /dev/null @@ -1,155 +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.framework; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.ResultSetMetaData; -import java.sql.SQLException; -import java.util.Iterator; -import java.util.List; - -import junit.framework.TestCase; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; - -/** - * - */ -public class DasTest extends TestCase { - - public static Connection connection = null; - private boolean usingDefaultSetup = false; - - /** - * Tears down the fixture, for example, close a network connection. This - * method is called after a test is executed. - */ - protected void tearDown() throws Exception { -// if (usingDefaultSetup) -// connection = null; - } - - protected Connection getAutoConnection() throws SQLException { - - Connection c = primGetConnection(); - c.setAutoCommit(true); - return connection; - - } - - protected Connection getConnection() throws SQLException { - - Connection c = primGetConnection(); - c.setAutoCommit(false); - return connection; - } - - /** - * This provides the default connection for runing single test cases on a - * chosen platform. - */ - private Connection primGetConnection() { - if (connection == null) - defaultSetup(); - return connection; - } - - - - /** - * This is a bit of a hack since it counts on constructor initialization of the - * DatabaseSet up class and also calls its setUp method directly. This is a misuse - * of this JUnit TestSetup subclass . - * - * TODO - refactor to avoid this hackiness ... could move this logic to its own - * class that is then invoked by DatabaseSetUp - */ - private void defaultSetup() { - - usingDefaultSetup = true; - -// DatabaseSetup setUp = new DB2Setup(this); - DatabaseSetup setUp = new DerbySetup(this); - try { - setUp.setUp(); - } catch (Exception e) { - throw new RuntimeException(e); - } - - } - - - //Utilities - protected InputStream getConfig(String fileName) throws FileNotFoundException { - return Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName); - } - - protected void write(String label, ResultSet rs) throws IOException, SQLException { - - ResultSetMetaData md = rs.getMetaData(); - int count = md.getColumnCount(); - System.out.println("Contents of ResultSet from " + label); - for (int i = 1; i <= count; i++) { - System.out.print("\t"); - System.out.println (md.getColumnLabel(i)); - } - System.out.println(""); - while (rs.next()) { - for (int i = 1; i <= count; i++) { - System.out.print("\t"); - System.out.print(rs.getString(i)); - } - System.out.println("\t"); - } - System.out.println("done"); - } - - - protected void printList(List data) { - Iterator i = data.iterator(); - while ( i.hasNext()) { - System.out.println(); - DataObject obj = (DataObject) i.next(); - Iterator props = obj.getType().getProperties().iterator(); - while ( props.hasNext()) { - Property p = (Property) props.next(); - if ( p.isMany() ) { - System.out.print("[ " + p.getName() + " ] "); - Iterator children = obj.getList(p).iterator(); - while ( children.hasNext()) { - DataObject child = (DataObject) children.next(); - System.out.print("[ " + child.get("ID") + " ]"); - } - System.out.println(); - } else if ( !p.getType().isDataType()) { - DataObject child = obj.getDataObject(p); - if ( child != null ) - System.out.println("[ " + p.getName() + " ] " + "[ " + child.get("ID") + " ]"); - } else { - System.out.println("[ " + p.getName() + " ] " + obj.get(p)); - } - } - } - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java deleted file mode 100644 index f0c5223cf0..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java +++ /dev/null @@ -1,238 +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.framework; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.sql.Statement; - -import junit.extensions.TestSetup; -import junit.framework.Test; - -public class DatabaseSetup extends TestSetup { - - protected String platformName = "Not initialized"; - - protected String driverName = "Not initialized"; - - protected String databaseURL = "Not initialized"; - - private Connection connection; - - protected Statement s; - - public DatabaseSetup(Test test) { - super(test); - initConnectionProtocol(); - initConnection(); - DasTest.connection = connection; - } - - protected void initConnectionProtocol() { - // Subclasses provide implementation - } - - private void initConnection() { - - try { - - Class.forName(driverName).newInstance(); - connection = DriverManager.getConnection(databaseURL); - connection.setAutoCommit(false); - - } catch (Exception e) { - if (e instanceof SQLException) - ((SQLException) e).getNextException().printStackTrace(); - throw new RuntimeException(e); - } - - } - - protected void setUp() throws Exception { - - System.out.println("Setting up for " + platformName + " run"); - - s = connection.createStatement(); - - try { - dropTables(); - dropProcedures(); - createTables(); - createProcedures(); - connection.commit(); - } catch (SQLException e) { - connection.rollback(); - } - - } - - protected void tearDown() throws Exception { - - System.out.println("Ending " + platformName + " run"); - connection.close(); - - } - - private void dropTables() { - -// System.out.println("Dropping tables"); - - String[] statements = { - - "DROP TABLE CUSTOMER", "DROP TABLE ANORDER", "DROP TABLE ORDERDETAILS", "DROP TABLE ITEM", - "DROP TABLE COMPANY", "DROP TABLE EMPLOYEE", "DROP TABLE DEPARTMENT", "DROP TABLE BOOK", - "DROP TABLE PART", "DROP TABLE TYPETEST", "DROP TABLE CITIES", "DROP TABLE STATES", - "DROP TABLE conmgt.SERVERSTATUS" - - }; - - for (int i = 0; i < statements.length; i++) { - try { - s.execute(statements[i]); - } catch (SQLException e) { - // If the table does not exist then ignore the exception on drop - if (!e.getMessage().contains("does not exist")) - throw new RuntimeException(e); - } - } - } - - protected void dropProcedures() { - -// System.out.println("Dropping procedures"); - - String[] statements = { - - "DROP PROCEDURE GETALLCOMPANIES", "DROP PROCEDURE DELETECUSTOMER", "DROP PROCEDURE GETNAMEDCOMPANY", - "DROP PROCEDURE GETCUSTOMERANDORDERS", "DROP PROCEDURE GETNAMEDCUSTOMERS" - - }; - - for (int i = 0; i < statements.length; i++) { - try { - s.execute(statements[i]); - } catch (SQLException e) { - // If the proc does not exist then ignore the exception on drop - if (!e.getMessage().contains("does not exist")) - throw new RuntimeException(e); - } - } - } - - private void createTables() { - -// System.out.println("Creating tables"); - - try { - - s.execute(getCreateCustomer()); - s.execute(getCreateAnOrder()); - s.execute(getCreateOrderDetails()); - s.execute(getCreateItem()); - s.execute(getCreateCompany()); - s.execute(getCreateEmployee()); - s.execute(getCreateDepartment()); - s.execute(getCreateBook()); - s.execute(getCreatePart()); - s.execute(getCreateTypeTest()); - s.execute(getCreateStates()); - s.execute(getCreateCities()); - s.execute(getCreateServerStatus()); - - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - protected void createProcedures() { - -// System.out.println("Creating procedures"); - try { - - s.execute("CREATE PROCEDURE GETALLCOMPANIES() PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getAllCompanies'"); - s.execute("CREATE PROCEDURE DELETECUSTOMER(theId int) PARAMETER STYLE JAVA LANGUAGE JAVA MODIFIES SQL DATA EXTERNAL NAME 'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.deleteCustomer'"); - s.execute("CREATE PROCEDURE GETNAMEDCOMPANY(theName VARCHAR(100)) PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getNamedCompany'"); - s.execute("CREATE PROCEDURE GETCUSTOMERANDORDERS(theID INTEGER) PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getCustomerAndOrders'"); - s.execute("CREATE PROCEDURE GETNAMEDCUSTOMERS(theName VARCHAR(100), OUT theCount INTEGER) PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getNamedCustomers'"); - // TODO - "GETNAMEDCUSTOMERS" is failing on DB2 with SQLCODE: 42723. Need to investigate - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - // - // This section povides methods that return strings for table creation. - // Platform-specific sublcasses - // can override these as necessary - // - - protected String getCreateCustomer() { - return "CREATE TABLE CUSTOMER (ID INT PRIMARY KEY NOT NULL, LASTNAME VARCHAR(30) DEFAULT 'Garfugengheist', ADDRESS VARCHAR(30))"; - } - - protected String getCreateAnOrder() { - return "CREATE TABLE ANORDER (ID INT PRIMARY KEY NOT NULL, PRODUCT VARCHAR(30), QUANTITY INT, CUSTOMER_ID INT)"; - } - - protected String getCreateOrderDetails() { - return "CREATE TABLE ORDERDETAILS (ORDERID INT NOT NULL, PRODUCTID INT NOT NULL, PRICE FLOAT, PRIMARY KEY (ORDERID, PRODUCTID))"; - } - - protected String getCreateItem() { - return "CREATE TABLE ITEM (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(30))"; - } - - protected String getCreateCompany() { - return "CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY ,NAME VARCHAR(30), EOTMID INT)"; - } - - protected String getCreateEmployee() { - return "CREATE TABLE EMPLOYEE (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY, NAME VARCHAR(30), SN VARCHAR(10), MANAGER SMALLINT, DEPARTMENTID INT)"; - } - - protected String getCreateDepartment() { - return "CREATE TABLE DEPARTMENT (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY, NAME VARCHAR(30), LOCATION VARCHAR(30), NUMBER VARCHAR(10), COMPANYID INT)"; - } - - protected String getCreateBook() { - return "CREATE TABLE BOOK (BOOK_ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(50), AUTHOR VARCHAR(30), QUANTITY INT, OCC INTEGER)"; - } - - protected String getCreatePart() { - return "CREATE TABLE PART (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(50), QUANTITY INT, PARENT_ID INT )"; - } - - protected String getCreateTypeTest() { - return "CREATE TABLE TYPETEST (ID INT PRIMARY KEY NOT NULL, ATIMESTAMP TIMESTAMP, ADECIMAL DECIMAL(9,2), AFLOAT FLOAT)"; - } - - protected String getCreateStates() { - return "CREATE TABLE STATES (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(2))"; - } - - protected String getCreateCities() { - return "CREATE TABLE CITIES (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(50), STATE_ID INT, CONSTRAINT FK1 FOREIGN KEY (STATE_ID) REFERENCES STATES (ID) ON DELETE NO ACTION ON UPDATE NO ACTION)"; - } - - protected String getCreateServerStatus() { - - return "CREATE TABLE CONMGT.SERVERSTATUS (STATUSID INTEGER PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 ,INCREMENT BY 1), MANAGEDSERVERID INTEGER NOT NULL, TIMESTAMP TIMESTAMP NOT NULL)"; - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DerbySetup.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DerbySetup.java deleted file mode 100644 index 082b1ec50a..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DerbySetup.java +++ /dev/null @@ -1,42 +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.framework; - -import java.util.Properties; - -import junit.framework.Test; - -public class DerbySetup extends DatabaseSetup { - - public DerbySetup(Test test) { - super(test); - } - - protected void initConnectionProtocol() { - - //Set the derby property to explicitly specify the database location relative - //from current directory to "target" - Properties p = System.getProperties(); - p.put("derby.system.home", "target"); - - platformName = "Derby"; - driverName = "org.apache.derby.jdbc.EmbeddedDriver"; - databaseURL = "jdbc:derby:dastest; create = true"; - - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/JavaStoredProcs.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/JavaStoredProcs.java deleted file mode 100644 index cd314e0fce..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/JavaStoredProcs.java +++ /dev/null @@ -1,79 +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.framework; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -/** - * Stored Procedures for DB2 and Derby SP tests - * - */ -public class JavaStoredProcs { - - public static void getAllCompanies(ResultSet[] results) throws SQLException { - - Connection conn = DriverManager.getConnection("jdbc:default:connection"); - PreparedStatement ps = conn.prepareStatement("SELECT * FROM COMPANY"); - results[0] = ps.executeQuery(); - } - - public static void deleteCustomer(int theId) throws SQLException { - - Connection conn = DriverManager.getConnection("jdbc:default:connection"); - PreparedStatement ps = conn.prepareStatement("DELETE FROM CUSTOMER WHERE ID = ?"); - ps.setInt(1, theId); - ps.execute(); - - } - - public static void getNamedCompany(String theName, ResultSet[] results) throws SQLException { - - Connection conn = DriverManager.getConnection("jdbc:default:connection"); - PreparedStatement ps = conn.prepareStatement("SELECT * FROM COMPANY WHERE NAME = ?"); - ps.setString(1, theName); - results[0] = ps.executeQuery(); - } - - public static void getCustomerAndOrders(int theId, ResultSet[] results) throws SQLException { - - Connection conn = DriverManager.getConnection("jdbc:default:connection"); - PreparedStatement ps = conn - .prepareStatement("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID WHERE CUSTOMER.ID = ?"); - ps.setInt(1, theId); - results[0] = ps.executeQuery(); - } - - public static void getNamedCustomers(String theName, int[] outCount, ResultSet[] results) throws SQLException { - - Connection conn = DriverManager.getConnection("jdbc:default:connection"); - PreparedStatement ps = conn.prepareStatement("SELECT * FROM CUSTOMER WHERE LASTNAME = ?"); - ps.setString(1, theName); - results[0] = ps.executeQuery(); - - ps = conn.prepareStatement("SELECT COUNT(*) FROM CUSTOMER WHERE LASTNAME = ?"); - ps.setString(1, theName); - - ResultSet rs = ps.executeQuery(); - rs.next(); - outCount[0] = rs.getInt(1); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/MySQLSetup.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/MySQLSetup.java deleted file mode 100644 index b3616882f4..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/MySQLSetup.java +++ /dev/null @@ -1,96 +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.framework; - -import java.sql.SQLException; - - -import junit.framework.Test; - -public class MySQLSetup extends DatabaseSetup { - - public MySQLSetup(Test test) { - super(test); - } - - protected void initConnectionProtocol() { - - platformName = "MySQL"; - driverName = "com.mysql.jdbc.Driver"; - databaseURL = "jdbc:mysql:///dastest?user=dastester&password=dastester"; - - } - - - protected void createProcedures () { - - String createGetAllCompanies = - "CREATE PROCEDURE `dastest`.`GETALLCOMPANIES` () "+ - " SELECT * FROM COMPANY "; - - - String createDeleteCustomer = - "CREATE PROCEDURE `dastest`.`DELETECUSTOMER` (theId INT) " + - " DELETE FROM CUSTOMER WHERE ID = theId "; - - - String createGetNamedCustomers = - "CREATE PROCEDURE `dastest`.`GETNAMEDCUSTOMERS`(IN thename VARCHAR(30), OUT theCount INTEGER ) " + - " BEGIN " + - " SELECT * FROM CUSTOMER AS CUSTOMER WHERE LASTNAME = theName; " + - " SET theCount = (SELECT COUNT(*) FROM CUSTOMER WHERE LASTNAME = theName); " + - " END "; - - String createGetCustomerAndOrders = - " CREATE PROCEDURE `dastest`.`GETCUSTOMERANDORDERS` (theId INT) " + - " SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID WHERE CUSTOMER.ID = theId "; - - - String createGetNamedCompany = - " CREATE PROCEDURE `dastest`.`GETNAMEDCOMPANY` (theName VARCHAR(100)) " + - " SELECT * FROM COMPANY WHERE NAME = theName"; - - System.out.println("Creating procedures"); - try { - - s.execute(createGetAllCompanies); - s.execute(createDeleteCustomer); - s.execute(createGetNamedCompany); - s.execute(createGetCustomerAndOrders); -// s.execute(createGetNamedCustomers); -//TODO - add this back after DB2 problem is resolved - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - - //Overrides for table creation - protected String getCreateCompany() { - return "CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT, NAME VARCHAR(30))"; - } - protected String getCreateEmployee() { - return "CREATE TABLE EMPLOYEE (ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT, NAME VARCHAR(30), SN VARCHAR(10), MANAGER SMALLINT, DEPARTMENTID INT)"; - } - protected String getCreateDepartment() { - return "CREATE TABLE DEPARTMENT (ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT, NAME VARCHAR(30), LOCATION VARCHAR(30), NUMBER VARCHAR(10), COMPANYID INT, EOTM INT)"; - } - protected String getCreateTypeTest() { - return "CREATE TABLE TYPETEST (ID INT PRIMARY KEY NOT NULL, ATIMESTAMP DATETIME, ADECIMAL DECIMAL(9,2), AFLOAT FLOAT)"; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/RelationshipData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/RelationshipData.java deleted file mode 100644 index 330320656e..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/RelationshipData.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.framework; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -public abstract class RelationshipData { - protected Object[][] data; - private int currentRow = -1; - protected Connection connection; - - - public RelationshipData(Connection c, Object[][] inputData) { - this.connection = c; - this.data = inputData; - } - - public int size() { - return data[0].length; - } - - public int numberOfRows() { - return data.length; - } - - public boolean next() { - ++currentRow; - if ( currentRow < numberOfRows() ) - return true; - else - return false; - } - - - public void refresh() throws SQLException { - updateRelationships(); - } - - protected abstract String getParentRetrievalStatement(); - protected abstract String getChildUpdateStatement(); - - - protected void updateRelationships() throws SQLException { - // { MegaCorp, Advanced Technologies } - // select company.id from company where company.name = ? - PreparedStatement retrieveParent = connection.prepareStatement(getParentRetrievalStatement()); - // update department set department.companyid = ? where department.name = ? - PreparedStatement updateChild = connection.prepareStatement(getChildUpdateStatement()); - - while ( next() ) { - retrieveParent.setObject(1, data[currentRow][0]); - retrieveParent.execute(); - ResultSet rs = retrieveParent.getResultSet(); - rs.next(); - Object parentID = rs.getObject(1); - retrieveParent.clearParameters(); - - updateChild.setObject(1, parentID); - updateChild.setObject(2, data[currentRow][1]); - updateChild.execute(); - updateChild.clearParameters(); - } - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java deleted file mode 100644 index 686433bfc8..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java +++ /dev/null @@ -1,87 +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.framework; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -public abstract class TestData { - - protected Object[][] data; - private int currentRow = -1; - protected Connection connection; - - - public TestData(Connection c, Object[][] customerData) { - this.connection = c; - this.data = customerData; - } - - public int size() { - return data[0].length; - } - - public int numberOfRows() { - return data.length; - } - - public boolean next() { - ++currentRow; - if ( currentRow < numberOfRows() ) - return true; - else - return false; - } - - public abstract String getTableName(); - - - public Object getObject(int i) { - return data[currentRow][i-1]; - } - - public void refresh() throws SQLException { - deleteRowsFromTable(); - insertRows(); - } - - protected void deleteRowsFromTable() throws SQLException { - PreparedStatement ps = connection.prepareStatement("delete from " + getTableName()); - ps.execute(); - } - - protected void insertRows() throws SQLException { - StringBuffer sql = new StringBuffer(); - sql.append("insert into "); - sql.append(getTableName()); - sql.append(" values ("); - for ( int i=1; i < size(); i++) { - sql.append("?,"); - } - sql.append("?)"); - PreparedStatement ps = connection.prepareStatement(sql.toString()); - - while ( next() ) { - for ( int i=1; i <= size(); i++ ) { - ps.setObject(i, getObject(i)); - } - ps.execute(); - ps.clearParameters(); - } - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestDataWithExplicitColumns.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestDataWithExplicitColumns.java deleted file mode 100644 index 8ded99af9b..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestDataWithExplicitColumns.java +++ /dev/null @@ -1,82 +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.framework; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import org.apache.tuscany.das.rdb.util.DebugUtil; - - -public abstract class TestDataWithExplicitColumns extends TestData { - - protected String[] columns; - protected int[] sqlTypes; - - private static boolean debug = false; - - public TestDataWithExplicitColumns(Connection c, Object[][] data, - String[] columns, int[] sqlTypes) { - super(c, data); - this.columns = columns; - this.sqlTypes = sqlTypes; - } - - private String getColumn(int i) { - return columns[i - 1]; - } - - private int getSqlType(int i) { - return (sqlTypes[i - 1]); - } - - // Create an insert statement of the following form ... - // "INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....)" - // This is necessary for tables with a generated column since the PK value is not provided - protected void insertRows() throws SQLException { - StringBuffer sql = new StringBuffer(); - sql.append("insert into "); - sql.append(getTableName()); - - sql.append(" ("); - for (int i = 1; i <= size(); i++) { - sql.append(getColumn(i)); - if ( i < size() ) - sql.append(','); - } - sql.append(" )"); - - sql.append(" values ("); - for (int i = 1; i < size(); i++) { - sql.append("?,"); - } - sql.append("?)"); - - DebugUtil.debugln(getClass(), debug, sql.toString()); - PreparedStatement ps = connection.prepareStatement(sql.toString()); - - while (next()) { - for (int i = 1; i <= size(); i++) { - ps.setObject(i, getObject(i), getSqlType(i)); - } - ps.execute(); - ps.clearParameters(); - } - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/IntegerToBooleanConverter.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/IntegerToBooleanConverter.java deleted file mode 100644 index e25d2c4c95..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/IntegerToBooleanConverter.java +++ /dev/null @@ -1,40 +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.mappings; - -import org.apache.tuscany.das.rdb.Converter; - -public class IntegerToBooleanConverter implements Converter { - - public IntegerToBooleanConverter() { - super(); - } - - public Object getPropertyValue(Object columnData) { - Integer value = (Integer) columnData; - return value.intValue() == 0 ? Boolean.FALSE : Boolean.TRUE; - } - - public Object getColumnValue(Object propertyData) { - Boolean value = (Boolean) propertyData; - if ( value.booleanValue()) - return new Integer(1); - else - return new Integer(0); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/SillyDateStringConverter.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/SillyDateStringConverter.java deleted file mode 100644 index 7c164bd675..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/SillyDateStringConverter.java +++ /dev/null @@ -1,73 +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.mappings; - -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.apache.tuscany.das.rdb.Converter; - - -public class SillyDateStringConverter implements Converter { - - public SillyDateStringConverter() { - super(); - } - - private static DateFormat myformat = new SimpleDateFormat("yyyy.MM.dd"); - - private static Date kbday; - - private static Date tbday; - - static { - try { - kbday = myformat.parse("1957.09.27"); - tbday = myformat.parse("1966.12.20"); - } catch (ParseException e) { - throw new RuntimeException(e); - } - } - - public Object getPropertyValue(Object columnData) { - - if (columnData.equals("Williams")) - return kbday; - - if (columnData.equals("Pavick")) - return tbday; - - throw new IllegalArgumentException(); - - } - - public Object getColumnValue(Object propertyData) { - - if (propertyData.equals(kbday)) - return "Williams"; - - if (propertyData.equals(tbday)) - return "Pavick"; - - throw new IllegalArgumentException(); - - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToIntegerConverter.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToIntegerConverter.java deleted file mode 100644 index 8ff57aef6d..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToIntegerConverter.java +++ /dev/null @@ -1,37 +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.mappings; - -import org.apache.tuscany.das.rdb.Converter; - -public class StringToIntegerConverter implements Converter { - - public StringToIntegerConverter() { - super(); - } - - public Object getPropertyValue(Object columnData) { - // System.out.println("Converting object.. " + columnData); - - return new Integer(columnData.toString()); - } - - public Object getColumnValue(Object columnData) { - return columnData.toString(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToLongConverter.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToLongConverter.java deleted file mode 100644 index 74a5e2917f..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/mappings/StringToLongConverter.java +++ /dev/null @@ -1,35 +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.mappings; - -import org.apache.tuscany.das.rdb.Converter; - -public class StringToLongConverter implements Converter { - - public StringToLongConverter() { - super(); - } - - public Object getPropertyValue(Object columnData) { - return new Long(columnData.toString()); - } - - public Object getColumnValue(Object columnData) { - return columnData.toString(); - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java deleted file mode 100644 index 53941ad489..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java +++ /dev/null @@ -1,98 +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.suites; - -import org.apache.tuscany.das.rdb.test.BestPracticeTests; -import org.apache.tuscany.das.rdb.test.CUDGeneration; -import org.apache.tuscany.das.rdb.test.CompanyTests; -import org.apache.tuscany.das.rdb.test.CompoundKeyTests; -import org.apache.tuscany.das.rdb.test.ConverterTests; -import org.apache.tuscany.das.rdb.test.CorrectedDefectTests; -import org.apache.tuscany.das.rdb.test.CrudWithChangeHistory; -import org.apache.tuscany.das.rdb.test.ExceptionTests; -import org.apache.tuscany.das.rdb.test.GeneratedCommandTests; -import org.apache.tuscany.das.rdb.test.GeneratedId; -import org.apache.tuscany.das.rdb.test.GraphMergeTests; -import org.apache.tuscany.das.rdb.test.NameMappingTests; -import org.apache.tuscany.das.rdb.test.OCCTests; -import org.apache.tuscany.das.rdb.test.OneToOneRelationshipTests; -import org.apache.tuscany.das.rdb.test.OperationOrderingTests; -import org.apache.tuscany.das.rdb.test.Paging; -import org.apache.tuscany.das.rdb.test.PartialUpdateTests; -import org.apache.tuscany.das.rdb.test.PassiveConnectionTests; -import org.apache.tuscany.das.rdb.test.ProgrammaticConfigTests; -import org.apache.tuscany.das.rdb.test.RecursiveTests; -import org.apache.tuscany.das.rdb.test.RelationshipTests; -import org.apache.tuscany.das.rdb.test.ResultSetShapeTests; -import org.apache.tuscany.das.rdb.test.SerializationTests; -import org.apache.tuscany.das.rdb.test.SimplestCrud; -import org.apache.tuscany.das.rdb.test.StoredProcs; -import org.apache.tuscany.das.rdb.test.TopDown; -import org.apache.tuscany.das.rdb.test.TypeTests; -import org.apache.tuscany.das.rdb.test.CommandGroupTests; -import org.apache.tuscany.das.rdb.test.typed.SimplestStaticCrud; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllCommonTests { - - public static Test suite() { - TestSuite suite = new TestSuite("All platform-common DAS tests"); - //$JUnit-BEGIN$ - - suite.addTest(new TestSuite (SimplestCrud.class)); - suite.addTest(new TestSuite (CrudWithChangeHistory.class)); - suite.addTest(new TestSuite (SimplestStaticCrud.class)); - suite.addTest(new TestSuite (Paging.class)); - suite.addTest(new TestSuite (GeneratedId.class)); - - suite.addTest(new TestSuite (StoredProcs.class)); - suite.addTest(new TestSuite (CUDGeneration.class)); - suite.addTest(new TestSuite (TopDown.class)); - suite.addTest(new TestSuite (OCCTests.class)); - suite.addTest(new TestSuite (RecursiveTests.class)); - - suite.addTest(new TestSuite (GraphMergeTests.class)); - suite.addTest(new TestSuite (CompoundKeyTests.class)); - suite.addTest(new TestSuite (RelationshipTests.class)); - suite.addTest(new TestSuite (NameMappingTests.class)); - suite.addTest(new TestSuite (GeneratedCommandTests.class)); - - suite.addTest(new TestSuite (CompanyTests.class)); - suite.addTest(new TestSuite (ResultSetShapeTests.class)); - suite.addTest(new TestSuite (TypeTests.class)); - suite.addTest(new TestSuite (OperationOrderingTests.class)); - suite.addTest(new TestSuite (ConverterTests.class)); - - suite.addTest(new TestSuite (PartialUpdateTests.class)); - suite.addTest(new TestSuite (ExceptionTests.class)); - suite.addTest(new TestSuite (PassiveConnectionTests.class)); - suite.addTest(new TestSuite (SerializationTests.class)); - - suite.addTest(new TestSuite (CommandGroupTests.class)); - suite.addTest(new TestSuite (BestPracticeTests.class)); - suite.addTest(new TestSuite (CorrectedDefectTests.class)); - suite.addTest(new TestSuite (OneToOneRelationshipTests.class)); - - suite.addTest(new TestSuite (ProgrammaticConfigTests.class)); - - //$JUnit-END$ - return suite; - } - -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDB2.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDB2.java deleted file mode 100644 index a5fcb5eba0..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDB2.java +++ /dev/null @@ -1,39 +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.suites; - -import org.apache.tuscany.das.rdb.test.ReadDBSchemaTests; -import org.apache.tuscany.das.rdb.test.framework.DB2Setup; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllTestsDB2 { - - - public static Test suite() { - - TestSuite suite = new TestSuite(); - suite.addTest(AllCommonTests.suite()); - suite.addTest(new TestSuite (ReadDBSchemaTests.class)); - - TestSuite suite2 = new TestSuite("All DAS tests on DB2"); - suite2.addTest(new DB2Setup(suite)); - return suite2; - - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDerby.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDerby.java deleted file mode 100644 index 8af82f0114..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsDerby.java +++ /dev/null @@ -1,34 +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.suites; - -import org.apache.tuscany.das.rdb.test.framework.DerbySetup; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllTestsDerby extends TestSuite { - - - public static Test suite() { - - TestSuite suite = new TestSuite("All DAS tests on Derby"); - suite.addTest(new DerbySetup(AllCommonTests.suite())); - return suite; - - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsMySQL.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsMySQL.java deleted file mode 100644 index 2b862eba8c..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllTestsMySQL.java +++ /dev/null @@ -1,34 +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.suites; - -import org.apache.tuscany.das.rdb.test.framework.MySQLSetup; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllTestsMySQL { - - - public static Test suite() { - - TestSuite suite = new TestSuite("All DAS tests on MySQL"); - suite.addTest(new MySQLSetup(AllCommonTests.suite())); - return suite; - - } -} diff --git a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/typed/SimplestStaticCrud.java b/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/typed/SimplestStaticCrud.java deleted file mode 100644 index f8baca2cb8..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/typed/SimplestStaticCrud.java +++ /dev/null @@ -1,58 +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.typed; - -import java.io.InputStream; -import java.util.Collection; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.test.customer.CustomerFactory; -import org.apache.tuscany.das.rdb.test.customer.DataGraphRoot; -import org.apache.tuscany.das.rdb.test.data.CustomerData; -import org.apache.tuscany.das.rdb.test.framework.DasTest; -import org.apache.tuscany.sdo.util.SDOUtil; - -import commonj.sdo.helper.TypeHelper; - - -/** - */ -public class SimplestStaticCrud extends DasTest { - - protected void setUp() throws Exception { - super.setUp(); - new CustomerData(getAutoConnection()).refresh(); - } - - public void testRead() throws Exception { - SDOUtil.registerStaticTypes(CustomerFactory.class); - InputStream mapping = getClass().getClassLoader().getResourceAsStream("basicStaticCustomer.xml"); - Command select = Command.FACTORY.createCommand("Select ID, LASTNAME, ADDRESS from CUSTOMER where LASTNAME = :LASTNAME",mapping); - select.setConnection(getConnection()); - select.setParameterValue("LASTNAME", "Williams"); - TypeHelper helper = TypeHelper.INSTANCE; - - select.setDataObjectModel(helper.getType(DataGraphRoot.class)); - - DataGraphRoot root = (DataGraphRoot) select.executeQuery(); - - Collection customers = root.getCustomers(); - assertEquals(4, customers.size()); - } - - -} diff --git a/branches/java-M1/java/das/rdb/src/test/resources/1xM_mapping_no_cud.xml b/branches/java-M1/java/das/rdb/src/test/resources/1xM_mapping_no_cud.xml deleted file mode 100644 index cb30e67f6e..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/1xM_mapping_no_cud.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - -
- - - - -
- - - - - -
- diff --git a/branches/java-M1/java/das/rdb/src/test/resources/BooksConfig.xml b/branches/java-M1/java/das/rdb/src/test/resources/BooksConfig.xml deleted file mode 100644 index b7e938ec9f..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/BooksConfig.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/CompanyConfig.xml b/branches/java-M1/java/das/rdb/src/test/resources/CompanyConfig.xml deleted file mode 100644 index 5ed35f4fd3..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/CompanyConfig.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/CompanyEmployeeConfig.xml b/branches/java-M1/java/das/rdb/src/test/resources/CompanyEmployeeConfig.xml deleted file mode 100644 index 2dbac17522..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/CompanyEmployeeConfig.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - - - -
- diff --git a/branches/java-M1/java/das/rdb/src/test/resources/CustOrdersConnectionProps.xml b/branches/java-M1/java/das/rdb/src/test/resources/CustOrdersConnectionProps.xml deleted file mode 100644 index 2d1fd5d20d..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/CustOrdersConnectionProps.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithConverter.xml b/branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithConverter.xml deleted file mode 100644 index 24fce847de..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithConverter.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithIDConverter.xml b/branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithIDConverter.xml deleted file mode 100644 index 68a4eeca07..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/CustomerConfigWithIDConverter.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/CustomersOrdersConfig.xml b/branches/java-M1/java/das/rdb/src/test/resources/CustomersOrdersConfig.xml deleted file mode 100644 index 5146bcaab1..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/CustomersOrdersConfig.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/OrdersOrderDetailsConfig.xml b/branches/java-M1/java/das/rdb/src/test/resources/OrdersOrderDetailsConfig.xml deleted file mode 100644 index 356226747f..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/OrdersOrderDetailsConfig.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
- - - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/PartsConfig.xml b/branches/java-M1/java/das/rdb/src/test/resources/PartsConfig.xml deleted file mode 100644 index 06375dabef..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/PartsConfig.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - -
- - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/basicCompanyDepartmentMapping.xml b/branches/java-M1/java/das/rdb/src/test/resources/basicCompanyDepartmentMapping.xml deleted file mode 100644 index 205d0d68b6..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/basicCompanyDepartmentMapping.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - -
- - - - - - - -
- - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/basicCompanyMapping.xml b/branches/java-M1/java/das/rdb/src/test/resources/basicCompanyMapping.xml deleted file mode 100644 index 885ad383ca..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/basicCompanyMapping.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - -
-
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMapping.xml b/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMapping.xml deleted file mode 100644 index 203a6333ac..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMapping.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithCUD.xml b/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithCUD.xml deleted file mode 100644 index 8bfd146504..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithCUD.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithInvalidCUD.xml b/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithInvalidCUD.xml deleted file mode 100644 index 189286c91c..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerMappingWithInvalidCUD.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerOrderMapping.xml b/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerOrderMapping.xml deleted file mode 100644 index 507ce8d5e5..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/basicCustomerOrderMapping.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -
- - - -
- - - - - -
- diff --git a/branches/java-M1/java/das/rdb/src/test/resources/basicStaticCustomer.xml b/branches/java-M1/java/das/rdb/src/test/resources/basicStaticCustomer.xml deleted file mode 100644 index 1d01b284ae..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/basicStaticCustomer.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/cityStates.xml b/branches/java-M1/java/das/rdb/src/test/resources/cityStates.xml deleted file mode 100644 index 63d86aafac..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/cityStates.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - -
- - - - - - - -
- - - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/company.ecore b/branches/java-M1/java/das/rdb/src/test/resources/company.ecore deleted file mode 100644 index 888acdf1c3..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/company.ecore +++ /dev/null @@ -1,130 +0,0 @@ - - - - -
-
- - - -
-
- - - - -
-
- - - - -
-
- - - - - -
-
- - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - - - -
-
- - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
-
- - - - - -
-
- - - -
-
- - - - -
-
- - - - -
-
- - - - diff --git a/branches/java-M1/java/das/rdb/src/test/resources/company.genmodel b/branches/java-M1/java/das/rdb/src/test/resources/company.genmodel deleted file mode 100644 index 0b89c2c0c8..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/company.genmodel +++ /dev/null @@ -1,38 +0,0 @@ - - - company.xsd - http://www.eclipse.org/emf/2003/SDO - EMF_COMMONJ_SDO=org.eclipse.emf.commonj.sdo - EMF_ECORE_SDO=org.eclipse.emf.ecore.sdo - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/java-M1/java/das/rdb/src/test/resources/company.xsd b/branches/java-M1/java/das/rdb/src/test/resources/company.xsd deleted file mode 100644 index 62004bc584..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/company.xsd +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/java-M1/java/das/rdb/src/test/resources/companyMapping.xml b/branches/java-M1/java/das/rdb/src/test/resources/companyMapping.xml deleted file mode 100644 index 12b55d06f6..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/companyMapping.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -
- - - -
- - - -
- - - - - - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/companyMappingWithConverters.xml b/branches/java-M1/java/das/rdb/src/test/resources/companyMappingWithConverters.xml deleted file mode 100644 index 2888a495d6..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/companyMappingWithConverters.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -
- - - - -
- - - - -
- - - - - - - - - -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/customer.ecore b/branches/java-M1/java/das/rdb/src/test/resources/customer.ecore deleted file mode 100644 index 74786d8af4..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/customer.ecore +++ /dev/null @@ -1,96 +0,0 @@ - - - - -
-
- - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - - - -
-
- - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - - - -
-
- - - -
-
- - - - -
-
- - - - diff --git a/branches/java-M1/java/das/rdb/src/test/resources/customer.genmodel b/branches/java-M1/java/das/rdb/src/test/resources/customer.genmodel deleted file mode 100644 index 8c1cd53e57..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/customer.genmodel +++ /dev/null @@ -1,32 +0,0 @@ - - - customer.xsd - http://www.eclipse.org/emf/2003/SDO - EMF_COMMONJ_SDO=org.eclipse.emf.commonj.sdo - EMF_ECORE_SDO=org.eclipse.emf.ecore.sdo - - - - - - - - - - - - - - - - - - - diff --git a/branches/java-M1/java/das/rdb/src/test/resources/customer.xsd b/branches/java-M1/java/das/rdb/src/test/resources/customer.xsd deleted file mode 100644 index c9e37ddd89..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/customer.xsd +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/java-M1/java/das/rdb/src/test/resources/customerMapping.xml b/branches/java-M1/java/das/rdb/src/test/resources/customerMapping.xml deleted file mode 100644 index f72f4cf1b1..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/customerMapping.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - -
- -
diff --git a/branches/java-M1/java/das/rdb/src/test/resources/customerOrderRelationshipMapping.xml b/branches/java-M1/java/das/rdb/src/test/resources/customerOrderRelationshipMapping.xml deleted file mode 100644 index 14b6302e72..0000000000 --- a/branches/java-M1/java/das/rdb/src/test/resources/customerOrderRelationshipMapping.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -
- - -
- - - - - -
- -- cgit v1.2.3