summaryrefslogtreecommitdiffstats
path: root/java/sdo/impl/src
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-10 19:18:51 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-10 19:18:51 +0000
commit9833a542bb75c2008c71809e4fdfebc41e67fb46 (patch)
treed89597c3f9308f70cd89c2e8e2cf4b9adeb43994 /java/sdo/impl/src
parent5b2262864f55b51575f381a823ffacf6b7c27a74 (diff)
Move the SDO folder as new trunk for SDO sub project
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@834610 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sdo/impl/src')
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/AnyTypeDataObject.java37
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOExtendedMetaData.java39
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOFactory.java185
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOPackage.java1657
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOTypeVisitor.java49
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SimpleAnyTypeDataObject.java35
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java98
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/GenerationException.java42
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java179
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/NoJavaImplementationException.java61
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOExtendedMetaDataImpl.java167
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOXSDEcoreBuilder.java1771
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CopyHelperImpl.java115
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CrossScopeCopyHelperImpl.java255
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataFactoryImpl.java59
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java615
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DefaultHelperContextImpl.java72
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/EqualityHelperImpl.java96
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java193
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java50
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOAnnotations.java51
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java305
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java530
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOSimpleDateFormat.java92
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java789
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SchemaBuilder.java786
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java317
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeTable.java254
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLDocumentImpl.java574
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java193
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelper.java26
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java151
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java327
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AnyTypeDataObjectImpl.java299
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AttributeImpl.java836
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummaryImpl.java876
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummarySettingImpl.java113
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ClassImpl.java1127
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataGraphImpl.java852
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java536
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java1562
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataTypeImpl.java781
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicDataObjectImpl.java216
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicStoreDataObjectImpl.java91
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EnumImpl.java183
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java78
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java267
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/FactoryBase.java368
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ListenerBase.java33
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ReferenceImpl.java785
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOFactoryImpl.java337
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOPackageImpl.java2207
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SimpleAnyTypeDataObjectImpl.java333
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/StoreDataObjectImpl.java314
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/BaseDataGraphType.java213
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataGraphType.java53
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataObject.java35
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelFactory.java106
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelsType.java62
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Property.java503
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/TextType.java57
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Type.java431
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Types.java59
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/XSDType.java62
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/BaseDataGraphTypeImpl.java625
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataGraphTypeImpl.java258
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataObjectImpl.java84
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java2401
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java220
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java1170
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java206
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java1068
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java210
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java220
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/InternalFactory.java52
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/impl/InternalFactoryImpl.java296
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaFactory.java61
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaInfo.java92
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaFactoryImpl.java659
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaInfoImpl.java256
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLFactory.java61
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLInfo.java92
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLFactoryImpl.java341
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLInfoImpl.java256
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/osgi/SdoBundleActivator.java41
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/BasicSequence.java176
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataGraphResourceFactoryImpl.java711
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java3035
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java593
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java250
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StreamDeserializer.java92
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/VirtualSequence.java780
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/JavaMetaData.java90
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/MetadataFactory.java77
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/SDOMetaDataGroup.java87
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/TypeMetaData.java65
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/XSDMetaData.java66
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/JavaMetaDataImpl.java267
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/MetadataFactoryImpl.java367
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/SDOMetaDataGroupImpl.java285
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/TypeMetaDataImpl.java203
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/XSDMetaDataImpl.java203
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamDeserializer.java663
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamSerializer.java690
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java1579
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/RecordedEventXMLStreamReader.java868
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDODeserializer.java340
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java60
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceFactoryImpl.java47
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java1009
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLDocumentStreamReader.java438
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLFragmentStreamReader.java44
-rw-r--r--java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLStreamSerializer.java414
-rw-r--r--java/sdo/impl/src/main/resources/META-INF/DISCLAIMER7
-rw-r--r--java/sdo/impl/src/main/resources/META-INF/LICENSE.txt207
-rw-r--r--java/sdo/impl/src/main/resources/META-INF/MANIFEST.MF29
-rw-r--r--java/sdo/impl/src/main/resources/META-INF/NOTICE7
-rw-r--r--java/sdo/impl/src/main/resources/META-INF/README.txt23
-rw-r--r--java/sdo/impl/src/main/resources/META-INF/services/commonj.sdo.impl.HelperProvider1
-rw-r--r--java/sdo/impl/src/main/resources/sdo-metadata.xsd45
-rw-r--r--java/sdo/impl/src/main/resources/xml/sdoInternal.xsd33
-rw-r--r--java/sdo/impl/src/main/resources/xml/sdoModelChangeSummary.xsd28
-rw-r--r--java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionFactory.java70
-rw-r--r--java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionType.java786
-rw-r--r--java/sdo/impl/src/test/java/com/example/ExpectedException/SequenceReadOnlyType.java158
-rw-r--r--java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionFactoryImpl.java579
-rw-r--r--java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionTypeImpl.java1682
-rw-r--r--java/sdo/impl/src/test/java/com/example/ExpectedException/impl/SequenceReadOnlyTypeImpl.java354
-rw-r--r--java/sdo/impl/src/test/java/com/example/simple/Quote.java475
-rw-r--r--java/sdo/impl/src/test/java/com/example/simple/SimpleFactory.java61
-rw-r--r--java/sdo/impl/src/test/java/com/example/simple/impl/QuoteImpl.java1045
-rw-r--r--java/sdo/impl/src/test/java/com/example/simple/impl/SimpleFactoryImpl.java330
-rw-r--r--java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentFactory.java61
-rw-r--r--java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentTest.java177
-rw-r--r--java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentFactoryImpl.java270
-rw-r--r--java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentTestImpl.java409
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java41
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java47
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java26
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java26
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java167
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java26
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java129
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java94
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java104
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java87
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java112
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java79
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java216
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java219
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java92
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java866
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java86
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java474
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java270
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataObjectGetListTestCase.java129
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java68
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java380
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java133
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java704
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java124
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java78
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DupElementTestCase.java99
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java256
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java1878
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java112
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java75
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ImplSpecificTestCase.java74
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java65
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java297
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java184
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java243
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java89
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java76
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NotificationTestCase.java186
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java139
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java48
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java100
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java190
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java71
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java123
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java91
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java83
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java285
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java1007
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java45
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java147
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java110
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java314
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java192
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadUnknownFeatureTestCase.java51
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java147
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java91
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java195
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java132
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java125
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java224
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java123
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/ClassLoaderTestCase.java192
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/OSGiTestCase.java354
-rw-r--r--java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/TestBundleActivator.java66
-rw-r--r--java/sdo/impl/src/test/resources/SchemaLocationTestCase.xml33
-rw-r--r--java/sdo/impl/src/test/resources/SequenceChangeSummary.xsd48
-rw-r--r--java/sdo/impl/src/test/resources/SubstitutionValues.xsd31
-rw-r--r--java/sdo/impl/src/test/resources/TypePropertyMetadataInfo.xsd97
-rw-r--r--java/sdo/impl/src/test/resources/XMLDocumentNoNamespaceSchemaLocation.xsd31
-rw-r--r--java/sdo/impl/src/test/resources/XMLDocumentSchemaLocation.xsd35
-rw-r--r--java/sdo/impl/src/test/resources/XMLDocumentTestCase.xml32
-rw-r--r--java/sdo/impl/src/test/resources/XMLStreamHelper.xsd41
-rw-r--r--java/sdo/impl/src/test/resources/anytype.xsd36
-rw-r--r--java/sdo/impl/src/test/resources/api_test.xsd46
-rw-r--r--java/sdo/impl/src/test/resources/bank.xsd78
-rw-r--r--java/sdo/impl/src/test/resources/bounds.xsd45
-rw-r--r--java/sdo/impl/src/test/resources/comment.xsd32
-rw-r--r--java/sdo/impl/src/test/resources/company.xsd44
-rw-r--r--java/sdo/impl/src/test/resources/containmenttest.xsd31
-rw-r--r--java/sdo/impl/src/test/resources/customer1.xml8
-rw-r--r--java/sdo/impl/src/test/resources/customer2.xml8
-rw-r--r--java/sdo/impl/src/test/resources/datatype.xsd34
-rw-r--r--java/sdo/impl/src/test/resources/dotNames.xsd30
-rw-r--r--java/sdo/impl/src/test/resources/dupelement.xsd39
-rw-r--r--java/sdo/impl/src/test/resources/expectedExceptions.xsd67
-rw-r--r--java/sdo/impl/src/test/resources/foo-ext.xml27
-rw-r--r--java/sdo/impl/src/test/resources/foo-ext.xsd44
-rw-r--r--java/sdo/impl/src/test/resources/foo.xsd232
-rw-r--r--java/sdo/impl/src/test/resources/ipo.xsd136
-rw-r--r--java/sdo/impl/src/test/resources/mixed.xml9
-rw-r--r--java/sdo/impl/src/test/resources/mixed.xsd41
-rw-r--r--java/sdo/impl/src/test/resources/mixed2.xml12
-rw-r--r--java/sdo/impl/src/test/resources/mixedChangeSummary.xml11
-rw-r--r--java/sdo/impl/src/test/resources/mixedChangeSummaryUndone.xml2
-rw-r--r--java/sdo/impl/src/test/resources/mixedopen.xml13
-rw-r--r--java/sdo/impl/src/test/resources/names.xsd33
-rw-r--r--java/sdo/impl/src/test/resources/open.xml8
-rw-r--r--java/sdo/impl/src/test/resources/open.xsd51
-rw-r--r--java/sdo/impl/src/test/resources/open1any.xsd44
-rw-r--r--java/sdo/impl/src/test/resources/open2.xml9
-rw-r--r--java/sdo/impl/src/test/resources/openChangeSummary.xml24
-rw-r--r--java/sdo/impl/src/test/resources/openChangeSummaryUndone.xml17
-rw-r--r--java/sdo/impl/src/test/resources/openContentProperty.xml12
-rw-r--r--java/sdo/impl/src/test/resources/osgi/sdo.impl.mf44
-rw-r--r--java/sdo/impl/src/test/resources/osgi/sdo.osgi.test.mf40
-rw-r--r--java/sdo/impl/src/test/resources/po.xsd80
-rw-r--r--java/sdo/impl/src/test/resources/prefix.xsd24
-rw-r--r--java/sdo/impl/src/test/resources/quote.xml14
-rw-r--r--java/sdo/impl/src/test/resources/quoteInSOAP.xml37
-rw-r--r--java/sdo/impl/src/test/resources/sdoModel.xsd28
-rw-r--r--java/sdo/impl/src/test/resources/sdoannotations.xsd60
-rw-r--r--java/sdo/impl/src/test/resources/sdotypes.xsd71
-rw-r--r--java/sdo/impl/src/test/resources/shallowquote.xml11
-rw-r--r--java/sdo/impl/src/test/resources/shallowquote1.xml29
-rw-r--r--java/sdo/impl/src/test/resources/simple.xsd41
-rw-r--r--java/sdo/impl/src/test/resources/simple2.xsd41
-rw-r--r--java/sdo/impl/src/test/resources/simple3.xsd34
-rw-r--r--java/sdo/impl/src/test/resources/simpleWithChangeSummary.xml28
-rw-r--r--java/sdo/impl/src/test/resources/simpleWithChangeSummary.xsd49
-rw-r--r--java/sdo/impl/src/test/resources/simpleWithChangeSummaryUndone.xml19
-rw-r--r--java/sdo/impl/src/test/resources/simplechangesummary.xml33
-rw-r--r--java/sdo/impl/src/test/resources/substitutionValues1.xml23
-rw-r--r--java/sdo/impl/src/test/resources/substitutionValues2.xml23
-rw-r--r--java/sdo/impl/src/test/resources/xpath.xml51
-rw-r--r--java/sdo/impl/src/test/resources/xpath.xsd75
-rw-r--r--java/sdo/impl/src/test/resources/xsdCorners.xsd34
263 files changed, 0 insertions, 68466 deletions
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/AnyTypeDataObject.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/AnyTypeDataObject.java
deleted file mode 100644
index 79deec6d29..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/AnyTypeDataObject.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo;
-
-import commonj.sdo.DataObject;
-
-import org.eclipse.emf.ecore.xml.type.AnyType;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Any Type Data Object</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.apache.tuscany.sdo.SDOPackage#getAnyTypeDataObject()
- * @model extendedMetaData="kind='mixed'"
- * @generated
- */
-public interface AnyTypeDataObject extends DataObject, AnyType {
-} // AnyTypeDataObject
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOExtendedMetaData.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOExtendedMetaData.java
deleted file mode 100644
index ad546cc614..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOExtendedMetaData.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo;
-
-import java.util.List;
-
-import org.apache.tuscany.sdo.helper.SDOExtendedMetaDataImpl;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-public interface SDOExtendedMetaData extends ExtendedMetaData {
-
- SDOExtendedMetaData INSTANCE = new SDOExtendedMetaDataImpl();
-
- List getAliasNames(EModelElement eModelElement);
-
- void setAliasNames(EModelElement eModelElement, List aliasNames);
-
- void setAliasNames(EModelElement eModelElement, String aliasNames);
-
- void setFeatureNamespaceMatchingLax(boolean featureNamespaceMatchingLax);
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOFactory.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOFactory.java
deleted file mode 100644
index 04ef0d714a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOFactory.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.SDOPackage
- * @generated
- */
-public interface SDOFactory extends EFactory{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- SDOFactory eINSTANCE = org.apache.tuscany.sdo.impl.SDOFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Change Summary</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Change Summary</em>'.
- * @generated
- */
- ChangeSummary createChangeSummary();
-
- /**
- * Returns a new object of class '<em>Change Summary Setting</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Change Summary Setting</em>'.
- * @generated
- */
- ChangeSummary.Setting createChangeSummarySetting();
-
- /**
- * Returns a new object of class '<em>Data Graph</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Data Graph</em>'.
- * @generated
- */
- DataGraph createDataGraph();
-
- /**
- * Returns a new object of class '<em>Any Type Data Object</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Any Type Data Object</em>'.
- * @generated
- */
- AnyTypeDataObject createAnyTypeDataObject();
-
- /**
- * Returns a new object of class '<em>Simple Any Type Data Object</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Simple Any Type Data Object</em>'.
- * @generated
- */
- SimpleAnyTypeDataObject createSimpleAnyTypeDataObject();
-
- /**
- * Returns a new object of class '<em>Class</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Class</em>'.
- * @generated
- */
- Type createClass();
-
- /**
- * Returns a new object of class '<em>Data Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Data Type</em>'.
- * @generated
- */
- Type createDataType();
-
- /**
- * Returns a new object of class '<em>Attribute</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Attribute</em>'.
- * @generated
- */
- Property createAttribute();
-
- /**
- * Returns a new object of class '<em>Reference</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Reference</em>'.
- * @generated
- */
- Property createReference();
-
- /**
- * Returns a new object of class '<em>Enum</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Enum</em>'.
- * @generated
- */
- Type createEnum();
-
- /**
- * Returns a new object of class '<em>Dynamic Data Object</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Dynamic Data Object</em>'.
- * @generated
- */
- DataObject createDynamicDataObject();
-
- /**
- * Returns a new object of class '<em>Store Data Object</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Store Data Object</em>'.
- * @generated
- */
- DataObject createStoreDataObject();
-
- /**
- * Returns a new object of class '<em>Dynamic Store Data Object</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Dynamic Store Data Object</em>'.
- * @generated
- */
- DataObject createDynamicStoreDataObject();
-
- /**
- * Returns a new object of class '<em>Extensible Data Object</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Extensible Data Object</em>'.
- * @generated
- */
- DataObject createExtensibleDataObject();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- SDOPackage getSDOPackage();
-
- ChangeSummary.Setting createChangeSummarySetting(EStructuralFeature eStructuralFeature, Object value, boolean isSet);
-
-} //SDOFactory
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOPackage.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOPackage.java
deleted file mode 100644
index a21f2308ab..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOPackage.java
+++ /dev/null
@@ -1,1657 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.change.ChangePackage;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.SDOFactory
- * @model kind="package"
- * @generated
- */
-public interface SDOPackage extends EPackage{
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "sdo";
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.apache.org/tuscany/2005/SDO";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "sdo";
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- SDOPackage eINSTANCE = org.apache.tuscany.sdo.impl.SDOPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.DataGraphImpl <em>Data Graph</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.DataGraphImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getDataGraph()
- * @generated
- */
- int DATA_GRAPH = 2;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.ChangeSummaryImpl <em>Change Summary</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.ChangeSummaryImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getChangeSummary()
- * @generated
- */
- int CHANGE_SUMMARY = 0;
-
- /**
- * The feature id for the '<em><b>Object Changes</b></em>' map.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY__OBJECT_CHANGES = ChangePackage.CHANGE_DESCRIPTION__OBJECT_CHANGES;
-
- /**
- * The feature id for the '<em><b>Objects To Detach</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY__OBJECTS_TO_DETACH = ChangePackage.CHANGE_DESCRIPTION__OBJECTS_TO_DETACH;
-
- /**
- * The feature id for the '<em><b>Objects To Attach</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY__OBJECTS_TO_ATTACH = ChangePackage.CHANGE_DESCRIPTION__OBJECTS_TO_ATTACH;
-
- /**
- * The feature id for the '<em><b>Resource Changes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY__RESOURCE_CHANGES = ChangePackage.CHANGE_DESCRIPTION__RESOURCE_CHANGES;
-
- /**
- * The feature id for the '<em><b>EData Graph</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY__EDATA_GRAPH = ChangePackage.CHANGE_DESCRIPTION_FEATURE_COUNT + 0;
-
-//TODO T-153
-// /**
-// * The feature id for the '<em><b>EData Graph</b></em>' reference.
-// * <!-- begin-user-doc -->
-// * <!-- end-user-doc -->
-// * *handcrafted but could be generated
-// * @ordered
-// */
-// int CHANGE_SUMMARY__EDATA_OBJECT = ChangePackage.CHANGE_DESCRIPTION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Change Summary</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- * @ordered
- */
-//TODO T-153
- int CHANGE_SUMMARY_FEATURE_COUNT = ChangePackage.CHANGE_DESCRIPTION_FEATURE_COUNT + 1;
- //int CHANGE_SUMMARY_FEATURE_COUNT = ChangePackage.CHANGE_DESCRIPTION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.ChangeSummarySettingImpl <em>Change Summary Setting</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.ChangeSummarySettingImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getChangeSummarySetting()
- * @generated
- */
- int CHANGE_SUMMARY_SETTING = 1;
-
- /**
- * The feature id for the '<em><b>Feature Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING__FEATURE_NAME = ChangePackage.FEATURE_CHANGE__FEATURE_NAME;
-
- /**
- * The feature id for the '<em><b>Data Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING__DATA_VALUE = ChangePackage.FEATURE_CHANGE__DATA_VALUE;
-
- /**
- * The feature id for the '<em><b>Set</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING__SET = ChangePackage.FEATURE_CHANGE__SET;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING__VALUE = ChangePackage.FEATURE_CHANGE__VALUE;
-
- /**
- * The feature id for the '<em><b>Feature</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING__FEATURE = ChangePackage.FEATURE_CHANGE__FEATURE;
-
- /**
- * The feature id for the '<em><b>Reference Value</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING__REFERENCE_VALUE = ChangePackage.FEATURE_CHANGE__REFERENCE_VALUE;
-
- /**
- * The feature id for the '<em><b>List Changes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING__LIST_CHANGES = ChangePackage.FEATURE_CHANGE__LIST_CHANGES;
-
- /**
- * The number of structural features of the '<em>Change Summary Setting</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CHANGE_SUMMARY_SETTING_FEATURE_COUNT = ChangePackage.FEATURE_CHANGE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Resource Set</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_GRAPH__RESOURCE_SET = EcorePackage.EOBJECT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Root Resource</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_GRAPH__ROOT_RESOURCE = EcorePackage.EOBJECT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>EChange Summary</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_GRAPH__ECHANGE_SUMMARY = EcorePackage.EOBJECT_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>ERoot Object</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_GRAPH__EROOT_OBJECT = EcorePackage.EOBJECT_FEATURE_COUNT + 3;
-
- /**
- * The number of structural features of the '<em>Data Graph</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_GRAPH_FEATURE_COUNT = EcorePackage.EOBJECT_FEATURE_COUNT + 4;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.DataObjectImpl <em>Data Object</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.DataObjectImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getDataObject()
- * @generated
- */
- int DATA_OBJECT = 3;
-
- /**
- * The meta object id for the '{@link commonj.sdo.Property <em>Property</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see commonj.sdo.Property
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getProperty()
- * @generated
- */
- int PROPERTY = 4;
-
- /**
- * The meta object id for the '{@link commonj.sdo.Sequence <em>Sequence</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see commonj.sdo.Sequence
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getSequence()
- * @generated
- */
- int SEQUENCE = 5;
-
- /**
- * The meta object id for the '{@link commonj.sdo.Type <em>Type</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see commonj.sdo.Type
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getType()
- * @generated
- */
- int TYPE = 6;
-
- /**
- * The number of structural features of the '<em>Data Object</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_OBJECT_FEATURE_COUNT = 0;
-
- /**
- * The number of structural features of the '<em>Property</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_FEATURE_COUNT = 0;
-
- /**
- * The number of structural features of the '<em>Sequence</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SEQUENCE_FEATURE_COUNT = 0;
-
- /**
- * The number of structural features of the '<em>Type</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TYPE_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl <em>Any Type Data Object</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getAnyTypeDataObject()
- * @generated
- */
- int ANY_TYPE_DATA_OBJECT = 7;
-
- /**
- * The feature id for the '<em><b>Mixed</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ANY_TYPE_DATA_OBJECT__MIXED = DATA_OBJECT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ANY_TYPE_DATA_OBJECT__ANY = DATA_OBJECT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE = DATA_OBJECT_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Any Type Data Object</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ANY_TYPE_DATA_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.SimpleAnyTypeDataObjectImpl <em>Simple Any Type Data Object</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.SimpleAnyTypeDataObjectImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getSimpleAnyTypeDataObject()
- * @generated
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT = 8;
-
- /**
- * The feature id for the '<em><b>Mixed</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT__MIXED = ANY_TYPE_DATA_OBJECT__MIXED;
-
- /**
- * The feature id for the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT__ANY = ANY_TYPE_DATA_OBJECT__ANY;
-
- /**
- * The feature id for the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE = ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE;
-
- /**
- * The feature id for the '<em><b>Raw Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT__RAW_VALUE = ANY_TYPE_DATA_OBJECT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT__VALUE = ANY_TYPE_DATA_OBJECT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Instance Type</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE = ANY_TYPE_DATA_OBJECT_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Simple Any Type Data Object</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SIMPLE_ANY_TYPE_DATA_OBJECT_FEATURE_COUNT = ANY_TYPE_DATA_OBJECT_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.ClassImpl <em>Class</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.ClassImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getClass_()
- * @generated
- */
- int CLASS = 9;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EANNOTATIONS = EcorePackage.ECLASS__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__NAME = EcorePackage.ECLASS__NAME;
-
- /**
- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__INSTANCE_CLASS_NAME = EcorePackage.ECLASS__INSTANCE_CLASS_NAME;
-
- /**
- * The feature id for the '<em><b>Instance Class</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__INSTANCE_CLASS = EcorePackage.ECLASS__INSTANCE_CLASS;
-
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__DEFAULT_VALUE = EcorePackage.ECLASS__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>EPackage</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EPACKAGE = EcorePackage.ECLASS__EPACKAGE;
-
- /**
- * The feature id for the '<em><b>Abstract</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__ABSTRACT = EcorePackage.ECLASS__ABSTRACT;
-
- /**
- * The feature id for the '<em><b>Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__INTERFACE = EcorePackage.ECLASS__INTERFACE;
-
- /**
- * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__ESUPER_TYPES = EcorePackage.ECLASS__ESUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EOPERATIONS = EcorePackage.ECLASS__EOPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EALL_ATTRIBUTES = EcorePackage.ECLASS__EALL_ATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll References</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EALL_REFERENCES = EcorePackage.ECLASS__EALL_REFERENCES;
-
- /**
- * The feature id for the '<em><b>EReferences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EREFERENCES = EcorePackage.ECLASS__EREFERENCES;
-
- /**
- * The feature id for the '<em><b>EAttributes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EATTRIBUTES = EcorePackage.ECLASS__EATTRIBUTES;
-
- /**
- * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EALL_CONTAINMENTS = EcorePackage.ECLASS__EALL_CONTAINMENTS;
-
- /**
- * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EALL_OPERATIONS = EcorePackage.ECLASS__EALL_OPERATIONS;
-
- /**
- * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EALL_STRUCTURAL_FEATURES = EcorePackage.ECLASS__EALL_STRUCTURAL_FEATURES;
-
- /**
- * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EALL_SUPER_TYPES = EcorePackage.ECLASS__EALL_SUPER_TYPES;
-
- /**
- * The feature id for the '<em><b>EID Attribute</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__EID_ATTRIBUTE = EcorePackage.ECLASS__EID_ATTRIBUTE;
-
- /**
- * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS__ESTRUCTURAL_FEATURES = EcorePackage.ECLASS__ESTRUCTURAL_FEATURES;
-
- /**
- * The number of structural features of the '<em>Class</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_FEATURE_COUNT = EcorePackage.ECLASS_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.DataTypeImpl <em>Data Type</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.DataTypeImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getDataType()
- * @generated
- */
- int DATA_TYPE = 10;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE__EANNOTATIONS = EcorePackage.EDATA_TYPE__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE__NAME = EcorePackage.EDATA_TYPE__NAME;
-
- /**
- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE__INSTANCE_CLASS_NAME = EcorePackage.EDATA_TYPE__INSTANCE_CLASS_NAME;
-
- /**
- * The feature id for the '<em><b>Instance Class</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE__INSTANCE_CLASS = EcorePackage.EDATA_TYPE__INSTANCE_CLASS;
-
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE__DEFAULT_VALUE = EcorePackage.EDATA_TYPE__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>EPackage</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE__EPACKAGE = EcorePackage.EDATA_TYPE__EPACKAGE;
-
- /**
- * The feature id for the '<em><b>Serializable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE__SERIALIZABLE = EcorePackage.EDATA_TYPE__SERIALIZABLE;
-
- /**
- * The number of structural features of the '<em>Data Type</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_TYPE_FEATURE_COUNT = EcorePackage.EDATA_TYPE_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.AttributeImpl <em>Attribute</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.AttributeImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getAttribute()
- * @generated
- */
- int ATTRIBUTE = 11;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__EANNOTATIONS = EcorePackage.EATTRIBUTE__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__NAME = EcorePackage.EATTRIBUTE__NAME;
-
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__ORDERED = EcorePackage.EATTRIBUTE__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__UNIQUE = EcorePackage.EATTRIBUTE__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__LOWER_BOUND = EcorePackage.EATTRIBUTE__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__UPPER_BOUND = EcorePackage.EATTRIBUTE__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__MANY = EcorePackage.EATTRIBUTE__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__REQUIRED = EcorePackage.EATTRIBUTE__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__ETYPE = EcorePackage.EATTRIBUTE__ETYPE;
-
- /**
- * The feature id for the '<em><b>Changeable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__CHANGEABLE = EcorePackage.EATTRIBUTE__CHANGEABLE;
-
- /**
- * The feature id for the '<em><b>Volatile</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__VOLATILE = EcorePackage.EATTRIBUTE__VOLATILE;
-
- /**
- * The feature id for the '<em><b>Transient</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__TRANSIENT = EcorePackage.EATTRIBUTE__TRANSIENT;
-
- /**
- * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__DEFAULT_VALUE_LITERAL = EcorePackage.EATTRIBUTE__DEFAULT_VALUE_LITERAL;
-
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__DEFAULT_VALUE = EcorePackage.EATTRIBUTE__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>Unsettable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__UNSETTABLE = EcorePackage.EATTRIBUTE__UNSETTABLE;
-
- /**
- * The feature id for the '<em><b>Derived</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__DERIVED = EcorePackage.EATTRIBUTE__DERIVED;
-
- /**
- * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__ECONTAINING_CLASS = EcorePackage.EATTRIBUTE__ECONTAINING_CLASS;
-
- /**
- * The feature id for the '<em><b>ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__ID = EcorePackage.EATTRIBUTE__ID;
-
- /**
- * The feature id for the '<em><b>EAttribute Type</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE__EATTRIBUTE_TYPE = EcorePackage.EATTRIBUTE__EATTRIBUTE_TYPE;
-
- /**
- * The number of structural features of the '<em>Attribute</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_FEATURE_COUNT = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.ReferenceImpl <em>Reference</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.ReferenceImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getReference()
- * @generated
- */
- int REFERENCE = 12;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__EANNOTATIONS = EcorePackage.EREFERENCE__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__NAME = EcorePackage.EREFERENCE__NAME;
-
- /**
- * The feature id for the '<em><b>Ordered</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__ORDERED = EcorePackage.EREFERENCE__ORDERED;
-
- /**
- * The feature id for the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__UNIQUE = EcorePackage.EREFERENCE__UNIQUE;
-
- /**
- * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__LOWER_BOUND = EcorePackage.EREFERENCE__LOWER_BOUND;
-
- /**
- * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__UPPER_BOUND = EcorePackage.EREFERENCE__UPPER_BOUND;
-
- /**
- * The feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__MANY = EcorePackage.EREFERENCE__MANY;
-
- /**
- * The feature id for the '<em><b>Required</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__REQUIRED = EcorePackage.EREFERENCE__REQUIRED;
-
- /**
- * The feature id for the '<em><b>EType</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__ETYPE = EcorePackage.EREFERENCE__ETYPE;
-
- /**
- * The feature id for the '<em><b>Changeable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__CHANGEABLE = EcorePackage.EREFERENCE__CHANGEABLE;
-
- /**
- * The feature id for the '<em><b>Volatile</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__VOLATILE = EcorePackage.EREFERENCE__VOLATILE;
-
- /**
- * The feature id for the '<em><b>Transient</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__TRANSIENT = EcorePackage.EREFERENCE__TRANSIENT;
-
- /**
- * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__DEFAULT_VALUE_LITERAL = EcorePackage.EREFERENCE__DEFAULT_VALUE_LITERAL;
-
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__DEFAULT_VALUE = EcorePackage.EREFERENCE__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>Unsettable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__UNSETTABLE = EcorePackage.EREFERENCE__UNSETTABLE;
-
- /**
- * The feature id for the '<em><b>Derived</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__DERIVED = EcorePackage.EREFERENCE__DERIVED;
-
- /**
- * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__ECONTAINING_CLASS = EcorePackage.EREFERENCE__ECONTAINING_CLASS;
-
- /**
- * The feature id for the '<em><b>Containment</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__CONTAINMENT = EcorePackage.EREFERENCE__CONTAINMENT;
-
- /**
- * The feature id for the '<em><b>Container</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__CONTAINER = EcorePackage.EREFERENCE__CONTAINER;
-
- /**
- * The feature id for the '<em><b>Resolve Proxies</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__RESOLVE_PROXIES = EcorePackage.EREFERENCE__RESOLVE_PROXIES;
-
- /**
- * The feature id for the '<em><b>EOpposite</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__EOPPOSITE = EcorePackage.EREFERENCE__EOPPOSITE;
-
- /**
- * The feature id for the '<em><b>EReference Type</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE__EREFERENCE_TYPE = EcorePackage.EREFERENCE__EREFERENCE_TYPE;
-
- /**
- * The number of structural features of the '<em>Reference</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_FEATURE_COUNT = EcorePackage.EREFERENCE_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.EnumImpl <em>Enum</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.EnumImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getEnum()
- * @generated
- */
- int ENUM = 13;
-
- /**
- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__EANNOTATIONS = EcorePackage.EENUM__EANNOTATIONS;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__NAME = EcorePackage.EENUM__NAME;
-
- /**
- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__INSTANCE_CLASS_NAME = EcorePackage.EENUM__INSTANCE_CLASS_NAME;
-
- /**
- * The feature id for the '<em><b>Instance Class</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__INSTANCE_CLASS = EcorePackage.EENUM__INSTANCE_CLASS;
-
- /**
- * The feature id for the '<em><b>Default Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__DEFAULT_VALUE = EcorePackage.EENUM__DEFAULT_VALUE;
-
- /**
- * The feature id for the '<em><b>EPackage</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__EPACKAGE = EcorePackage.EENUM__EPACKAGE;
-
- /**
- * The feature id for the '<em><b>Serializable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__SERIALIZABLE = EcorePackage.EENUM__SERIALIZABLE;
-
- /**
- * The feature id for the '<em><b>ELiterals</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM__ELITERALS = EcorePackage.EENUM__ELITERALS;
-
- /**
- * The number of structural features of the '<em>Enum</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ENUM_FEATURE_COUNT = EcorePackage.EENUM_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.DynamicDataObjectImpl <em>Dynamic Data Object</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.DynamicDataObjectImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getDynamicDataObject()
- * @generated
- */
- int DYNAMIC_DATA_OBJECT = 14;
-
- /**
- * The number of structural features of the '<em>Dynamic Data Object</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DYNAMIC_DATA_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.StoreDataObjectImpl <em>Store Data Object</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.StoreDataObjectImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getStoreDataObject()
- * @generated
- */
- int STORE_DATA_OBJECT = 15;
-
- /**
- * The number of structural features of the '<em>Store Data Object</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STORE_DATA_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.DynamicStoreDataObjectImpl <em>Dynamic Store Data Object</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.DynamicStoreDataObjectImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getDynamicStoreDataObject()
- * @generated
- */
- int DYNAMIC_STORE_DATA_OBJECT = 16;
-
- /**
- * The number of structural features of the '<em>Dynamic Store Data Object</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DYNAMIC_STORE_DATA_OBJECT_FEATURE_COUNT = STORE_DATA_OBJECT_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.apache.tuscany.sdo.impl.ExtensibleDataObjectImpl <em>Extensible Data Object</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.apache.tuscany.sdo.impl.ExtensibleDataObjectImpl
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getExtensibleDataObject()
- * @generated
- */
- int EXTENSIBLE_DATA_OBJECT = 17;
-
- /**
- * The number of structural features of the '<em>Extensible Data Object</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENSIBLE_DATA_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '<em>EJava List</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see java.util.List
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getEJavaList()
- * @generated
- */
- int EJAVA_LIST = 18;
-
- /**
- * The meta object id for the '<em>EObject Stream Exception</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see java.io.ObjectStreamException
- * @see org.apache.tuscany.sdo.impl.SDOPackageImpl#getEObjectStreamException()
- * @generated
- */
- int EOBJECT_STREAM_EXCEPTION = 19;
-
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.ChangeSummary <em>Change Summary</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Change Summary</em>'.
- * @see commonj.sdo.ChangeSummary
- * @model instanceClass="commonj.sdo.ChangeSummary"
- * @generated
- */
- EClass getChangeSummary();
-
- /**
- * Returns the meta object for the reference '{@link commonj.sdo.ChangeSummary#getEDataGraph <em>EData Graph</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>EData Graph</em>'.
- * @see commonj.sdo.ChangeSummary#getEDataGraph()
- * @see #getChangeSummary()
- * @generated
- */
- EReference getChangeSummary_EDataGraph();
-
-// TODO T-153
-// /**
-// * Returns the meta object for the reference '{@link commonj.sdo.ChangeSummary#getEDataGraph <em>EData Graph</em>}'.
-// * <!-- begin-user-doc -->
-// * <!-- end-user-doc -->
-// * @return the meta object for the reference '<em>EData Graph</em>'.
-// * @see commonj.sdo.ChangeSummary#getEDataGraph()
-// * @see #getChangeSummary()
-// * *handcrafted but could be generated
-// */
-// EReference getChangeSummary_EDataObject();
-
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.ChangeSummary.Setting <em>Change Summary Setting</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Change Summary Setting</em>'.
- * @see commonj.sdo.ChangeSummary.Setting
- * @model instanceClass="commonj.sdo.ChangeSummary$Setting"
- * @generated
- */
- EClass getChangeSummarySetting();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.DataGraph <em>Data Graph</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Data Graph</em>'.
- * @see commonj.sdo.DataGraph
- * @model instanceClass="commonj.sdo.DataGraph"
- * @generated
- */
- EClass getDataGraph();
-
- /**
- * Returns the meta object for the attribute '{@link commonj.sdo.DataGraph#getResourceSet <em>Resource Set</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Resource Set</em>'.
- * @see commonj.sdo.DataGraph#getResourceSet()
- * @see #getDataGraph()
- * @generated
- */
- EAttribute getDataGraph_ResourceSet();
-
- /**
- * Returns the meta object for the attribute '{@link commonj.sdo.DataGraph#getRootResource <em>Root Resource</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Root Resource</em>'.
- * @see commonj.sdo.DataGraph#getRootResource()
- * @see #getDataGraph()
- * @generated
- */
- EAttribute getDataGraph_RootResource();
-
- /**
- * Returns the meta object for the reference '{@link commonj.sdo.DataGraph#getEChangeSummary <em>EChange Summary</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>EChange Summary</em>'.
- * @see commonj.sdo.DataGraph#getEChangeSummary()
- * @see #getDataGraph()
- * @generated
- */
- EReference getDataGraph_EChangeSummary();
-
- /**
- * Returns the meta object for the reference '{@link commonj.sdo.DataGraph#getERootObject <em>ERoot Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>ERoot Object</em>'.
- * @see commonj.sdo.DataGraph#getERootObject()
- * @see #getDataGraph()
- * @generated
- */
- EReference getDataGraph_ERootObject();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.DataObject <em>Data Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Data Object</em>'.
- * @see commonj.sdo.DataObject
- * @model instanceClass="commonj.sdo.DataObject"
- * @generated
- */
- EClass getDataObject();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Property <em>Property</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Property</em>'.
- * @see commonj.sdo.Property
- * @model instanceClass="commonj.sdo.Property"
- * @generated
- */
- EClass getProperty();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Sequence <em>Sequence</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Sequence</em>'.
- * @see commonj.sdo.Sequence
- * @model instanceClass="commonj.sdo.Sequence"
- * @generated
- */
- EClass getSequence();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Type <em>Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Type</em>'.
- * @see commonj.sdo.Type
- * @model instanceClass="commonj.sdo.Type"
- * @generated
- */
- EClass getType();
-
- /**
- * Returns the meta object for class '{@link org.apache.tuscany.sdo.AnyTypeDataObject <em>Any Type Data Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Any Type Data Object</em>'.
- * @see org.apache.tuscany.sdo.AnyTypeDataObject
- * @generated
- */
- EClass getAnyTypeDataObject();
-
- /**
- * Returns the meta object for class '{@link org.apache.tuscany.sdo.SimpleAnyTypeDataObject <em>Simple Any Type Data Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Simple Any Type Data Object</em>'.
- * @see org.apache.tuscany.sdo.SimpleAnyTypeDataObject
- * @generated
- */
- EClass getSimpleAnyTypeDataObject();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Type <em>Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Class</em>'.
- * @see commonj.sdo.Type
- * @model instanceClass="commonj.sdo.Type"
- * @generated
- */
- EClass getClass_();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Type <em>Data Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Data Type</em>'.
- * @see commonj.sdo.Type
- * @model instanceClass="commonj.sdo.Type"
- * @generated
- */
- EClass getDataType();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Property <em>Attribute</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Attribute</em>'.
- * @see commonj.sdo.Property
- * @model instanceClass="commonj.sdo.Property"
- * @generated
- */
- EClass getAttribute();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Property <em>Reference</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Reference</em>'.
- * @see commonj.sdo.Property
- * @model instanceClass="commonj.sdo.Property"
- * @generated
- */
- EClass getReference();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.Type <em>Enum</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Enum</em>'.
- * @see commonj.sdo.Type
- * @model instanceClass="commonj.sdo.Type"
- * @generated
- */
- EClass getEnum();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.DataObject <em>Dynamic Data Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Dynamic Data Object</em>'.
- * @see commonj.sdo.DataObject
- * @model instanceClass="commonj.sdo.DataObject"
- * @generated
- */
- EClass getDynamicDataObject();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.DataObject <em>Store Data Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Store Data Object</em>'.
- * @see commonj.sdo.DataObject
- * @model instanceClass="commonj.sdo.DataObject"
- * @generated
- */
- EClass getStoreDataObject();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.DataObject <em>Dynamic Store Data Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Dynamic Store Data Object</em>'.
- * @see commonj.sdo.DataObject
- * @model instanceClass="commonj.sdo.DataObject"
- * @generated
- */
- EClass getDynamicStoreDataObject();
-
- /**
- * Returns the meta object for class '{@link commonj.sdo.DataObject <em>Extensible Data Object</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Extensible Data Object</em>'.
- * @see commonj.sdo.DataObject
- * @model instanceClass="commonj.sdo.DataObject"
- * @generated
- */
- EClass getExtensibleDataObject();
-
- /**
- * Returns the meta object for data type '{@link java.util.List <em>EJava List</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em>EJava List</em>'.
- * @see java.util.List
- * @model instanceClass="java.util.List" serializable="false"
- * @generated
- */
- EDataType getEJavaList();
-
- /**
- * Returns the meta object for data type '{@link java.io.ObjectStreamException <em>EObject Stream Exception</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em>EObject Stream Exception</em>'.
- * @see java.io.ObjectStreamException
- * @model instanceClass="java.io.ObjectStreamException" serializable="false"
- * @generated
- */
- EDataType getEObjectStreamException();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- SDOFactory getSDOFactory();
-
-} //SDOPackage
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOTypeVisitor.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOTypeVisitor.java
deleted file mode 100644
index 5d3640100c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SDOTypeVisitor.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-/**
- * Visitor interface that allows applications to process SDO type metadata.
- *
- * @version $Rev$ $Date$
- */
-public interface SDOTypeVisitor {
- /**
- * Visit a type definition.
- *
- * @param type the type to visit
- */
- void visitType(Type type);
-
- /**
- * Visit a property definition.
- *
- * @param property the property to visit
- */
- void visitProperty(Property property);
-
- /**
- * Visit after all properties.
- */
- void visitEnd();
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SimpleAnyTypeDataObject.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SimpleAnyTypeDataObject.java
deleted file mode 100644
index 93ff2ebf14..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/SimpleAnyTypeDataObject.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo;
-
-import org.eclipse.emf.ecore.xml.type.SimpleAnyType;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Simple Any Type Data Object</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.apache.tuscany.sdo.SDOPackage#getSimpleAnyTypeDataObject()
- * @model extendedMetaData="kind='simple'"
- * @generated
- */
-public interface SimpleAnyTypeDataObject extends AnyTypeDataObject, SimpleAnyType {
-} // SimpleAnyTypeDataObject
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java
deleted file mode 100644
index 3fe2cd952e..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.util.List;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.Opcodes;
-
-import org.apache.tuscany.sdo.SDOTypeVisitor;
-
-/**
- * Implementation of a generator that will directly emit bytecode for an interface that
- * corresponds to the static properties of a SDO type.
- *
- * @version $Rev$ $Date$
- */
-public class BytecodeInterfaceGenerator implements SDOTypeVisitor {
- private final ClassWriter cw;
-
- public BytecodeInterfaceGenerator() {
- cw = new ClassWriter(false);
- }
-
- public void visitType(Type type) {
- String name = type.getName();
- int lastDot = name.lastIndexOf('.');
- if (lastDot != -1) {
- name = name.replace('.', '/');
- } else {
- name = Character.toUpperCase(name.charAt(0)) + name.substring(1);
- }
-
- List baseTypes = type.getBaseTypes();
- String[] interfaces = new String[baseTypes.size()];
- for (int i = 0; i < baseTypes.size(); i++) {
- Type baseType = (Type) baseTypes.get(i);
- interfaces[i] = baseType.getInstanceClass().getName().replace('.', '/');
- }
-
- cw.visit(Opcodes.V1_4,
- Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT + Opcodes.ACC_INTERFACE,
- name, null, "java/lang/Object", interfaces);
- }
-
- public void visitProperty(Property property) {
- String name = property.getName();
- String propertyName = Character.toUpperCase(name.charAt(0)) + name.substring(1);
- Class javaType = property.getType().getInstanceClass();
- String desc = org.objectweb.asm.Type.getDescriptor(javaType);
-
- if (property.isMany()) {
- cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT, "get" + propertyName, "()Ljava/util/List;", null, null).visitEnd();
- } else {
- if (boolean.class.equals(javaType)) {
- cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT, "is" + propertyName, "()Z", null, null).visitEnd();
- } else {
- cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT, "get" + propertyName, "()" + desc, null, null).visitEnd();
- }
- if (!property.isReadOnly()) {
- cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT, "set" + propertyName, '(' + desc + ")V", null, null).visitEnd();
- }
- }
- }
-
- public void visitEnd() {
- cw.visitEnd();
- }
-
- /**
- * Return the bytecode for the interface class in a form that can be written
- * to disk, added to a JAR file, or passed to a ClassLoader.
- *
- * @return the bytecode for the SDO Type's interface class
- */
- public byte[] getClassData() {
- return cw.toByteArray();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/GenerationException.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/GenerationException.java
deleted file mode 100644
index 3d645be1da..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/GenerationException.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-/**
- * Exception indicating there was a problem with code generation.
- *
- * @version $Rev$ $Date$
- */
-public abstract class GenerationException extends RuntimeException {
- public GenerationException() {
- }
-
- public GenerationException(String message) {
- super(message);
- }
-
- public GenerationException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public GenerationException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java
deleted file mode 100644
index dc88a0d60d..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.io.PrintWriter;
-import java.util.List;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.SDOTypeVisitor;
-
-/**
- * Implementation of a generator that will output the source code for a Java interface
- * that corresponds to the SDO Type's static properties.
- *
- * @version $Rev$ $Date$
- */
-public class JavaInterfaceGenerator implements SDOTypeVisitor {
-
- private static String canonicalize(String className) {
- if (className == null) {
- return "";
- }
- if (className.charAt(0) != '[') { // if not array
- return className;
- }
- // process array
- boolean invalidClassName = false;
- int nestLevel = 1;
- StringBuffer sb = new StringBuffer();
- try {
- while (className.charAt(nestLevel) == '[') {
- nestLevel++;
- }
- char typeChar = className.charAt(nestLevel);
- int end = nestLevel;
- switch (typeChar) {
- case 'L':
- end = className.length() - 1;
- if (className.charAt(end) != ';') {
- invalidClassName = true;
- } else {
- sb.append(className.substring(nestLevel+1, end));
- }
- break;
- case 'Z':
- sb.append("boolean");
- break;
- case 'B':
- sb.append("byte");
- break;
- case 'C':
- sb.append("char");
- break;
- case 'D':
- sb.append("double");
- break;
- case 'F':
- sb.append("float");
- break;
- case 'I':
- sb.append("int");
- break;
- case 'J':
- sb.append("long");
- break;
- case 'S':
- sb.append("short");
- break;
- default:
- invalidClassName = true;
- break;
- }
- if (end != (className.length() - 1)) {
- invalidClassName = true; // we have not used all the characters
- } else {
- for (int i=0; i<nestLevel; i++) {
- sb.append("[]");
- }
- }
- } catch(Exception e) {
- invalidClassName = true;
- }
- if (invalidClassName) {
- System.err.println("unable to canonicalize class name: "+className);
- return className;
- }
- return sb.toString();
- }
-
- private final PrintWriter writer;
-
- /**
- * Constructor providing the Writer to output the source to.
- *
- * @param writer where the generated source code will be written to
- */
- public JavaInterfaceGenerator(PrintWriter writer) {
- this.writer = writer;
- }
-
- public void visitType(Type type) {
- String name = type.getName();
- int lastDot = name.lastIndexOf('.');
- if (lastDot != -1) {
- writer.print("package ");
- writer.print(name.substring(0, lastDot));
- writer.println(';');
- writer.println();
-
- name = name.substring(lastDot + 1);
- } else {
- name = Character.toUpperCase(name.charAt(0)) + name.substring(1);
- }
-
- writer.print("public interface ");
- writer.print(name);
- List baseTypes = type.getBaseTypes();
- for (int i = 0; i < baseTypes.size(); i++) {
- Type baseType = (Type) baseTypes.get(i);
- if (i == 0) {
- writer.print(" extends ");
- } else {
- writer.print(", ");
- }
- writer.print(baseType.getInstanceClass().getName());
- }
-
- writer.println(" {");
- }
-
- public void visitProperty(Property property) {
- String name = property.getName();
- String propertyName = Character.toUpperCase(name.charAt(0)) + name.substring(1);
- String javaType = canonicalize(property.getType().getInstanceClass().getName());
-
- if (!property.isMany()) {
- writer.print(" ");
- writer.print(javaType);
- writer.print("boolean".equals(javaType) ? " is" : " get");
- writer.print(propertyName);
- writer.println("();");
- if (!property.isReadOnly()) {
- writer.print(" void set");
- writer.print(propertyName);
- writer.print('(');
- writer.print(javaType);
- writer.println(" value);");
- }
- } else {
- writer.print(" java.util.List get");
- writer.print(propertyName);
- writer.println("();");
- }
- }
-
- public void visitEnd() {
- writer.println('}');
- writer.flush();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/NoJavaImplementationException.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/NoJavaImplementationException.java
deleted file mode 100644
index a6253e8131..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/NoJavaImplementationException.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import commonj.sdo.Type;
-
-/**
- * Exception that indicates there is no Java mapping for an SDO type.
- *
- * @version $Rev$ $Date$
- */
-public class NoJavaImplementationException extends GenerationException {
- private final Type type;
-
- /**
- * Constructor supplying the Type that did not have a Java implementation.
- * A default message is provided of the form "${URI}#${Name}"
- *
- * @param type the type that did not have a Java implementation.
- */
- public NoJavaImplementationException(Type type) {
- super(type == null ? null : type.getURI() + "#" + type.getName());
- this.type = type;
- }
-
- /**
- * Constructor supplying a message and the Type that did not have a Java implementation.
- *
- * @param message the message
- * @param type the type that did not have a Java implementation.
- */
- public NoJavaImplementationException(String message, Type type) {
- super(message);
- this.type = type;
- }
-
- /**
- * Return the type that did not have a Java implementation.
- * @return the type that did not have a Java implementation
- */
- public Type getType() {
- return type;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOExtendedMetaDataImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOExtendedMetaDataImpl.java
deleted file mode 100644
index 88c714f8bf..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOExtendedMetaDataImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
-/**
- * A BasicExtendedMetaData that uses a supplied (SDO) ecore factory to create properties and types.
- */
-public class BaseSDOExtendedMetaDataImpl extends BasicExtendedMetaData
-{
- protected EcoreFactory ecoreFactory = EcoreFactory.eINSTANCE;
- protected DemandMetaData demandMetaData = new DemandMetaData();
-
- public static class DemandMetaData {
- EClassifier getEObject() { return EcorePackage.eINSTANCE.getEObject(); }
- EClassifier getAnyType() { return XMLTypePackage.eINSTANCE.getAnyType(); }
- EClassifier getAnySimpleType() { return XMLTypePackage.eINSTANCE.getAnySimpleType(); }
- EClassifier getXMLTypeDocumentRoot() { return XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot(); }
- }
-
- public BaseSDOExtendedMetaDataImpl(EPackage.Registry registry)
- {
- super(registry);
- }
-
- public EPackage demandPackage(String namespace)
- {
- EPackage ePackage = demandRegistry.getEPackage(namespace);
- if (ePackage == null)
- {
- ePackage = ecoreFactory.createEPackage();
- ePackage.setNsURI(namespace);
- setQualified(ePackage, namespace != null);
- if (namespace != null)
- {
- ePackage.setNsPrefix
- (namespace.equals(ExtendedMetaData.XMLNS_URI) ?
- namespace.equals(ExtendedMetaData.XML_URI) ?
- "xml" :
- "xmlns" :
- computePrefix(namespace));
- }
- demandRegistry.put(namespace, ePackage);
-
- // demandDocumentRoot(ePackage);
-
- EClass documentRootEClass = ecoreFactory.createEClass();
- documentRootEClass.getESuperTypes().add(demandMetaData.getXMLTypeDocumentRoot());
- documentRootEClass.setName("DocumentRoot");
- ePackage.getEClassifiers().add(documentRootEClass);
- setDocumentRoot(documentRootEClass);
- }
- return ePackage;
- }
-
- public EClassifier demandType(String namespace, String name)
- {
- EPackage ePackage = demandPackage(namespace);
- EClassifier eClassifier = getType(ePackage, name);
- if (eClassifier != null)
- {
- return eClassifier;
- }
- else
- {
- EClass eClass = ecoreFactory.createEClass();
- eClass.setName(name);
- eClass.getESuperTypes().add(demandMetaData.getAnyType());
- setContentKind(eClass, MIXED_CONTENT);
- ePackage.getEClassifiers().add(eClass);
- return eClass;
- }
- }
-
- public EStructuralFeature demandFeature(String namespace, String name, boolean isElement, boolean isReference)
- {
- EPackage ePackage = demandPackage(namespace);
- EClass documentRootEClass = getDocumentRoot(ePackage);
- EStructuralFeature eStructuralFeature =
- isElement ?
- getLocalElement(documentRootEClass, namespace, name) :
- getLocalAttribute(documentRootEClass, namespace, name);
- if (eStructuralFeature != null)
- {
- return eStructuralFeature;
- }
- else
- {
- if (isReference)
- {
- EReference eReference = ecoreFactory.createEReference();
- eReference.setContainment(isElement);
- eReference.setEType(demandMetaData.getEObject());
- eReference.setName(name);
- eReference.setDerived(true);
- eReference.setTransient(true);
- eReference.setVolatile(true);
- documentRootEClass.getEStructuralFeatures().add(eReference);
-
- setFeatureKind(eReference, isElement ? ELEMENT_FEATURE : ATTRIBUTE_FEATURE);
- setNamespace(eReference, namespace);
-
- // Mark the bound as unspecified so that it won't be considered many
- // but can nevertheless be recognized as being unspecified and perhaps still be treat as many.
- //
- if (isElement)
- {
- eReference.setUpperBound(ETypedElement.UNSPECIFIED_MULTIPLICITY);
- }
-
- return eReference;
- }
- else
- {
- EAttribute eAttribute = ecoreFactory.createEAttribute();
- eAttribute.setName(name);
- eAttribute.setEType(demandMetaData.getAnySimpleType());
- eAttribute.setDerived(true);
- eAttribute.setTransient(true);
- eAttribute.setVolatile(true);
- documentRootEClass.getEStructuralFeatures().add(eAttribute);
-
- setFeatureKind(eAttribute, isElement ? ELEMENT_FEATURE : ATTRIBUTE_FEATURE);
- setNamespace(eAttribute, namespace);
-
- // Mark the bound as unspecified so that it won't be considered many
- // but can nevertheless be recognized as being unspecified and perhaps still be treat as many.
- //
- if (isElement)
- {
- eAttribute.setUpperBound(ETypedElement.UNSPECIFIED_MULTIPLICITY);
- }
-
- return eAttribute;
- }
- }
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOXSDEcoreBuilder.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOXSDEcoreBuilder.java
deleted file mode 100644
index 3d297fa671..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/BaseSDOXSDEcoreBuilder.java
+++ /dev/null
@@ -1,1771 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EParameter;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDContentTypeCategory;
-import org.eclipse.xsd.XSDDerivationMethod;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFeature;
-import org.eclipse.xsd.XSDLengthFacet;
-import org.eclipse.xsd.XSDMaxLengthFacet;
-import org.eclipse.xsd.XSDMinLengthFacet;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTerm;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.ecore.XSDEcoreBuilder;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * An XSDEcoreBuilder that uses a supplied (SDO) ecore factory to create properties and types.
- */
-public class BaseSDOXSDEcoreBuilder extends XSDEcoreBuilder
-{
- protected EcorePackage ecorePackage = EcorePackage.eINSTANCE;
- protected EcoreFactory ecoreFactory = EcoreFactory.eINSTANCE;
-
- public BaseSDOXSDEcoreBuilder(ExtendedMetaData extendedMetaData)
- {
- super(extendedMetaData);
- }
-
- private void createDocumentRoot(XSDSchema xsdSchema, EPackage ePackage) {
- EClass documentEClass = ecoreFactory.createEClass();
- String name = getEcoreAttribute(xsdSchema, "documentRoot");
- if (name == null)
- {
- name = "DocumentRoot";
- }
- documentEClass.setName(name);
-
- extendedMetaData.setDocumentRoot(documentEClass);
-
- ePackage.getEClassifiers().add(documentEClass);
-
- createFeature
- (documentEClass,
- "mixed",
- ecorePackage.getEFeatureMapEntry(),
- null,
- 0,
- -1);
-
- EStructuralFeature xmlnsPrefixMapFeature =
- createFeature
- (documentEClass,
- "xMLNSPrefixMap",
- ecorePackage.getEStringToStringMapEntry(),
- null,
- 0,
- -1);
- extendedMetaData.setName(xmlnsPrefixMapFeature, "xmlns:prefix");
-
- EStructuralFeature xsiSchemaLocationMapFeature =
- createFeature
- (documentEClass,
- "xSISchemaLocation",
- ecorePackage.getEStringToStringMapEntry(),
- null,
- 0,
- -1);
- extendedMetaData.setName(xsiSchemaLocationMapFeature, "xsi:schemaLocation");
- }
-
- public EPackage getEPackage(XSDNamedComponent xsdNamedComponent)
- {
- XSDSchema containingXSDSchema = xsdNamedComponent.getSchema();
- if (containingXSDSchema != null && !xsdSchemas.contains(containingXSDSchema))
- {
- xsdSchemas.add(containingXSDSchema);
- addInput(containingXSDSchema);
- validate(containingXSDSchema);
- }
-
- String targetNamespace =
- containingXSDSchema == null ?
- xsdNamedComponent.getTargetNamespace() :
- containingXSDSchema.getTargetNamespace();
- EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(targetNamespace);
- if (ePackage == null)
- {
- ePackage = ecoreFactory.createEPackage();
- setAnnotations(ePackage, containingXSDSchema);
- addOutput(ePackage);
- if (targetNamespace == null)
- {
- if (containingXSDSchema == null)
- {
- containingXSDSchema = rootSchema;
- }
- ePackage.setName(validName(containingXSDSchema.eResource().getURI().trimFileExtension().lastSegment(), true));
- ePackage.setNsURI(containingXSDSchema.eResource().getURI().toString());
-
- // Also register against the nsURI for the case that the target namespace is null.
- //
- // extendedMetaData.putPackage(ePackage.getNsURI(), ePackage);
- }
- else
- {
- String qualifiedPackageName = qualifiedPackageName(targetNamespace);
- ePackage.setName(qualifiedPackageName);
- ePackage.setNsURI(targetNamespace);
- }
-
- String nsPrefix = ePackage.getName();
- int index = nsPrefix.lastIndexOf('.');
- nsPrefix = index == -1 ? nsPrefix : nsPrefix.substring(index + 1);
-
- // http://www.w3.org/TR/REC-xml-names/#xmlReserved
- // Namespace Constraint: Leading "XML"
- // Prefixes beginning with the three-letter sequence x, m, l, in any case combination,
- // are reserved for use by XML and XML-related specifications.
- //
- if (nsPrefix.toLowerCase().startsWith("xml"))
- {
- nsPrefix = "_" + nsPrefix;
- }
- ePackage.setNsPrefix(nsPrefix);
-
- extendedMetaData.setQualified(ePackage, targetNamespace != null);
- extendedMetaData.putPackage(targetNamespace, ePackage);
-
- targetNamespaceToEPackageMap.put(targetNamespace, ePackage);
-
- createDocumentRoot(xsdNamedComponent.getSchema(), ePackage);
- }
-
- return ePackage;
- }
-
- protected EClassifier computeEClassifier(XSDTypeDefinition xsdTypeDefinition)
- {
- if (xsdTypeDefinition == null)
- {
- return getBuiltInEClassifier(rootSchema.getSchemaForSchemaNamespace(), "anySimpleType");
- }
- else if (xsdTypeDefinition instanceof XSDSimpleTypeDefinition)
- {
- return computeEDataType((XSDSimpleTypeDefinition)xsdTypeDefinition);
- }
- else
- {
- return computeEClass((XSDComplexTypeDefinition)xsdTypeDefinition);
- }
- }
-
- protected EDataType computeEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
- {
- if (xsdSimpleTypeDefinition == null)
- {
- return (EDataType)getBuiltInEClassifier(rootSchema.getSchemaForSchemaNamespace(), "anySimpleType");
- }
- else if (XSDConstants.isSchemaForSchemaNamespace(xsdSimpleTypeDefinition.getTargetNamespace()))
- {
- String name = xsdSimpleTypeDefinition.getName();
- if (name != null)
- {
- EDataType result = (EDataType)getBuiltInEClassifier(xsdSimpleTypeDefinition.getTargetNamespace(), "anyType".equals(name) ? "anySimpleType" : name);
- if (result != null)
- {
- return result;
- }
- }
- }
- else if (xsdSimpleTypeDefinition.getContainer() == null)
- {
- return (EDataType)getBuiltInEClassifier(rootSchema.getSchemaForSchemaNamespace(), "anySimpleType");
- }
-
- String explicitInstanceClassName = getEcoreAttribute(xsdSimpleTypeDefinition, "instanceClass");
- if (explicitInstanceClassName != null)
- {
- EDataType eDataType = ecoreFactory.createEDataType();
- setAnnotations(eDataType, xsdSimpleTypeDefinition);
-
- String aliasName = getEcoreAttribute(xsdSimpleTypeDefinition, "name");
- if (aliasName == null)
- {
- aliasName = validAliasName(xsdSimpleTypeDefinition, true);
- }
- eDataType.setName(aliasName);
- extendedMetaData.setName(eDataType, xsdSimpleTypeDefinition.getAliasName());
-
- eDataType.setInstanceClassName(explicitInstanceClassName);
-
- EPackage ePackage = getEPackage(xsdSimpleTypeDefinition);
- addToSortedList(ePackage.getEClassifiers(), eDataType);
-
- checkForPrimitive(xsdSimpleTypeDefinition, eDataType);
-
- handleFacets(xsdSimpleTypeDefinition, eDataType);
-
- String constraints = getEcoreAttribute(xsdSimpleTypeDefinition, "constraints");
- if (constraints != null)
- {
- EcoreUtil.setAnnotation(eDataType, EcorePackage.eNS_URI, "constraints", constraints);
- }
-
- if ("false".equals(getEcoreAttribute(xsdSimpleTypeDefinition, "serializable")))
- {
- eDataType.setSerializable(false);
- }
- return eDataType;
- }
- else
- {
- EEnum eEnum = computeEEnum(xsdSimpleTypeDefinition);
- if (eEnum != null)
- {
- return eEnum;
- }
- else
- {
- XSDSimpleTypeDefinition baseTypeDefinition = xsdSimpleTypeDefinition.getBaseTypeDefinition();
- if (baseTypeDefinition != null)
- {
- EDataType eDataType = ecoreFactory.createEDataType();
- setAnnotations(eDataType, xsdSimpleTypeDefinition);
-
- String name = getEcoreAttribute(xsdSimpleTypeDefinition, "name");
- if (name == null)
- {
- name = validAliasName(xsdSimpleTypeDefinition, true);
- }
-
- eDataType.setName(name);
- extendedMetaData.setName(eDataType, xsdSimpleTypeDefinition.getAliasName());
-
- EPackage ePackage = getEPackage(xsdSimpleTypeDefinition);
- addToSortedList(ePackage.getEClassifiers(), eDataType);
-
- if (baseTypeDefinition.getVariety() != xsdSimpleTypeDefinition.getVariety())
- {
- if (xsdSimpleTypeDefinition.getVariety() == XSDVariety.LIST_LITERAL)
- {
- EDataType itemEDataType = getEDataType(xsdSimpleTypeDefinition.getItemTypeDefinition());
- extendedMetaData.setItemType(eDataType, itemEDataType);
- eDataType.setInstanceClassName("java.util.List");
- }
- else
- {
- String instanceClassName = null;
- List memberTypes = new ArrayList();
- for (Iterator i = xsdSimpleTypeDefinition.getMemberTypeDefinitions().iterator(); i.hasNext(); )
- {
- XSDSimpleTypeDefinition memberTypeDefinition = (XSDSimpleTypeDefinition)i.next();
- EDataType memberEDataType = getEDataType(memberTypeDefinition);
- memberTypes.add(memberEDataType);
- String memberInstanceClassName = memberEDataType.getInstanceClassName();
- if (memberInstanceClassName == null && memberEDataType instanceof EEnum)
- {
- memberInstanceClassName = "org.eclipse.emf.common.util.Enumerator";
- }
- if (instanceClassName == null)
- {
- instanceClassName = memberInstanceClassName;
- }
- else if (instanceClassName != memberInstanceClassName)
- {
- instanceClassName = "java.lang.Object";
- }
- }
- extendedMetaData.setMemberTypes(eDataType, memberTypes);
- eDataType.setInstanceClassName(instanceClassName);
- }
- }
- else
- {
- EDataType baseEDataType = getEDataType(baseTypeDefinition);
- extendedMetaData.setBaseType(eDataType, baseEDataType);
- String instanceClassName = getInstanceClassName(xsdSimpleTypeDefinition, baseEDataType);
- eDataType.setInstanceClassName
- (instanceClassName == null ?
- "org.eclipse.emf.common.util.Enumerator" :
- instanceClassName);
- }
-
- checkForPrimitive(xsdSimpleTypeDefinition, eDataType);
- handleFacets(xsdSimpleTypeDefinition, eDataType);
-
- String constraints = getEcoreAttribute(xsdSimpleTypeDefinition, "constraints");
- if (constraints != null)
- {
- EcoreUtil.setAnnotation(eDataType, EcorePackage.eNS_URI, "constraints", constraints);
- }
-
- if ("false".equals(getEcoreAttribute(xsdSimpleTypeDefinition, "serializable")))
- {
- eDataType.setSerializable(false);
- }
-
- return eDataType;
- }
- }
- return (EDataType)getBuiltInEClassifier(rootSchema.getSchemaForSchemaNamespace(), "anySimpleType");
- }
- }
-
- protected void checkForPrimitive(EDataType eDataType)
- {
- int index = PRIMITIVES.indexOf(eDataType.getInstanceClassName());
- if (index != -1 || eDataType instanceof EEnum)
- {
- EDataType eDataTypeObject = ecoreFactory.createEDataType();
- eDataTypeObject.setName(eDataType.getName() + "Object");
- if (index != -1)
- {
- eDataTypeObject.setInstanceClassName(PRIMITIVE_WRAPPERS[index]);
- }
- else
- {
- eDataTypeObject.setInstanceClassName("org.eclipse.emf.common.util.Enumerator");
- }
- extendedMetaData.setName(eDataTypeObject, extendedMetaData.getName(eDataType) + ":Object");
- addToSortedList(eDataType.getEPackage().getEClassifiers(), eDataTypeObject);
- extendedMetaData.setBaseType(eDataTypeObject, eDataType);
-
- typeToTypeObjectMap.put(eDataType, eDataTypeObject);
- }
- }
-
- public EClass computeEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition)
- {
- if (xsdComplexTypeDefinition == null)
- {
- return (EClass)getBuiltInEClassifier(rootSchema.getSchemaForSchemaNamespace(), "anyType");
- }
- else if (XSDConstants.isSchemaForSchemaNamespace(xsdComplexTypeDefinition.getTargetNamespace()))
- {
- String name = xsdComplexTypeDefinition.getName();
- if (name != null)
- {
- EClass result = (EClass)getBuiltInEClassifier(xsdComplexTypeDefinition.getTargetNamespace(), name);
- if (result != null)
- {
- return result;
- }
- }
- }
- else if (xsdComplexTypeDefinition.getContainer() == null)
- {
- return (EClass)getBuiltInEClassifier(rootSchema.getSchemaForSchemaNamespace(), "anyType");
- }
-
- EClass eClass = ecoreFactory.createEClass();
- setAnnotations(eClass, xsdComplexTypeDefinition);
- // Do this early to prevent recursive loop.
- xsdComponentToEModelElementMap.put(xsdComplexTypeDefinition, eClass);
-
- if ("true".equals(getEcoreAttribute(xsdComplexTypeDefinition, "interface")))
- {
- eClass.setInterface(true);
- }
-
- String instanceClassName = getEcoreAttribute(xsdComplexTypeDefinition, "instanceClass");
- if (instanceClassName != null)
- {
- eClass.setInstanceClassName(instanceClassName);
- }
-
- String aliasName = getEcoreAttribute(xsdComplexTypeDefinition, "name");
- if (aliasName == null)
- {
- aliasName = validAliasName(xsdComplexTypeDefinition, true);
- }
- eClass.setName(aliasName);
- extendedMetaData.setName(eClass, xsdComplexTypeDefinition.getAliasName());
-
- String constraints = getEcoreAttribute(xsdComplexTypeDefinition, "constraints");
- if (constraints != null)
- {
- EcoreUtil.setAnnotation(eClass, EcorePackage.eNS_URI, "constraints", constraints);
- }
-
- EPackage ePackage = getEPackage(xsdComplexTypeDefinition);
- addToSortedList(ePackage.getEClassifiers(), eClass);
-
- if (xsdComplexTypeDefinition.isAbstract())
- {
- eClass.setAbstract(true);
- }
-
- EClass baseClass = null;
- XSDTypeDefinition baseTypeDefinition = xsdComplexTypeDefinition.getBaseTypeDefinition();
- if (!baseTypeDefinition.isCircular())
- {
- EClassifier baseType = getEClassifier(baseTypeDefinition);
- if (baseType instanceof EClass && baseType != ecorePackage.getEObject())
- {
- eClass.getESuperTypes().add(baseClass = (EClass)baseType);
- }
- }
-
- boolean isRestriction =
- !eClass.getESuperTypes().isEmpty() &&
- xsdComplexTypeDefinition.getDerivationMethod() == XSDDerivationMethod.RESTRICTION_LITERAL;
-
- for (Iterator i = getEcoreTypeQNamesAttribute(xsdComplexTypeDefinition, "implements").iterator(); i.hasNext(); )
- {
- XSDTypeDefinition mixin = (XSDTypeDefinition)i.next();
- if (!XSDConstants.isURType(mixin))
- {
- EClassifier mixinType = getEClassifier(mixin);
- if (mixinType instanceof EClass && mixinType != ecorePackage.getEObject())
- {
- eClass.getESuperTypes().add(mixinType);
- }
- }
- }
-
- // 51210
- // EAnnotation contentParticle = null;
-
- if (xsdComplexTypeDefinition.getContentTypeCategory() == XSDContentTypeCategory.SIMPLE_LITERAL)
- {
- extendedMetaData.setContentKind(eClass, ExtendedMetaData.SIMPLE_CONTENT);
- if (!"SimpleAnyType".equals(eClass.getName()) || !XMLTypePackage.eNS_URI.equals(eClass.getEPackage().getNsURI()))
- {
- if (eClass.getEAllStructuralFeatures().isEmpty())
- {
- XSDComplexTypeContent xsdComplexTypeContent = xsdComplexTypeDefinition.getContent();
- String name = getEcoreAttribute(xsdComplexTypeContent, "name");
- if (name == null)
- {
- name = "value";
- }
- createFeature
- (eClass,
- null,
- name,
- xsdComplexTypeContent,
- false);
- }
- else
- {
- XSDSimpleTypeDefinition xsdSimpleTypeDefinition = xsdComplexTypeDefinition.getSimpleType();
- getEClassifier(xsdSimpleTypeDefinition);
- }
- }
- }
- else
- {
- EStructuralFeature globalGroup = null;
- boolean isMixed = xsdComplexTypeDefinition.getContentTypeCategory() == XSDContentTypeCategory.MIXED_LITERAL;
- String featureMapName = getEcoreAttribute(xsdComplexTypeDefinition, "featureMap");
- if (eClass.getESuperTypes().isEmpty() ?
- "true".equals(getEcoreAttribute(xsdComplexTypeDefinition, "mixed")) :
- extendedMetaData.getMixedFeature((EClass)eClass.getESuperTypes().get(0)) != null)
- {
- isMixed = true;
- }
- extendedMetaData.setContentKind
- (eClass,
- isMixed ?
- ExtendedMetaData.MIXED_CONTENT :
- xsdComplexTypeDefinition.getContentTypeCategory() == XSDContentTypeCategory.EMPTY_LITERAL ?
- ExtendedMetaData.EMPTY_CONTENT :
- ExtendedMetaData.ELEMENT_ONLY_CONTENT);
- if (isMixed)
- {
- EStructuralFeature mixedFeature = extendedMetaData.getMixedFeature(eClass);
- if (mixedFeature == null)
- {
- if (featureMapName == null)
- {
- featureMapName = "mixed";
- }
- mixedFeature =
- createFeature
- (eClass,
- featureMapName,
- ecorePackage.getEFeatureMapEntry(),
- null,
- 0,
- -1);
- extendedMetaData.setName(mixedFeature, ":mixed");
- }
- }
- else
- {
- globalGroup = extendedMetaData.getElement(eClass, null, ":group");
- if (globalGroup == null && featureMapName != null && eClass.getESuperTypes().isEmpty())
- {
- globalGroup =
- createFeature
- (eClass,
- featureMapName,
- ecorePackage.getEFeatureMapEntry(),
- null,
- 0,
- -1);
- extendedMetaData.setName(globalGroup, ":group");
- extendedMetaData.setFeatureKind(globalGroup, ExtendedMetaData.GROUP_FEATURE);
- }
- }
-
- if (xsdComplexTypeDefinition.getContent() != null)
- {
- // 51210
- // Map particleMap = new HashMap();
- Map groups = new HashMap();
- List particleInformation = collectParticles((XSDParticle)xsdComplexTypeDefinition.getContent());
- for (Iterator i = particleInformation.iterator(); i.hasNext(); )
- {
- EffectiveOccurrence effectiveOccurrence = (EffectiveOccurrence)i.next();
- XSDParticle xsdParticle = effectiveOccurrence.xsdParticle;
- EStructuralFeature group = (EStructuralFeature)groups.get(effectiveOccurrence.xsdModelGroup);
- XSDTerm xsdTerm = xsdParticle.getTerm();
- EStructuralFeature eStructuralFeature = null;
- String name = getEcoreAttribute(xsdParticle, "name");
- if (xsdTerm instanceof XSDModelGroup)
- {
- if (!isRestriction)
- {
- XSDModelGroup xsdModelGroup = (XSDModelGroup)xsdTerm;
- if (name == null)
- {
- name = getEcoreAttribute(xsdParticle, "featureMap");
- if (name == null)
- {
- name = getEcoreAttribute(xsdModelGroup, "name");
- if (name == null)
- {
- name = getEcoreAttribute(xsdModelGroup, "featureMap");
- if (name == null)
- {
- if (xsdModelGroup.getContainer() instanceof XSDModelGroupDefinition)
- {
- XSDModelGroupDefinition xsdModelGroupDefinition = (XSDModelGroupDefinition)xsdModelGroup.getContainer();
- name = getEcoreAttribute(xsdModelGroupDefinition, "name");
- if (name == null)
- {
- name = validName(xsdModelGroupDefinition.getName(), true);
- }
- }
- else
- {
- name = "group";
- }
- }
- }
- }
- }
-
- eStructuralFeature =
- createFeature
- (eClass,
- name,
- ecorePackage.getEFeatureMapEntry(),
- xsdParticle,
- 0,
- -1);
- groups.put(xsdTerm, eStructuralFeature);
- extendedMetaData.setName(eStructuralFeature, name + ":" + eClass.getEAllStructuralFeatures().indexOf(eStructuralFeature));
- }
- }
- else if (xsdTerm instanceof XSDWildcard)
- {
- if (!isRestriction)
- {
- if (name == null)
- {
- name = getEcoreAttribute(xsdTerm, "name");
- if (name == null)
- {
- name = "any";
- }
- }
- eStructuralFeature =
- createFeature
- (eClass,
- name,
- ecorePackage.getEFeatureMapEntry(),
- xsdParticle,
- effectiveOccurrence.minOccurs,
- effectiveOccurrence.maxOccurs);
- // 51210
- // particleMap.put(xsdParticle, eStructuralFeature);
- }
- }
- else
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)xsdTerm;
-
- boolean isRedundant = false;
- if (isRestriction)
- {
- isRedundant =
- extendedMetaData.getElement
- (baseClass, xsdElementDeclaration.getTargetNamespace(), xsdElementDeclaration.getName()) != null;
-
- if (!isRedundant)
- {
- group =
- extendedMetaData.getElementWildcardAffiliation
- (baseClass, xsdElementDeclaration.getTargetNamespace(), xsdElementDeclaration.getName());
- }
- }
-
- if (!isRedundant)
- {
- if (name == null)
- {
- name = getEcoreAttribute(xsdElementDeclaration, "name");
- if (name == null)
- {
- name = validName(xsdElementDeclaration.getName(), true);
- }
- }
-
- String groupName = getEcoreAttribute(xsdParticle, "featureMap");
- if (groupName == null)
- {
- groupName = getEcoreAttribute(xsdElementDeclaration, "featureMap");
- }
-
- if (!"".equals(groupName) &&
- (groupName != null ||
- xsdElementDeclaration.isAbstract() ||
- xsdElementDeclaration.getSubstitutionGroup().size() > 1))
- {
- if (groupName == null)
- {
- groupName = name + "Group";
- }
- eStructuralFeature =
- createFeature
- (eClass,
- groupName,
- ecorePackage.getEFeatureMapEntry(),
- xsdParticle,
- effectiveOccurrence.minOccurs,
- effectiveOccurrence.maxOccurs);
-
- eStructuralFeature.setChangeable(true);
-
- extendedMetaData.setFeatureKind(eStructuralFeature, ExtendedMetaData.GROUP_FEATURE);
- extendedMetaData.setName(eStructuralFeature, xsdElementDeclaration.getName() + ":group");
-
- if (group != null)
- {
- extendedMetaData.setGroup(eStructuralFeature, group);
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- }
- else if (isMixed)
- {
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- }
- else if (globalGroup != null)
- {
- extendedMetaData.setGroup(eStructuralFeature, globalGroup);
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- }
-
- group = eStructuralFeature;
- }
-
- eStructuralFeature =
- createFeature(eClass, xsdElementDeclaration, name, xsdParticle, effectiveOccurrence.minOccurs, effectiveOccurrence.maxOccurs);
- // 51210
- // particleMap.put(xsdParticle, eStructuralFeature);
-
- // If the group is turned off, we better make the feature changeable.
- //
- if (!eStructuralFeature.isChangeable() && group == null && getEcoreAttribute(xsdParticle, xsdElementDeclaration, "changeable") == null)
- {
- eStructuralFeature.setChangeable(true);
- }
- }
- }
-
- if (eStructuralFeature != null)
- {
- if (group != null)
- {
- extendedMetaData.setGroup(eStructuralFeature, group);
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- }
- else if (isMixed)
- {
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- }
- else if (globalGroup != null)
- {
- extendedMetaData.setGroup(eStructuralFeature, globalGroup);
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- }
- }
- }
-
- // 51210
- // contentParticle = computeParticleConstraints(eClass, particleMap, (XSDParticle)xsdComplexTypeDefinition.getContent());
- }
- }
-
- // 51210
- // EAnnotation attributeParticle = null;
- // if (isRestriction)
- // {
- // attributeParticle = ecoreFactory.createEAnnotation();
- // attributeParticle.setSource("attributes");
- // }
-
- XSDWildcard baseXSDWildcard = null;
- Collection baseAttributeUses = Collections.EMPTY_LIST;
- Map baseAttributeURIs = new HashMap();
- if (baseTypeDefinition instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition complexBaseTypeDefinition = (XSDComplexTypeDefinition)baseTypeDefinition;
- baseXSDWildcard = complexBaseTypeDefinition.getAttributeWildcard();
- baseAttributeUses = complexBaseTypeDefinition.getAttributeUses();
- for (Iterator i = baseAttributeUses.iterator(); i.hasNext(); )
- {
- XSDAttributeUse xsdAttributeUse = (XSDAttributeUse)i.next();
- baseAttributeURIs.put(xsdAttributeUse.getAttributeDeclaration().getURI(), xsdAttributeUse);
- }
- }
-
- for (Iterator i = getAttributeUses(xsdComplexTypeDefinition).iterator(); i.hasNext(); )
- {
- XSDAttributeUse xsdAttributeUse = (XSDAttributeUse)i.next();
- XSDAttributeDeclaration xsdAttributeDeclaration = xsdAttributeUse.getAttributeDeclaration();
- if (baseAttributeURIs.remove(xsdAttributeDeclaration.getURI()) == null)
- {
- String name = getEcoreAttribute(xsdAttributeUse, "name");
- if (name == null)
- {
- name = getEcoreAttribute(xsdAttributeDeclaration, "name");
- }
- if (name == null)
- {
- name = validName(xsdAttributeDeclaration.getName(), true);
- }
-
- EStructuralFeature eStructuralFeature =
- createFeature(eClass, xsdAttributeDeclaration, name, xsdAttributeUse, xsdAttributeUse.isRequired());
-
- if (isRestriction)
- {
- EStructuralFeature attributeWildcardEStructuralFeature =
- extendedMetaData.getAttributeWildcardAffiliation
- (baseClass, xsdAttributeDeclaration.getTargetNamespace(), xsdAttributeDeclaration.getName());
- if (attributeWildcardEStructuralFeature != null)
- {
- extendedMetaData.setGroup(eStructuralFeature, attributeWildcardEStructuralFeature);
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- }
- }
- }
- /* 51210
- else if (isRestriction && !baseAttributeUses.contains(xsdAttributeUse))
- {
- EStructuralFeature eStructuralFeature =
- extendedMetaData.getAttribute(eClass, xsdAttributeDeclaration.getTargetNamespace(), xsdAttributeDeclaration.getName());
- if (eStructuralFeature != null)
- {
- EAnnotation attributeEAnnotation = ecoreFactory.createEAnnotation();
- if (xsdAttributeUse.isRequired())
- {
- attributeEAnnotation.getDetails().put("minOccurs", "1");
- }
- attributeEAnnotation.getReferences().add(eStructuralFeature);
-
- if (xsdAttributeDeclaration.getTypeDefinition() != null)
- {
- EClassifier type = getEClassifier(xsdAttributeDeclaration.getTypeDefinition());
- if (type != eStructuralFeature.getEType() && type != null)
- {
- attributeEAnnotation.getReferences().add(type);
- }
- }
-
- attributeParticle.getContents().add(attributeEAnnotation);
- }
- }
- */
- }
-
- /* 51210
- if (isRestriction && !baseAttributeURIs.isEmpty())
- {
- for (Iterator i = baseAttributeURIs.values().iterator(); i.hasNext(); )
- {
- XSDAttributeUse xsdAttributeUse = (XSDAttributeUse)i.next();
- XSDAttributeDeclaration xsdAttributeDeclaration = xsdAttributeUse.getAttributeDeclaration();
- EStructuralFeature eStructuralFeature =
- extendedMetaData.getAttribute(eClass, xsdAttributeDeclaration.getTargetNamespace(), xsdAttributeDeclaration.getName());
- if (eStructuralFeature != null)
- {
- EAnnotation attributeEAnnotation = ecoreFactory.createEAnnotation();
- attributeEAnnotation.getReferences().add(eStructuralFeature);
- attributeEAnnotation.getDetails().put("maxOccurs", "0");
- attributeParticle.getContents().add(attributeEAnnotation);
- }
- }
- }
- */
-
- XSDWildcard xsdWildcard = xsdComplexTypeDefinition.getAttributeWildcard();
- if (xsdWildcard != null && baseXSDWildcard != xsdWildcard || XSDConstants.isURType(xsdComplexTypeDefinition))
- {
- if (isRestriction && !XSDConstants.isURType(xsdComplexTypeDefinition))
- {
- // 51210
- // attributeParticle.getDetails().put
- // ("wildcard", BasicExtendedMetaData.getEncodedWildcards(xsdComplexTypeDefinition.getTargetNamespace(), getWildcards(xsdWildcard)));
- }
- else
- {
- String name = getEcoreAttribute(xsdWildcard, "name");
- if (name == null)
- {
- name = "anyAttribute";
- }
- createFeature
- (eClass,
- name,
- ecorePackage.getEFeatureMapEntry(),
- xsdWildcard,
- 0,
- -1);
- }
- }
-
- if (isRestriction)
- {
- // 51210
- // EAnnotation restrictionParticle = ecoreFactory.createEAnnotation();
- // restrictionParticle.setSource("restriction");
- // if (contentParticle != null)
- // {
- // restrictionParticle.getContents().add(contentParticle);
- // }
- // if (!attributeParticle.getContents().isEmpty() || !attributeParticle.getDetails().isEmpty())
- // {
- // restrictionParticle.getContents().add(attributeParticle);
- // }
- // contentParticle = restrictionParticle;
-
- int baseContentKind = extendedMetaData.getContentKind((EClass)eClass.getESuperTypes().get(0));
- if (baseContentKind == ExtendedMetaData.MIXED_CONTENT &&
- xsdComplexTypeDefinition.getContentTypeCategory() == XSDContentTypeCategory.SIMPLE_LITERAL)
- {
- extendedMetaData.setContentKind(eClass, ExtendedMetaData.SIMPLE_CONTENT);
- EStructuralFeature eStructuralFeature =
- createFeature
- (eClass,
- "rawValue",
- getBuiltInEClassifier(xsdComplexTypeDefinition.getSchema().getSchemaForSchemaNamespace(), "string"),
- null,
- 0,
- 1);
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
-
- eStructuralFeature =
- createFeature
- (eClass,
- "value",
- getBuiltInEClassifier(xsdComplexTypeDefinition.getSchema().getSchemaForSchemaNamespace(), "anySimpleType"),
- null,
- 0,
- 1);
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
-
- if ("SimpleAnyType".equals(eClass.getName()) && XMLTypePackage.eNS_URI.equals(eClass.getEPackage().getNsURI()))
- {
- eStructuralFeature =
- createFeature
- (eClass,
- "instanceType",
- ecorePackage.getEDataType(),
- null,
- 1,
- 1);
-
- ((EReference)eStructuralFeature).setResolveProxies(false);
- }
- }
- else
- {
- extendedMetaData.setContentKind(eClass, baseContentKind);
- }
- }
-
- // 51210
- // extendedMetaData.setContent(eClass, contentParticle);
-
- XSDAnnotation xsdAnnotation = xsdComplexTypeDefinition.getAnnotation();
- if (xsdAnnotation != null)
- {
- List applicationInformationList = xsdAnnotation.getApplicationInformation(EcorePackage.eNS_URI);
- for (Iterator i = applicationInformationList.iterator(); i.hasNext(); )
- {
- Element applicationInformation = (Element)i.next();
- if ("operations".equals(applicationInformation.getAttributeNS(EcorePackage.eNS_URI, "key")))
- {
- for (Iterator j = getElements(applicationInformation, "operation").iterator(); j.hasNext(); )
- {
- EOperation eOperation = ecoreFactory.createEOperation();
- Element operation = (Element)j.next();
- String operationName = operation.getAttributeNS(null, "name");
- eOperation.setName(operationName);
- XSDTypeDefinition returnType = getEcoreTypeQNameAttribute(xsdComplexTypeDefinition, operation, null, "type");
- if (returnType != null)
- {
- EClassifier returnEType = getEClassifier(returnType);
- eOperation.setEType(returnEType);
- }
-
- List exceptions = getEcoreTypeQNamesAttribute(xsdComplexTypeDefinition, operation, null, "exceptions");
- for (Iterator k = exceptions.iterator(); k.hasNext(); )
- {
- XSDTypeDefinition exceptionTypeDefinition = (XSDTypeDefinition)k.next();
- eOperation.getEExceptions().add(getEClassifier(exceptionTypeDefinition));
- }
-
- for (Iterator k = getElements(operation, "parameter").iterator(); k.hasNext(); )
- {
- EParameter eParameter = ecoreFactory.createEParameter();
- Element parameter = (Element)k.next();
- String paramaterName = parameter.getAttributeNS(null, "name");
- XSDTypeDefinition parameterType = getEcoreTypeQNameAttribute(xsdComplexTypeDefinition, parameter, null, "type");
- EClassifier parameterEType = getEClassifier(parameterType);
- eParameter.setName(paramaterName);
- eParameter.setEType(parameterEType);
-
- populateETypedElement(eParameter, parameter);
- eOperation.getEParameters().add(eParameter);
- }
-
- List body = getElements(operation, "body");
- if (!body.isEmpty())
- {
- EcoreUtil.setAnnotation(eOperation, "http://www.eclipse.org/emf/2002/GenModel", "body", getText((Element)body.get(0)));
- }
-
- populateETypedElement(eOperation, operation);
- eClass.getEOperations().add(eOperation);
- }
- }
- }
- }
- return eClass;
- }
-
- private String getText(Element element)
- {
- StringBuffer text = new StringBuffer();
- for (Node node = element.getFirstChild(); node != null; node = node.getNextSibling())
- {
- switch (node.getNodeType())
- {
- case Node.TEXT_NODE:
- case Node.CDATA_SECTION_NODE:
- {
- text.append(node.getNodeValue());
- }
- }
- }
- return text.toString();
- }
-
- private List getElements(Element element, String localName)
- {
- List result = new ArrayList();
- for (Node node = element.getFirstChild(); node != null; node = node.getNextSibling())
- {
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- Element child = (Element)node;
- if (localName.equals(child.getLocalName()) && child.getNamespaceURI() == null)
- {
- result.add(child);
- }
- }
- }
- return result;
- }
-
- protected EStructuralFeature createFeature
- (EClass eClass, String name, EClassifier type, XSDComponent xsdComponent, int minOccurs, int maxOccurs)
- {
- if (xsdComponent != null)
- {
- XSDSchema containingXSDSchema = xsdComponent.getSchema();
- if (containingXSDSchema != null && !xsdSchemas.contains(containingXSDSchema))
- {
- xsdSchemas.add(containingXSDSchema);
- addInput(containingXSDSchema);
- validate(containingXSDSchema);
- }
- }
- else if (extendedMetaData.getContentKind(eClass) == ExtendedMetaData.MIXED_CONTENT)
- {
- if (type == ecorePackage.getEFeatureMapEntry())
- {
- EAttribute eAttribute = ecoreFactory.createEAttribute();
- setAnnotations(eAttribute, xsdComponent);
- eAttribute.setName(Character.toLowerCase(name.charAt(0)) + name.substring(1));
- eAttribute.setUnique(false);
- eAttribute.setEType(type);
- eAttribute.setLowerBound(minOccurs);
- eAttribute.setUpperBound(maxOccurs);
- eClass.getEStructuralFeatures().add(eAttribute);
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.ELEMENT_WILDCARD_FEATURE);
- extendedMetaData.setName(eAttribute, ":" + eAttribute.getName());
- return eAttribute;
- }
- else
- {
- EReference eReference = ecoreFactory.createEReference();
- setAnnotations(eReference, xsdComponent);
- eReference.setName(name);
- eReference.setEType(ecorePackage.getEStringToStringMapEntry());
- eReference.setLowerBound(0);
- eReference.setUpperBound(-1);
- eReference.setContainment(true);
- eReference.setResolveProxies(false);
- eReference.setTransient(true);
- eClass.getEStructuralFeatures().add(eReference);
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.ATTRIBUTE_FEATURE);
- return eReference;
- }
- }
-
- if (type instanceof EClass)
- {
- EReference eReference = ecoreFactory.createEReference();
- setAnnotations(eReference, xsdComponent);
- eReference.setName(Character.toLowerCase(name.charAt(0)) + name.substring(1));
- eReference.setEType(type);
- eReference.setLowerBound(minOccurs);
- eReference.setUpperBound(maxOccurs);
-
- eClass.getEStructuralFeatures().add(eReference);
- if (xsdComponent == null || xsdComponent instanceof XSDSimpleTypeDefinition)
- {
- extendedMetaData.setName(eReference, ":" + eClass.getEAllStructuralFeatures().indexOf(eReference));
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.SIMPLE_FEATURE);
- eReference.setResolveProxies(!isLocalReferenceType((XSDSimpleTypeDefinition)xsdComponent));
- }
- else
- {
- map(xsdComponent, eReference);
- if (xsdComponent instanceof XSDParticle)
- {
- eReference.setContainment(true);
- eReference.setResolveProxies(false);
-
- XSDParticle xsdParticle = (XSDParticle)xsdComponent;
-
- XSDTerm xsdTerm = ((XSDParticle)xsdComponent).getTerm();
- if (xsdTerm instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)xsdTerm;
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.ELEMENT_FEATURE);
- extendedMetaData.setName(eReference, xsdElementDeclaration.getName());
- extendedMetaData.setNamespace(eReference, xsdElementDeclaration.getTargetNamespace());
-
- XSDTypeDefinition xsdType = getEffectiveTypeDefinition(xsdParticle, xsdElementDeclaration);
- if (xsdType instanceof XSDSimpleTypeDefinition)
- {
- eReference.setContainment(false);
- eReference.setResolveProxies(!isLocalReferenceType((XSDSimpleTypeDefinition)xsdType));
- }
-
- if (maxOccurs == 1 && xsdElementDeclaration.isNillable())
- {
- eReference.setUnsettable(true);
- }
-
- if (xsdElementDeclaration.isAbstract())
- {
- eReference.setChangeable(false);
- }
-
- String opposite = getEcoreAttribute(xsdParticle, "opposite");
- if (opposite != null)
- {
- eReferenceToOppositeNameMap.put(eReference, opposite);
- }
- }
- else if (xsdTerm instanceof XSDWildcard)
- {
- // EATM shouldn't happen
- XSDWildcard xsdWildcard = (XSDWildcard)xsdTerm;
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.ELEMENT_WILDCARD_FEATURE);
- extendedMetaData.setWildcards(eReference, getWildcards(xsdWildcard));
- extendedMetaData.setProcessingKind(eReference, xsdWildcard.getProcessContents().getValue() + 1);
- extendedMetaData.setName(eReference, ":" + eClass.getEAllStructuralFeatures().indexOf(eReference));
- }
- else
- {
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.GROUP_FEATURE);
- extendedMetaData.setName(eReference, ":" + eClass.getEAllStructuralFeatures().indexOf(eReference));
- }
- }
- else if (xsdComponent instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)xsdComponent;
- eReference.setContainment(true);
- eReference.setResolveProxies(false);
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.ELEMENT_FEATURE);
- extendedMetaData.setName(eReference, xsdElementDeclaration.getName());
- extendedMetaData.setNamespace(eReference, xsdElementDeclaration.getTargetNamespace());
-
- XSDElementDeclaration substitutionGroupAffiliation = xsdElementDeclaration.getSubstitutionGroupAffiliation();
- if (substitutionGroupAffiliation != null)
- {
- EStructuralFeature affiliation = getEStructuralFeature(substitutionGroupAffiliation);
- extendedMetaData.setAffiliation(eReference, affiliation);
- }
- XSDTypeDefinition xsdType = getEffectiveTypeDefinition(null, xsdElementDeclaration);
- if (xsdType instanceof XSDSimpleTypeDefinition)
- {
- eReference.setResolveProxies(!isLocalReferenceType((XSDSimpleTypeDefinition)xsdType));
- }
-
- if (maxOccurs == 1 && xsdElementDeclaration.isNillable())
- {
- eReference.setUnsettable(true);
- }
-
- if (xsdElementDeclaration.isAbstract())
- {
- eReference.setChangeable(false);
- }
- }
- else if (xsdComponent instanceof XSDAttributeUse)
- {
- String opposite = getEcoreAttribute(xsdComponent, "opposite");
- if (opposite != null)
- {
- eReferenceToOppositeNameMap.put(eReference, opposite);
- }
-
- XSDAttributeUse xsdAttributeUse = (XSDAttributeUse)xsdComponent;
- XSDAttributeDeclaration xsdAttributeDeclaration = xsdAttributeUse.getAttributeDeclaration();
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.ATTRIBUTE_FEATURE);
- extendedMetaData.setName(eReference, xsdAttributeDeclaration.getName());
- extendedMetaData.setNamespace(eReference, xsdAttributeDeclaration.getTargetNamespace());
- eReference.setResolveProxies
- (!isLocalReferenceType((XSDSimpleTypeDefinition)getEffectiveTypeDefinition(xsdAttributeUse, xsdAttributeDeclaration)));
- }
- else if (xsdComponent instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration xsdAttributeDeclaration = (XSDAttributeDeclaration)xsdComponent;
- extendedMetaData.setFeatureKind(eReference, ExtendedMetaData.ATTRIBUTE_FEATURE);
- extendedMetaData.setName(eReference, xsdAttributeDeclaration.getName());
- extendedMetaData.setNamespace(eReference, xsdAttributeDeclaration.getTargetNamespace());
- eReference.setResolveProxies
- (!isLocalReferenceType((XSDSimpleTypeDefinition)getEffectiveTypeDefinition(null, xsdAttributeDeclaration)));
- }
- }
-
- return eReference;
- }
- else
- {
- EAttribute eAttribute = ecoreFactory.createEAttribute();
- setAnnotations(eAttribute, xsdComponent);
- eAttribute.setName(Character.toLowerCase(name.charAt(0)) + name.substring(1));
- eAttribute.setUnique(false);
- eAttribute.setEType(type);
- eAttribute.setLowerBound(minOccurs);
- eAttribute.setUpperBound(maxOccurs);
- eClass.getEStructuralFeatures().add(eAttribute);
-
- if (xsdComponent == null || xsdComponent instanceof XSDSimpleTypeDefinition)
- {
- extendedMetaData.setName(eAttribute, ":" + eClass.getEAllStructuralFeatures().indexOf(eAttribute));
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.SIMPLE_FEATURE);
- }
- else
- {
- map(xsdComponent, eAttribute);
- if (xsdComponent instanceof XSDAttributeUse)
- {
- XSDAttributeUse xsdAttributeUse = (XSDAttributeUse)xsdComponent;
- XSDAttributeDeclaration xsdAttributeDeclaration = xsdAttributeUse.getAttributeDeclaration();
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.ATTRIBUTE_FEATURE);
- extendedMetaData.setName(eAttribute, xsdAttributeDeclaration.getName());
- extendedMetaData.setNamespace(eAttribute, xsdAttributeDeclaration.getTargetNamespace());
-
- String defaultValue = getEcoreAttribute(xsdComponent, "default");
- if (defaultValue == null)
- {
- defaultValue = xsdAttributeUse.getLexicalValue();
- }
- eAttribute.setDefaultValueLiteral(defaultValue);
- initialize(eAttribute, (XSDSimpleTypeDefinition)getEffectiveTypeDefinition(xsdAttributeUse, xsdAttributeDeclaration));
- }
- else if (xsdComponent instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration xsdAttributeDeclaration = (XSDAttributeDeclaration)xsdComponent;
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.ATTRIBUTE_FEATURE);
- extendedMetaData.setName(eAttribute, xsdAttributeDeclaration.getName());
- extendedMetaData.setNamespace(eAttribute, xsdAttributeDeclaration.getTargetNamespace());
-
- eAttribute.setDefaultValueLiteral(xsdAttributeDeclaration.getLexicalValue());
- initialize(eAttribute, (XSDSimpleTypeDefinition)getEffectiveTypeDefinition(null, xsdAttributeDeclaration));
- }
- else if (xsdComponent instanceof XSDParticle)
- {
- XSDTerm xsdTerm = ((XSDParticle)xsdComponent).getTerm();
- if (xsdTerm instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)xsdTerm;
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.ELEMENT_FEATURE);
- extendedMetaData.setName(eAttribute, xsdElementDeclaration.getName());
- extendedMetaData.setNamespace(eAttribute, xsdElementDeclaration.getTargetNamespace());
-
- eAttribute.setDefaultValueLiteral(xsdElementDeclaration.getLexicalValue());
- XSDTypeDefinition xsdType = getEffectiveTypeDefinition(xsdComponent, xsdElementDeclaration);
- if (xsdType instanceof XSDSimpleTypeDefinition)
- {
- initialize(eAttribute, (XSDSimpleTypeDefinition)xsdType);
- }
-
- if (xsdElementDeclaration.isNillable())
- {
- if (!canSupportNull((EDataType)type))
- {
- eAttribute.setEType(type = (EDataType)typeToTypeObjectMap.get(type));
- }
- if (maxOccurs == 1)
- {
- eAttribute.setUnsettable(true);
- }
- }
-
- if (xsdElementDeclaration.isAbstract())
- {
- eAttribute.setChangeable(false);
- }
- }
- else if (xsdTerm instanceof XSDWildcard)
- {
- XSDWildcard xsdWildcard = (XSDWildcard)xsdTerm;
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.ELEMENT_WILDCARD_FEATURE);
- extendedMetaData.setWildcards(eAttribute, getWildcards(xsdWildcard));
- extendedMetaData.setProcessingKind(eAttribute, xsdWildcard.getProcessContents().getValue() + 1);
- extendedMetaData.setName(eAttribute, ":" + eClass.getEAllStructuralFeatures().indexOf(eAttribute));
- }
- else
- {
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.GROUP_FEATURE);
- }
- }
- else if (xsdComponent instanceof XSDWildcard)
- {
- XSDWildcard xsdWildcard = (XSDWildcard)xsdComponent;
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.ATTRIBUTE_WILDCARD_FEATURE);
- extendedMetaData.setWildcards(eAttribute, getWildcards(xsdWildcard));
- extendedMetaData.setProcessingKind(eAttribute, xsdWildcard.getProcessContents().getValue() + 1);
- extendedMetaData.setName(eAttribute, ":" + eClass.getEAllStructuralFeatures().indexOf(eAttribute));
- }
- else if (xsdComponent instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)xsdComponent;
- extendedMetaData.setFeatureKind(eAttribute, ExtendedMetaData.ELEMENT_FEATURE);
- extendedMetaData.setName(eAttribute, xsdElementDeclaration.getName());
- extendedMetaData.setNamespace(eAttribute, xsdElementDeclaration.getTargetNamespace());
-
- eAttribute.setDefaultValueLiteral(xsdElementDeclaration.getLexicalValue());
- XSDTypeDefinition xsdType = getEffectiveTypeDefinition(null, xsdElementDeclaration);
- if (xsdType instanceof XSDSimpleTypeDefinition)
- {
- initialize(eAttribute, (XSDSimpleTypeDefinition)xsdType);
- }
-
- XSDElementDeclaration substitutionGroupAffiliation = xsdElementDeclaration.getSubstitutionGroupAffiliation();
- if (substitutionGroupAffiliation != null)
- {
- EStructuralFeature affiliation = getEStructuralFeature(substitutionGroupAffiliation);
- extendedMetaData.setAffiliation(eAttribute, affiliation);
- }
-
- if (xsdElementDeclaration.isNillable() && !canSupportNull((EDataType)type))
- {
- eAttribute.setEType(type = (EDataType)typeToTypeObjectMap.get(type));
- if (maxOccurs == 1)
- {
- eAttribute.setUnsettable(true);
- }
- }
-
- if (xsdElementDeclaration.isAbstract())
- {
- eAttribute.setChangeable(false);
- }
- }
- }
-
- if (maxOccurs == 1 && (type.getDefaultValue() != null || eAttribute.getDefaultValueLiteral() != null))
- {
- eAttribute.setUnsettable(true);
- }
-
- return eAttribute;
- }
- }
-
- protected XSDTypeDefinition getEffectiveTypeDefinition(XSDComponent xsdComponent, XSDFeature xsdFeature)
- {
- return xsdFeature == null ?
- ((XSDComplexTypeDefinition)xsdComponent.eContainer()).getSimpleType() : xsdFeature.getType();
- }
-
- protected EStructuralFeature createFeature
- (EClass eClass, XSDElementDeclaration xsdElementDeclaration, String name, XSDComponent xsdComponent, int minOccurs, int maxOccurs)
- {
- XSDTypeDefinition elementTypeDefinition = getEffectiveTypeDefinition(xsdComponent, xsdElementDeclaration);
- EClassifier eClassifier = getEClassifier(elementTypeDefinition);
-
- XSDTypeDefinition referenceType = getEcoreTypeQNameAttribute(xsdComponent, "reference");
- if (referenceType == null)
- {
- referenceType = getEcoreTypeQNameAttribute(xsdElementDeclaration, "reference");
- }
- if (referenceType != null)
- {
- EClassifier referenceClassifier = getEClassifier(referenceType);
- boolean needsHolder = false;
- if (elementTypeDefinition instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition xsdSimpleTypeDefinition = (XSDSimpleTypeDefinition)elementTypeDefinition;
- if (xsdSimpleTypeDefinition.getVariety() == XSDVariety.LIST_LITERAL)
- {
- needsHolder = true;
-
- EPackage holderPackage = getEPackage(xsdElementDeclaration);
- String holderName = xsdElementDeclaration.getName() + ":holder";
- EClass holderClass = (EClass)extendedMetaData.getType(holderPackage, holderName);
- if (holderClass == null)
- {
- // Create a holder class like an anonymous complex type.
- //
- holderClass = ecoreFactory.createEClass();
- setAnnotations(holderClass, xsdElementDeclaration);
- holderClass.setName(validName(holderName, true));
- extendedMetaData.setName(holderClass, holderName);
- extendedMetaData.setContentKind(holderClass, ExtendedMetaData.SIMPLE_CONTENT);
-
- addToSortedList(holderPackage.getEClassifiers(), holderClass);
-
- EReference holderReference =
- (EReference)createFeature
- (holderClass,
- "value",
- referenceClassifier,
- null,
- 0,
- -1);
-
- holderReference.setResolveProxies(!isLocalReferenceType(xsdSimpleTypeDefinition));
- }
- referenceClassifier = holderClass;
- }
- }
- EStructuralFeature result =
- createFeature
- (eClass,
- name,
- referenceClassifier,
- xsdComponent,
- minOccurs,
- maxOccurs);
- ((EReference)result).setContainment(needsHolder);
- if (needsHolder)
- {
- ((EReference)result).setUnsettable(false);
- ((EReference)result).setResolveProxies(false);
- }
- initialize(result, xsdElementDeclaration, xsdComponent);
- return result;
- }
- else
- {
- EStructuralFeature result =
- createFeature
- (eClass,
- name,
- eClassifier,
- xsdComponent,
- minOccurs,
- maxOccurs);
- initialize(result, xsdElementDeclaration, xsdComponent);
- return result;
- }
- }
-
- protected EStructuralFeature createFeature
- (EClass eClass, XSDAttributeDeclaration xsdAttributeDeclaration, String name, XSDComponent xsdComponent, boolean isRequired)
- {
- XSDSimpleTypeDefinition attributeTypeDefinition = (XSDSimpleTypeDefinition)getEffectiveTypeDefinition(xsdComponent, xsdAttributeDeclaration);
- if (attributeTypeDefinition == null)
- {
- attributeTypeDefinition = xsdComponent.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("anySimpleType");
- }
-
- XSDTypeDefinition referenceType = getEcoreTypeQNameAttribute(xsdComponent, "reference");
- if (referenceType == null && xsdAttributeDeclaration != null)
- {
- referenceType = getEcoreTypeQNameAttribute(xsdAttributeDeclaration, "reference");
- }
- if (referenceType != null)
- {
- int lowerBound = isRequired ? 1 : 0;
- int upperBound = 1;
- if (attributeTypeDefinition.getVariety() == XSDVariety.LIST_LITERAL)
- {
- XSDLengthFacet xsdLengthFacet = attributeTypeDefinition.getEffectiveLengthFacet();
- if (isRequired)
- {
- if (xsdLengthFacet != null)
- {
- lowerBound = xsdLengthFacet.getValue();
- }
- else
- {
- XSDMinLengthFacet xsdMinLengthFacet = attributeTypeDefinition.getEffectiveMinLengthFacet();
- if (xsdMinLengthFacet != null)
- {
- lowerBound = xsdMinLengthFacet.getValue();
- }
- }
- }
- if (xsdLengthFacet != null)
- {
- upperBound = xsdLengthFacet.getValue();
- }
- else
- {
- XSDMaxLengthFacet xsdMaxLengthFacet = attributeTypeDefinition.getEffectiveMaxLengthFacet();
- if (xsdMaxLengthFacet != null)
- {
- upperBound = xsdMaxLengthFacet.getValue();
- }
- else
- {
- upperBound = -1;
- }
- }
- }
-
- EClassifier referenceClassifier = getEClassifier(referenceType);
- EStructuralFeature result =
- createFeature
- (eClass,
- name,
- referenceClassifier,
- xsdComponent,
- lowerBound,
- upperBound);
- initialize(result, xsdAttributeDeclaration, xsdComponent);
- return result;
- }
- else
- {
- boolean isMany =
- attributeTypeDefinition.getVariety() == XSDVariety.LIST_LITERAL &&
- xsdComponent instanceof XSDAttributeUse &&
- "true".equals(getEcoreAttribute(xsdComponent, "many"));
- if (isMany)
- {
- EDataType eDataType = getEDataType(attributeTypeDefinition.getItemTypeDefinition());
- XSDLengthFacet xsdLengthFacet = attributeTypeDefinition.getEffectiveLengthFacet();
- int lowerBound = isRequired ? 1 : 0;
- int upperBound = -1;
- if (isRequired)
- {
- if (xsdLengthFacet != null)
- {
- lowerBound = xsdLengthFacet.getValue();
- }
- else
- {
- XSDMinLengthFacet xsdMinLengthFacet = attributeTypeDefinition.getEffectiveMinLengthFacet();
- if (xsdMinLengthFacet != null)
- {
- lowerBound = xsdMinLengthFacet.getValue();
- }
- }
- }
- if (xsdLengthFacet != null)
- {
- upperBound = xsdLengthFacet.getValue();
- }
- else
- {
- XSDMaxLengthFacet xsdMaxLengthFacet = attributeTypeDefinition.getEffectiveMaxLengthFacet();
- if (xsdMaxLengthFacet != null)
- {
- upperBound = xsdMaxLengthFacet.getValue();
- }
- }
- EStructuralFeature result =
- createFeature
- (eClass,
- name,
- eDataType,
- xsdComponent,
- lowerBound,
- upperBound);
- initialize(result, xsdAttributeDeclaration, xsdComponent);
- return result;
- }
- else
- {
- EDataType eDataType = getEDataType(attributeTypeDefinition);
- EStructuralFeature result =
- createFeature
- (eClass,
- name,
- eDataType,
- xsdComponent,
- isRequired ? 1 : 0,
- 1);
- initialize(result, xsdAttributeDeclaration, xsdComponent);
- return result;
- }
- }
- }
-
- public EStructuralFeature getEStructuralFeature(XSDFeature xsdFeature)
- {
- if ("true".equals(getEcoreAttribute(xsdFeature, "ignore"))) return null;
- EStructuralFeature eStructuralFeature = (EStructuralFeature)xsdComponentToEModelElementMap.get(xsdFeature);
- if (eStructuralFeature == null)
- {
- EPackage ePackage = getEPackage(xsdFeature);
- EClass documentEClass = extendedMetaData.getDocumentRoot(ePackage);
- if (documentEClass == null)
- {
- createDocumentRoot(xsdFeature.getSchema(), ePackage);
- }
-
- String name = getEcoreAttribute(xsdFeature, "name");
- if (name == null)
- {
- name= validName(xsdFeature.getName(), true);
- }
-
- if (xsdFeature instanceof XSDElementDeclaration)
- {
- // Mark the bound as unspecified so that it won't be considered many
- // but can nevertheless be recognized as being unspecified and perhaps still be treat as many.
- //
- EStructuralFeature result =
- createFeature(documentEClass, (XSDElementDeclaration)xsdFeature, name, xsdFeature, 0, ETypedElement.UNSPECIFIED_MULTIPLICITY);
-
- result.setDerived(true);
- result.setTransient(true);
- result.setVolatile(true);
- return result;
- }
- else
- {
- EStructuralFeature result =
- createFeature(documentEClass, (XSDAttributeDeclaration)xsdFeature, name, xsdFeature, false);
- return result;
- }
- }
-
- return eStructuralFeature;
- }
-
- public void generate(XSDSchema xsdSchema)
- {
- this.rootSchema = xsdSchema;
- if (xsdSchemas.add(xsdSchema))
- {
- addInput(xsdSchema);
- validate(xsdSchema);
- }
-
- Collection visitedElementDeclarations = new ArrayList();
- Collection elementDeclarations = new ArrayList(xsdSchema.getElementDeclarations());
-
- Collection visitedAttributeDeclarations = new ArrayList();
- Collection attributeDeclarations = new ArrayList(xsdSchema.getAttributeDeclarations());
-
- Collection visitedTypeDefinitions = new ArrayList();
- Collection typeDefinitions = new ArrayList(xsdSchema.getTypeDefinitions());
-
- while (!elementDeclarations.isEmpty() || !attributeDeclarations.isEmpty() || !typeDefinitions.isEmpty())
- {
- for (Iterator i = elementDeclarations.iterator(); i.hasNext(); )
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)i.next();
- getEStructuralFeature(xsdElementDeclaration);
- }
- visitedElementDeclarations.addAll(elementDeclarations);
- elementDeclarations = new ArrayList(xsdSchema.getElementDeclarations());
- elementDeclarations.removeAll(visitedElementDeclarations);
-
- for (Iterator i = attributeDeclarations.iterator(); i.hasNext(); )
- {
- XSDAttributeDeclaration xsdAttributeDeclaration = (XSDAttributeDeclaration)i.next();
- if (!XSDConstants.isSchemaInstanceNamespace(xsdAttributeDeclaration.getTargetNamespace()))
- {
- getEStructuralFeature(xsdAttributeDeclaration);
- }
- }
- visitedAttributeDeclarations.addAll(attributeDeclarations);
- attributeDeclarations = new ArrayList(xsdSchema.getAttributeDeclarations());
- attributeDeclarations.removeAll(visitedAttributeDeclarations);
-
- for (Iterator i = typeDefinitions.iterator(); i.hasNext(); )
- {
- XSDTypeDefinition xsdTypeDefinition = (XSDTypeDefinition)i.next();
- getEClassifier(xsdTypeDefinition);
- }
- visitedTypeDefinitions.addAll(typeDefinitions);
- typeDefinitions = new ArrayList(xsdSchema.getTypeDefinitions());
- typeDefinitions.removeAll(visitedTypeDefinitions);
- }
-
- resolveNameConflicts();
-
- for (Iterator i = xsdSchemas.iterator(); i.hasNext(); )
- {
- XSDSchema generatedXSDSchema = (XSDSchema)i.next();
- EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(generatedXSDSchema.getTargetNamespace());
- if (ePackage != null)
- {
- String packageName= getEcoreAttribute(generatedXSDSchema, "package");
- if (packageName != null)
- {
- ePackage.setName(packageName);
- }
- String packageNsPrefix= getEcoreAttribute(generatedXSDSchema, "nsPrefix");
- if (packageNsPrefix != null)
- {
- ePackage.setNsPrefix(packageNsPrefix);
- }
- }
- }
-
- for (Iterator i = eReferenceToOppositeNameMap.entrySet().iterator(); i.hasNext(); )
- {
- Map.Entry entry = (Map.Entry)i.next();
- EReference eReference = (EReference)entry.getKey();
- String opposite = (String)entry.getValue();
- EClass oppositeEClass = eReference.getEReferenceType();
- if (eReference.getEOpposite() == null)
- {
- EStructuralFeature eOppositeFeature = oppositeEClass.getEStructuralFeature(opposite);
-
- // Match by XML name if this fails.
- if (eOppositeFeature == null)
- {
- for (Iterator j = oppositeEClass.getEAllStructuralFeatures().iterator(); j.hasNext(); )
- {
- EStructuralFeature feature = (EStructuralFeature)j.next();
- if (opposite.equals(extendedMetaData.getName(feature)))
- {
- eOppositeFeature = feature;
- break;
- }
- }
- }
-
- if (eOppositeFeature instanceof EReference)
- {
- EReference eOpposite = (EReference)eOppositeFeature;
- eOpposite.setEOpposite(eReference);
- eReference.setEOpposite(eOpposite);
- }
- }
-
- if (eReference.getEOpposite() == null && eReference.isContainment())
- {
- EReference eOpposite = ecoreFactory.createEReference();
- eOpposite.setName(opposite);
- eOpposite.setEType(eReference.getEContainingClass());
- eOpposite.setLowerBound(0);
- eOpposite.setEOpposite(eReference);
- eReference.setEOpposite(eOpposite);
- eOpposite.setTransient(true);
- oppositeEClass.getEStructuralFeatures().add(eOpposite);
- }
- }
-
- eReferenceToOppositeNameMap.clear();
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CopyHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CopyHelperImpl.java
deleted file mode 100644
index b4d3b257b0..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CopyHelperImpl.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.CopyHelper;
-
-
-/**
- * A helper for copying DataObjects.
- */
-public class CopyHelperImpl implements CopyHelper
-{
- public DataObject copyShallow(DataObject dataObject)
- {
- Copier copier = new SDOCopier()
- {
- protected void copyContainment(EReference eReference, EObject eObject, EObject copyEObject)
- {
- }
-
-
- };
- return (DataObject)copier.copy((EObject)dataObject);
- }
-
- public DataObject copy(DataObject dataObject)
- {
- Copier copier = new SDOCopier(){
-
- protected void copyAttribute(EAttribute eAttribute, EObject eObject, EObject copyEObject) {
- if(("ChangeSummaryType".equals(eAttribute.getEType().getName()) && "commonj.sdo".equals(eAttribute.getEType().getEPackage().getNsURI()))) {
- throw new UnsupportedOperationException("Copying of change summary yet to be done");
- } else {
- super.copyAttribute(eAttribute, eObject, copyEObject);
- }
- }
- };
-
- return (DataObject)copier.copy((EObject)dataObject);
- }
-
-
-}
-
-
-class SDOCopier extends Copier {
-
- List csToTurnOn = new ArrayList();
- List csToTurnOff = new ArrayList();
-
- public EObject copy(EObject object) {
-
- EObject result = super.copy(object);
- copyReferences();
-
- for (Iterator csit = csToTurnOn.iterator(); csit.hasNext();) {
- ChangeSummary cs = (ChangeSummary) csit.next();
- if(!cs.isLogging()) { cs.beginLogging(); }
- }
- for (Iterator csit = csToTurnOff.iterator(); csit.hasNext();) {
- ChangeSummary cs = (ChangeSummary) csit.next();
- if(cs.isLogging()) { cs.endLogging(); }
- }
-
- return result;
- }
-
-
-
- protected void copyAttribute(EAttribute eAttribute, EObject eObject, EObject copyEObject) {
-
- if(("ChangeSummaryType".equals(eAttribute.getEType().getName()) && "commonj.sdo".equals(eAttribute.getEType().getEPackage().getNsURI()))) {
- if (((ChangeSummary)eObject.eGet(eAttribute)).isLogging()) {
- csToTurnOn.add(((DataObject)copyEObject).getChangeSummary());
- } else {
- csToTurnOff.add(((DataObject)copyEObject).getChangeSummary());
- }
- ChangeSummary copyCS = (ChangeSummary)copyEObject.eGet(eAttribute);
- if(copyCS.isLogging()) copyCS.endLogging();
-
- } else {
- super.copyAttribute(eAttribute, eObject, copyEObject);
- }
- }
-
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CrossScopeCopyHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CrossScopeCopyHelperImpl.java
deleted file mode 100644
index 3f51876035..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/CrossScopeCopyHelperImpl.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * A CopyHelper implementation that creates the copy objects in a specific metadata scope.
- * The target scope must contain a compatible version of the Types needed to create the copy objects.
- */
-public class CrossScopeCopyHelperImpl implements CopyHelper
-{
- protected TypeHelper scope;
-
- public CrossScopeCopyHelperImpl(TypeHelper targetScope)
- {
- scope = targetScope;
- }
-
- public DataObject copyShallow(DataObject dataObject)
- {
- Copier copier = new CrossScopeCopier()
- {
- protected void copyContainment(EReference eReference, EObject eObject, EObject copyEObject)
- {
- }
- protected void copyAttribute(EAttribute eAttribute, EObject eObject, EObject copyEObject)
- {
- if (eObject.eIsSet(eAttribute) && !FeatureMapUtil.isFeatureMap(eAttribute))
- {
- super.copyAttribute(eAttribute,eObject,copyEObject);
- }
- }
- };
- EObject result = copier.copy((EObject)dataObject);
- copier.copyReferences();
- return (DataObject)result;
- }
-
- public DataObject copy(DataObject dataObject)
- {
- Copier copier = new CrossScopeCopier();
- DataObject result = (DataObject)copier.copy((EObject)dataObject);
- copier.copyReferences();
- return (DataObject)result;
- }
-
- protected class CrossScopeCopier extends EcoreUtil.Copier
- {
- protected boolean useOriginalReferences = false;
-
- protected EClass getTarget(EClass eClass)
- {
- EClass target = (EClass)get(eClass);
- if (target == null)
- {
- Type type = (Type)eClass;
- target = (EClass)scope.getType(type.getURI(), type.getName());
- }
- return target;
- }
-
- protected EStructuralFeature getTarget(EStructuralFeature eStructuralFeature)
- {
- EClass eClass = getTarget(eStructuralFeature.getEContainingClass());
- EStructuralFeature targetEf = eClass.getEStructuralFeature(eStructuralFeature.getName());
- return targetEf;
- }
-
- /**
- * This Method WILL BE REMOVED when EMF 3.0 is available
- */
- public void copyReferences()
- {
- for (Iterator i = entrySet().iterator(); i.hasNext();)
- {
- Map.Entry entry = (Map.Entry)i.next();
- EObject eObject = (EObject)entry.getKey();
- EObject copyEObject = (EObject)entry.getValue();
- EClass eClass = eObject.eClass();
- for (int j = 0, size = eClass.getFeatureCount(); j < size; ++j)
- {
- EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(j);
- if (eStructuralFeature.isChangeable() && !eStructuralFeature.isDerived())
- {
- if (eStructuralFeature instanceof EReference)
- {
- EReference eReference = (EReference)eStructuralFeature;
- if (!eReference.isContainment() && !eReference.isContainer())
- {
- copyReference(eReference, eObject, copyEObject);
- }
- }
- else if (FeatureMapUtil.isFeatureMap(eStructuralFeature))
- {
- FeatureMap featureMap = (FeatureMap)eObject.eGet(eStructuralFeature);
- FeatureMap copyFeatureMap = (FeatureMap)copyEObject.eGet(getTarget(eStructuralFeature));
- int copyFeatureMapSize = copyFeatureMap.size();
- for (int k = 0, featureMapSize = featureMap.size(); k < featureMapSize; ++k)
- {
- EStructuralFeature feature = featureMap.getEStructuralFeature(k);
- if (feature instanceof EReference)
- {
- Object referencedEObject = featureMap.getValue(k);
- Object copyReferencedEObject = get(referencedEObject);
- if (copyReferencedEObject == null && referencedEObject != null)
- {
- EReference reference = (EReference)feature;
- if (!useOriginalReferences || reference.isContainment() || reference.getEOpposite() != null)
- {
- continue;
- }
- copyReferencedEObject = referencedEObject;
- }
- // If we can't add it, it must aleady be in the list so find it and move it to the end.
- //
- if (!copyFeatureMap.add(feature, copyReferencedEObject))
- {
- for (int l = 0; l < copyFeatureMapSize; ++l)
- {
- if (copyFeatureMap.getEStructuralFeature(l) == feature && copyFeatureMap.getValue(l) == copyReferencedEObject)
- {
- copyFeatureMap.move(copyFeatureMap.size() - 1, l);
- --copyFeatureMapSize;
- break;
- }
- }
- }
- }
- else
- {
- copyFeatureMap.add(featureMap.get(k));
- }
- }
- }
- }
- }
- }
- }
-
- /**
- * This Method WILL BE REMOVED when EMF 3.0 is available
- */
- protected void copyReference(EReference eReference, EObject eObject, EObject copyEObject)
- {
- if (eObject.eIsSet(eReference))
- {
- if (eReference.isMany())
- {
- InternalEList source = (InternalEList)eObject.eGet(eReference);
- InternalEList target = (InternalEList)copyEObject.eGet(getTarget(eReference));
- if (source.isEmpty())
- {
- target.clear();
- }
- else
- {
- boolean isBidirectional = eReference.getEOpposite() != null;
- int index = 0;
- for (Iterator k = resolveProxies ? source.iterator() : source.basicIterator(); k.hasNext();)
- {
- Object referencedEObject = k.next();
- Object copyReferencedEObject = get(referencedEObject);
- if (copyReferencedEObject == null)
- {
- if (useOriginalReferences && !isBidirectional)
- {
- target.addUnique(index, referencedEObject);
- ++index;
- }
- }
- else
- {
- if (isBidirectional)
- {
- int position = target.indexOf(copyReferencedEObject);
- if (position == -1)
- {
- target.addUnique(index, copyReferencedEObject);
- }
- else if (index != position)
- {
- target.move(index, copyReferencedEObject);
- }
- }
- else
- {
- target.addUnique(index, copyReferencedEObject);
- }
- ++index;
- }
- }
- }
- }
- else
- {
- Object referencedEObject = eObject.eGet(eReference, resolveProxies);
- if (referencedEObject == null)
- {
- copyEObject.eSet(getTarget(eReference), null);
- }
- else
- {
- Object copyReferencedEObject = get(referencedEObject);
- if (copyReferencedEObject == null)
- {
- if (useOriginalReferences && eReference.getEOpposite() == null)
- {
- copyEObject.eSet(getTarget(eReference), referencedEObject);
- }
- }
- else
- {
- copyEObject.eSet(getTarget(eReference), copyReferencedEObject);
- }
- }
- }
- }
- }
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataFactoryImpl.java
deleted file mode 100644
index 774d296eae..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataFactoryImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-
-/**
- * A Factory for creating DataObjects. The created DataObjects are not connected
- * to any other DataObjects.
- */
-public class DataFactoryImpl implements DataFactory {
- protected HelperContext helperContext;
-
- public DataFactoryImpl(HelperContext hc) {
- this.helperContext = hc;
- }
-
- public DataObject create(String uri, String typeName) {
- Type type = helperContext.getTypeHelper().getType(uri, typeName);
- return create(type);
- }
-
- public DataObject create(Class interfaceClass) {
- // TODO more efficient implementation ... this is a really bad one!
- Type type = helperContext.getTypeHelper().getType(interfaceClass);
- return create(type);
- }
-
- public DataObject create(Type type) {
- return DataObjectUtil.create(type);
- }
-
- public HelperContext getHelperContext() {
- return helperContext;
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
deleted file mode 100644
index d30da1cc4a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
+++ /dev/null
@@ -1,615 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.TimeZone;
-
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataHelper;
-
-/**
- * Data helper methods.
- */
-public class DataHelperImpl implements DataHelper
-{
- /**
- * @param dateString - Must comply to the pattern of yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z'
- * @return null if dataString couldn't be parsed
- */
- public synchronized Date toDate(String dateString)
- {
- if (dateString == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat format;
- Date result = null;
- boolean negative = false;
- String formatString;
- dateString = dateString.trim();
-
- // Determine if it is a negative Date, DateTime, or Duration
-
- if (dateString.length() > 2 && dateString.charAt(0) == '-' && dateString.charAt(1) != '-')
- {
- negative = true;
- dateString = dateString.substring(1);
- }
-
- // SDO Date Format ends with a Z
-
- if (dateString.endsWith("Z"))
- {
- if (dateString.indexOf('.') != -1)
- formatString = new String("yyyy-MM-dd'T'HH:mm:ss'.'S'Z'");
- else
- formatString = new String ("yyyy-MM-dd'T'HH:mm:ss'Z'");
-
- format = new SDOSimpleDateFormat(formatString);
- format.setTimeZone(TimeZone.getTimeZone("UTC"));
-
- result = checkFormat(dateString, format);
-
- // If no match, continue to try further possibilities
-
- if (result != null)
- {
- if (negative)
- return handleBCE(result);
- else
- return result;
- }
-
- }
-
- // Duration format begins with a P
-
- if (dateString.startsWith("P"))
- {
- // Remove any spaces in the dateString
-
- String durationString = dateString.replaceAll(" ", "");
-
- // Build the formatString based on the contents of dateString
-
- formatString = obtainDurationFormats(durationString);
- format = new SDOSimpleDateFormat(formatString);
- result = checkFormat(durationString, format);
- if (result != null)
- {
- if (negative)
- return handleNegative(result);
- else
- return result;
- }
- }
-
- formatString = obtainSpecificFormat(dateString);
-
- if (formatString != null)
- {
- format = new SDOSimpleDateFormat(formatString);
- result = checkFormat(dateString, format);
-
- if (result != null)
- {
- if (negative)
- return handleBCE(result);
- else
- return result;
- }
- }
-
- return null;
- }
-
- private synchronized Date checkFormat(String dateString, SDOSimpleDateFormat format)
- {
- String formatPattern = format.toPattern();
- StringBuffer addedFields = new StringBuffer();
- String fieldsString, parseString;
- SDOSimpleDateFormat compositeFormat;
- Date dateValue;
-
- // For certain permissable input strings (e.g. those resulting from toYear
- // toDay, toTime), there are fields missing which when converted to Date have
- // default values. (e.g. Year -> 1970). Because of this, there can be great
- // variation in how daylight savings time is accounted for. (e.g. In 1970 Britain
- // was on DST year round, and during the summer of 1944 was on double daylight time.)
- // Because these possible variations exist, it is assumed that the user would prefer
- // the current handling of daylight savings time. As such, the year, month and day
- // will default to their current values when absent. (The user should not be checking
- // for Year=1970 (etc.) as evidence of taking the default, as explicitly setting a
- // year to 1970 is valid and would then not be an instance of a default taken.)
-
- if (!(formatPattern.startsWith("P")))
- {
- if (formatPattern.indexOf('y') == -1)
- addedFields.append("yyyy ");
-
- if (formatPattern.indexOf('M') == -1)
- addedFields.append("MM ");
-
- if (formatPattern.indexOf('d') == -1)
- addedFields.append("dd ");
- }
-
- fieldsString = addedFields.toString();
-
- if (fieldsString.length() == 0)
- {
- parseString = dateString;
- compositeFormat = format;
- }
-
- else
- {
- compositeFormat = new SDOSimpleDateFormat(fieldsString);
- dateValue = new Date(System.currentTimeMillis());
- parseString = compositeFormat.format(dateValue) + dateString;
- compositeFormat.applyPattern(fieldsString + formatPattern);
- }
-
- try
- {
- return compositeFormat.parse(parseString);
- }
-
- catch (ParseException parseException)
- {
- }
-
- return null;
- }
-
- public synchronized String obtainSpecificFormat(String dateString)
- {
- StringBuffer formatBuffer = new StringBuffer();
- int colonIndex = dateString.indexOf(':');
- int hyphenIndex = dateString.indexOf('-');
-
- if (dateString.startsWith("--"))
- {
- if (dateString.charAt(2) == '-') // starts with ---
- formatBuffer.append("'---'dd");
- else if (dateString.substring(2).indexOf('-') == -1)
- formatBuffer.append("'--'MM");
- else
- formatBuffer.append("'--'MM'-'dd");
- }
-
- else if (colonIndex == 1 || colonIndex == 2)
- {
- if (dateString.indexOf('.') != -1)
- formatBuffer.append("HH:mm:ss'.'S");
- else if (dateString.substring(colonIndex + 1).indexOf(':') != -1)
- formatBuffer.append("HH:mm:ss");
- else
- formatBuffer.append("HH:mm");
- }
-
- else if (hyphenIndex != -1)
- {
- if (dateString.substring(hyphenIndex + 1).indexOf('-') == -1)
- formatBuffer.append("yyyy-MM");
- else if (colonIndex != -1)
- {
- if (dateString.indexOf('.') != -1)
- formatBuffer.append("yyyy-MM-dd'T'HH:mm:ss'.'S");
- else if (dateString.substring(colonIndex + 1).indexOf(':') != -1)
- formatBuffer.append("yyyy-MM-dd'T'HH:mm:ss");
- else
- formatBuffer.append("yyyy-MM-dd'T'HH:mm");
- }
- else
- formatBuffer.append ("yyyy-MM-dd");
- }
- else if (colonIndex == -1) // indexOf('-') == -1
- {
- formatBuffer.append("yyyy");
- }
- else
- return null;
-
- // Determine if a Time Zone is included and needs to be parsed.
- // ---------------------------------
- // The only letter allowed in the above formats is 'T'.
- // All times zones include at least one letter other than 'T'.
-
- int i = 0;
- boolean letterFound = false;
- char currentChar;
- while (i < dateString.length() && !letterFound)
- {
- currentChar = dateString.charAt(i);
- if (Character.isLetter(currentChar) && currentChar != 'T')
- letterFound = true;;
- i++;
- }
-
- if (letterFound)
- formatBuffer.append(" z");
-
- return formatBuffer.toString();
- }
-
- public synchronized String obtainDurationFormats(String dateString)
- {
- String firstPart, secondPart;
- StringBuffer formatBuffer = new StringBuffer("'P'");
-
- // Must divide it into two parts to distinguish between Months and Minutes
-
- int time_index = dateString.indexOf('T');
- if (time_index != -1)
- {
- firstPart = dateString.substring(0, time_index + 1);
- secondPart = dateString.substring(time_index);
- }
- else
- {
- firstPart = dateString;
- secondPart = null;
- }
-
- if (firstPart.indexOf('Y') != -1)
- formatBuffer.append("yyyy'Y'");
- if (firstPart.indexOf('M') != -1)
- formatBuffer.append("MM'M'");
- if (firstPart.indexOf('D') != -1)
- formatBuffer.append("dd'D'");
- if (time_index != -1)
- {
- formatBuffer.append("'T'");
-
- if (secondPart.indexOf('H') != -1)
- formatBuffer.append("HH'H'");
- if (secondPart.indexOf('M') != -1)
- formatBuffer.append("mm'M'");
- if (secondPart.indexOf("S.") != -1)
- formatBuffer.append("ss'S'.S");
- else if (secondPart.indexOf('S') != -1)
- formatBuffer.append("ss'S'");
- }
-
- return formatBuffer.toString().replaceAll("''", "");
- }
-
- // Return a negative Duration if a negative sign existed in dateString
- public synchronized Date handleNegative(Date output)
- {
- return new Date(0 - output.getTime());
- }
-
- // Return the date in BCE if a negative sign existed in dateString
-
- public synchronized Date handleBCE(Date output)
- {
- GregorianCalendar temp = new GregorianCalendar();
- temp.setTime(output);
- temp.set(GregorianCalendar.ERA, GregorianCalendar.BC);
-
- return temp.getTime();
- }
-
- public synchronized Calendar toCalendar(String dateString)
- {
- return toCalendar(dateString, null);
- }
-
- public synchronized Calendar toCalendar(String dateString, Locale locale)
- {
- if (dateString == null)
- {
- return null;
- }
-
- Date date = toDate(dateString);
- if (date == null)
- {
- return null;
- }
-
- Calendar calendar = locale != null ? new GregorianCalendar(locale) : new GregorianCalendar();
- calendar.setTime(date);
- return calendar;
- }
-
- public synchronized String toDateTime(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z'");
- f.setTimeZone(TimeZone.getTimeZone("UTC"));
-
- return f.format(date);
- }
-
- public synchronized String toDuration(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("'P'yyyy'Y' MM'M' dd'D' 'T' HH'H' mm'M' ss'S.'SSS");
-
- return f.format(date);
- }
-
- public synchronized String toTime(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("HH:mm:ss'.'SSS zz");
-
- return f.format(date);
- }
-
- public synchronized String toDay(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("---dd zz");
-
- return f.format(date);
- }
-
- public synchronized String toMonth(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("--MM zz");
-
- return f.format(date);
- }
-
- public synchronized String toMonthDay(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("--MM-dd zz");
-
- return f.format(date);
- }
-
- public synchronized String toYear(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("yyyy zz");
-
- return f.format(date);
- }
-
- public synchronized String toYearMonth(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("yyyy-MM zz");
-
- return f.format(date);
- }
-
- public synchronized String toYearMonthDay(Date date)
- {
- if (date == null)
- {
- return null;
- }
-
- SDOSimpleDateFormat f = new SDOSimpleDateFormat("yyyy-MM-dd zz");
-
- return f.format(date);
- }
-
- public synchronized String toDateTime(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toDateTime(calendar.getTime());
- }
-
- public synchronized String toDuration(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toDuration(calendar.getTime());
- }
-
- public synchronized String toTime(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toTime(calendar.getTime());
- }
-
- public synchronized String toDay(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toDay(calendar.getTime());
- }
-
- public synchronized String toMonth(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toMonth(calendar.getTime());
- }
-
- public synchronized String toMonthDay(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toMonthDay(calendar.getTime());
- }
-
- public synchronized String toYear(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toYear(calendar.getTime());
- }
-
- public synchronized String toYearMonth(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toYearMonth(calendar.getTime());
- }
-
- public synchronized String toYearMonthDay(Calendar calendar)
- {
- if (calendar == null)
- {
- return null;
- }
-
- return toYearMonthDay(calendar.getTime());
- }
-
- public Object convert(Type type, Object value)
- {
- Class typeClass = type.getInstanceClass();
- if (typeClass.isInstance(value))
- return value;
-
- if (typeClass == BigDecimal.class) {
- return DataObjectUtil.getBigDecimal(value);
- }
- else if (typeClass == BigInteger.class) {
- return DataObjectUtil.getBigInteger(value);
- }
- else if (typeClass == boolean.class || typeClass == Boolean.class) {
- return new Boolean(DataObjectUtil.getBoolean(value));
- }
- else if (typeClass == byte.class || typeClass == Byte.class) {
- return new Byte(DataObjectUtil.getByte(value));
- }
- else if (typeClass == byte[].class) {
- return DataObjectUtil.getBytes(value);
- }
- else if (typeClass == char.class || typeClass == Character.class) {
- return new Character(DataObjectUtil.getChar(value));
- }
- else if (typeClass == Date.class) {
- return DataObjectUtil.getDate(value);
- }
- else if (typeClass == double.class || typeClass == Double.class) {
- return new Double(DataObjectUtil.getDouble(value));
- }
- else if (typeClass == float.class || typeClass == Float.class) {
- return new Float(DataObjectUtil.getFloat(value));
- }
- else if (typeClass == int.class || typeClass == Integer.class) {
- return new Integer(DataObjectUtil.getInt(value));
- }
- else if (typeClass == long.class || typeClass == Long.class) {
- return new Long(DataObjectUtil.getLong(value));
- }
- else if (typeClass == short.class || typeClass == Short.class) {
- return new Short(DataObjectUtil.getShort(value));
- }
- else if (typeClass == String.class) {
- return DataObjectUtil.getString(value);
- }
-
- throw new IllegalArgumentException();
- }
-
- public Object convert(Property property, Object value)
- {
- Type type = property.getType();
- if (!property.isMany())
- {
- return convert(type, value);
- }
- else
- {
- List listValue = (List)value;
- List listResult = new ArrayList();
- for (Iterator iter = listValue.iterator(); iter.hasNext(); ) {
- listResult.add(convert(type, iter.next()));
- }
- return listResult;
- }
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DefaultHelperContextImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DefaultHelperContextImpl.java
deleted file mode 100644
index f7ac22632a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DefaultHelperContextImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.helper;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
-
-public class DefaultHelperContextImpl extends HelperContextImpl {
- public DefaultHelperContextImpl(final boolean extensibleNamespaces) {
- super(new SDOExtendedMetaDataImpl(new SDOPackageRegistryDelegator()), extensibleNamespaces);
- }
-
- public DefaultHelperContextImpl(final boolean extensibleNamespaces, final Map options) {
- super(new SDOExtendedMetaDataImpl(new SDOPackageRegistryDelegator()), extensibleNamespaces, options);
- }
-
- protected static class SDOPackageRegistryDelegator extends EPackageRegistryImpl.Delegator {
- /**
- * A map from class loader to its associated registry.
- */
- protected Map classLoaderToRegistryMap = new WeakHashMap();
-
- /**
- * Returns the package registry associated with the given class loader.
- * @param classLoader the class loader.
- * @return the package registry associated with the given class loader.
- */
- public synchronized EPackage.Registry getRegistry(final ClassLoader classLoader)
- {
- EPackage.Registry result = (EPackage.Registry)classLoaderToRegistryMap.get(classLoader);
- if (result == null)
- {
- if (classLoader == null)
- {
- result = HelperContextImpl.getBuiltInModelRegistry();
- }
- else
- {
- result = new EPackageRegistryImpl(getRegistry(classLoader.getParent()));
- classLoaderToRegistryMap.put(classLoader, result);
- }
- }
- return result;
- }
-
- protected EPackage.Registry delegateRegistry(final ClassLoader classLoader)
- {
- return getRegistry(classLoader);
- }
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/EqualityHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/EqualityHelperImpl.java
deleted file mode 100644
index 0d3d8ee5b7..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/EqualityHelperImpl.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.EqualityHelper;
-
-
-/**
- * A helper for comparing DataObjects.
- */
-public class EqualityHelperImpl implements EqualityHelper
-{
- public boolean equalShallow(DataObject dataObject1, DataObject dataObject2)
- {
- EcoreUtil.EqualityHelper equalityHelper = new EcoreUtil.EqualityHelper()
- {
- protected boolean haveEqualFeature(EObject eObject1, EObject eObject2, EStructuralFeature feature)
- {
- if (feature instanceof EAttribute)
- {
- if(!("ChangeSummaryType".equals(feature.getEType().getName()) && "commonj.sdo".equals(feature.getEType().getEPackage().getNsURI()))) {
- boolean eIsSet = eObject1.eIsSet(feature);
- if (eIsSet != eObject2.eIsSet(feature) || !haveEqualAttribute(eObject1, eObject2, (EAttribute)feature))
- {
- return false;
- }
- }
- }
- return true;
- }
-
- protected boolean equalFeatureMapValues(Object value1, Object value2, EStructuralFeature feature)
- {
- if (feature instanceof EAttribute)
- {
- return value1 == null ? value2 == null : value1.equals(value2);
- }
- return true;
- }
- };
- return equalityHelper.equals((EObject)dataObject1, (EObject)dataObject2);
- }
-
- public boolean equal(DataObject dataObject1, DataObject dataObject2)
- {
- EcoreUtil.EqualityHelper equalityHelper = new EcoreUtil.EqualityHelper()
- {
- protected boolean haveEqualAttribute(EObject eObject1, EObject eObject2, EAttribute attribute) {
- if(("ChangeSummaryType".equals(attribute.getEType().getName()) && "commonj.sdo".equals(attribute.getEType().getEPackage().getNsURI()))) {
- throw new UnsupportedOperationException("This will be implemented when change summary serialzation/deserialization is in place");
- }
- else if( "Bytes".equals(attribute.getEType().getName()) ) {
- try
- {
- byte [] value1 = (byte [])eObject1.eGet(attribute);
- byte [] value2 = (byte [])eObject2.eGet(attribute);
-
- return( java.util.Arrays.equals(value1,value2) );
- }
- catch(Exception ex)
- {
- // if any exception is thrown, assumption is they are not equal
- return false;
- }
- }
- else {
- return super.haveEqualAttribute(eObject1, eObject2, attribute);
- }
- }
- };
- return equalityHelper.equals((EObject)dataObject1, (EObject)dataObject2); }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
deleted file mode 100644
index 64ee628693..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.helper;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.change.ChangePackage;
-import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.DataHelper;
-import commonj.sdo.helper.EqualityHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-
-public class HelperContextImpl implements HelperContext {
- /*
- * Relationship: HelperContext*Impl* ---1:1---> ExtendedMetaData ---1:1--->
- * Map (:defaultOption) <---1:1---> TypeHelper <---1:1---> XMLHelper
- * <---1:1---> XMLStreamHelper <---1:1---> XSDHelper <---1:1---> DataFactory
- */
-
- protected ExtendedMetaData extendedMetaData;
- protected DataFactory dataFactory;
- protected TypeHelper typeHelper;
- protected XMLHelper xmlHelper;
- protected XSDHelper xsdHelper;
- protected XMLStreamHelper xmlStreamHelper;
- protected Map defaultOptions = null;
-
- public HelperContextImpl(ExtendedMetaData extendedMetaData, boolean extensibleNamespaces) {
- this.defaultOptions = null;
- this.extendedMetaData = extendedMetaData;
- typeHelper = new TypeHelperImpl(this);
- dataFactory = new DataFactoryImpl(this);
- xmlHelper = new XMLHelperImpl(this);
- xsdHelper = new XSDHelperImpl(this, null, extensibleNamespaces);
- xmlStreamHelper = new XMLStreamHelperImpl(this);
- }
-
-
- public HelperContextImpl(ExtendedMetaData extendedMetaData, boolean extensibleNamespaces, Map options) {
- this.defaultOptions = options;
- this.extendedMetaData = extendedMetaData;
- typeHelper = new TypeHelperImpl(this);
- dataFactory = new DataFactoryImpl(this);
- xmlHelper = new XMLHelperImpl(this);
- xsdHelper = new XSDHelperImpl(this, null, extensibleNamespaces);
- xmlStreamHelper = new XMLStreamHelperImpl(this);
- }
-
- // many places this is called in existing code
- // This is used for supporting the deprecated util -
- // org.apache.tuscany.sdo.util.SDOUtil
- // Once we conpletely remove this deprecated util, we can remove the below
- // constructor
- public HelperContextImpl(TypeHelper scope) {
- this(scope, null);
- }
-
-
- public HelperContextImpl(TypeHelper scope, Map options) {
- this.defaultOptions = options;
- typeHelper = scope;
- this.extendedMetaData = ((TypeHelperImpl)scope).getExtendedMetaData();
- dataFactory = new DataFactoryImpl(this);
- xmlHelper = new XMLHelperImpl(this);
- xsdHelper = new XSDHelperImpl(this);
- xmlStreamHelper = new XMLStreamHelperImpl(this);
- }
-
- public HelperContextImpl(boolean extensibleNamespaces) {
- this(new SDOExtendedMetaDataImpl(new EPackageRegistryImpl(getBuiltInModelRegistry())), extensibleNamespaces);
- }
-
-
- public HelperContextImpl(boolean extensibleNamespaces, Map options) {
- this(new SDOExtendedMetaDataImpl(new EPackageRegistryImpl(getBuiltInModelRegistry())), extensibleNamespaces,
- options);
- }
-
- static protected EPackage.Registry builtInModelRegistry = null;
-
- static public EPackage.Registry getBuiltInModelRegistry() {
- if (builtInModelRegistry == null) {
- EPackageRegistryImpl registry = new EPackageRegistryImpl();
- for (Iterator iter = TypeHelperImpl.getBuiltInModels().iterator(); iter.hasNext();) {
- EPackage ePackage = (EPackage)iter.next();
- registry.put(ePackage.getNsURI(), ePackage);
- }
-
- registry.put(EcorePackage.eNS_URI, EcorePackage.eINSTANCE);
- registry.put(XMLTypePackage.eNS_URI, XMLTypePackage.eINSTANCE);
- registry.put(ChangePackage.eNS_URI, ChangePackage.eINSTANCE);
- registry.put(XMLNamespacePackage.eNS_URI, XMLNamespacePackage.eINSTANCE);
- registry.put(SDOPackage.eNS_URI, SDOPackage.eINSTANCE);
-
- builtInModelRegistry = registry;
- }
- return builtInModelRegistry;
- }
-
- public CopyHelper getCopyHelper() {
- return CopyHelper.INSTANCE;
- }
-
- public DataFactory getDataFactory() {
- return dataFactory;
- }
-
- public DataHelper getDataHelper() {
- return DataHelper.INSTANCE;
- }
-
- public EqualityHelper getEqualityHelper() {
- return EqualityHelper.INSTANCE;
- }
-
- public TypeHelper getTypeHelper() {
- return typeHelper;
- }
-
- public XMLHelper getXMLHelper() {
- return xmlHelper;
- }
-
- public XMLStreamHelper getXMLStreamHelper() {
- return xmlStreamHelper;
- }
-
- public XSDHelper getXSDHelper() {
- return xsdHelper;
- }
-
- public void setOptions(Map options) {
- this.defaultOptions = options;
- }
-
- public Map getOptions() {
- return this.defaultOptions;
- }
-
- public Map getMergedOption(Map options) {
- Map mergedOptions = null;// copy to be used for merge
-
- if (defaultOptions == null) {
- return options;
- }
-
- mergedOptions = new HashMap(defaultOptions);
- if (options == null) {
- return mergedOptions;
- }
- mergedOptions.putAll(options);
-
- return mergedOptions;
- }
-
- public ExtendedMetaData getExtendedMetaData() {
- return extendedMetaData;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java
deleted file mode 100644
index 360617bd20..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-
-import org.apache.tuscany.sdo.spi.HelperProviderBase;
-
-import commonj.sdo.helper.HelperContext;
-
-/**
- * Create and manage all the default helper INSTANCEs
- */
-public class HelperProviderImpl extends HelperProviderBase
-{
- public HelperContext createDefaultHelpers()
- {
- //FB HelperContext hc = SDOUtil.createHelperContext();
- //FB The defulat HelperContext must use EMF's ClassLoader-delegating EPackage.Registry.INSTANCE, until we provide
- //FB another way to get (ClassLoader scope) support for HelperContext.
- HelperContext hc = new DefaultHelperContextImpl(false);
- typeHelper = hc.getTypeHelper();
- dataFactory = hc.getDataFactory();
- xmlHelper = hc.getXMLHelper();
- xsdHelper = hc.getXSDHelper();
- copyHelper = new CopyHelperImpl();
- equalityHelper = new EqualityHelperImpl();
- dataHelper = new DataHelperImpl();
- sdoHelper = new SDOHelperImpl();
- xmlStreamHelper = ((HelperContextImpl)hc).getXMLStreamHelper();
-
- return hc;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOAnnotations.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOAnnotations.java
deleted file mode 100644
index 816fb3bf9f..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOAnnotations.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-public class SDOAnnotations
-{
- public static final String COLON = ":";
- public static final String COMMONJ_SDO_NS = "commonj.sdo";
- public static final String COMMONJ_SDO_NS_PREFIX = "sdo";
- public static final String SDO_JAVA_NS = "commonj.sdo/java";
- public static final String SDO_JAVA_NS_PREFIX = "sdoJava";
-
- public static final String JAVA_PACKAGE = SDO_JAVA_NS_PREFIX + COLON + "package";
- public static final String ALIAS_NAMES = COMMONJ_SDO_NS_PREFIX + COLON + "aliasName";
- public static final String READ_ONLY = COMMONJ_SDO_NS_PREFIX + COLON + "readOnly";
- public static final String INSTANCE_CLASS = SDO_JAVA_NS_PREFIX + COLON + "instanceClass";
- public static final String ABSTRACT_TYPE = "abstract";
- public static final String PROPERTY_TYPE = COMMONJ_SDO_NS_PREFIX + COLON + "propertyType";
- public static final String OPPOSITE_PROPERTY = COMMONJ_SDO_NS_PREFIX + COLON + "oppositeProperty";
-
-
- //used by the annotations map to uniquely identify schema elements that need to be annotated
- //and to store the corresponding annotations in a map
- public static final String SCHEMA = "schema";
- public static final String ELEMENT = "element";
- public static final String COMPLEX_TYPE = "complexType";
- public static final String SIMPLE_TYPE = "simpleType";
- public static final String ATTRIBUTE = "attribute";
-
- public static String makeAnnotationMapKey(String namespace, String schemaElementType, String nameAttrValue)
- {
- return namespace + schemaElementType + nameAttrValue;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
deleted file mode 100644
index ba632a0523..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.apache.tuscany.sdo.SDOExtendedMetaData;
-import org.apache.tuscany.sdo.impl.SDOFactoryImpl.SDOEcoreFactory;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EPackage.Registry;
-
-/**
- * TODO make demand() methods synchronous?
- */
-public class SDOExtendedMetaDataImpl
- extends BaseSDOExtendedMetaDataImpl
- implements SDOExtendedMetaData
-{
-
- public SDOExtendedMetaDataImpl() {
- this(HelperContextImpl.getBuiltInModelRegistry());
- }
-
- public SDOExtendedMetaDataImpl(Registry registry) {
- super(registry);
- ecoreFactory = new SDOEcoreFactory();
- demandMetaData = new SDODemandMetaData();
- }
-
- public static class SDODemandMetaData extends DemandMetaData {
- EClassifier getEObject() { return (EClassifier)((ModelFactoryImpl)ModelFactory.INSTANCE).getDataObject(); }
- EClassifier getAnySimpleType() { return (EClassifier)((ModelFactoryImpl)ModelFactory.INSTANCE).getObject(); }
- }
-
- public EPackage getPackage(String namespace)
- {
- if ("".equals(namespace)) namespace = null; //FB
- EPackage result = registry.getEPackage(namespace);
- return result == null ? super.getPackage(namespace) : result;
- }
-
- /**
- * Returns the listing of alias names as specified by the sdo:aliasNames
- * property.
- */
- public List getAliasNames(EModelElement modelElement) {
- EAnnotation eAnnotation = getAnnotation(modelElement, false);
- List list = null;
- if (eAnnotation != null) {
- String aliasNames = (String)eAnnotation.getDetails().get("aliasNames");
- if (aliasNames != null) {
- list = new ArrayList();
- StringTokenizer st = new StringTokenizer(aliasNames, " ");
- while (st.hasMoreTokens()) {
- String t = st.nextToken();
- list.add(t);
- }
- }
- }
- return list;
- }
-
-
- public void setAliasNames(EModelElement modelElement, List aliasNames) {
- if (aliasNames == null || aliasNames.isEmpty()) {
- setAliasNames(modelElement, (String)null);
- } else {
- StringBuffer buf = new StringBuffer();
- for (int n = 0; n < aliasNames.size(); n++) {
- String name = (String) aliasNames.get(n);
- buf.append(name);
- buf.append(" ");
- }
- setAliasNames(modelElement, buf.toString());
- }
- }
-
- /**
- * Adds an alias name per sdo:aliasName
- */
- public void setAliasNames(EModelElement modelElement, String aliasNames) {
- EAnnotation eAnnotation = getAnnotation(modelElement, true);
- eAnnotation.getDetails().put("aliasNames", aliasNames);
- }
-
- public EPackage.Registry getRegistry()
- {
- return registry;
- }
-
- boolean featureNamespaceMatchingLax = true;
-
- public void setFeatureNamespaceMatchingLax(boolean b) {
- featureNamespaceMatchingLax = b;
- }
-
- protected boolean isFeatureNamespaceMatchingLax() {
- return featureNamespaceMatchingLax;
- }
-
- /*
- * (non-Javadoc)
- *
- * Eagerly pre-cache the "holder"s for static packages.
- *
- * @see org.eclipse.emf.ecore.util.BasicExtendedMetaData#putPackage(java.lang.String,
- * org.eclipse.emf.ecore.EPackage)
- */
- public void putPackage(String namespace, EPackage ePackage) {
- for (Iterator iterator = ePackage.eAllContents(); iterator.hasNext();) {
- Object object = iterator.next();
- if (object instanceof EClassifier) {
- this.getName((EClassifier) object);
- } else if (object instanceof EStructuralFeature) {
- this.getName((EStructuralFeature) object);
- }
- }
- super.putPackage(namespace, ePackage);
- }
-
- /******************************************************************************************************
- * Following methods, getLocalAttribute & getLocalElement, ARE TEMPORARY COPIES FROM THE BASE CLASS.
- * One line (the last line)in each method is changed to support lax namespace matching.
- * DO NOT EDIT THESE METHODS. THEY WILL BE REMOVED WHEN WE MOVE TO EMF 2.3, WHICH FIXES THE PROBLEM.
- ******************************************************************************************************/
-
- public EStructuralFeature getLocalAttribute(EClass eClass, String namespace, String name)
- {
- EStructuralFeature result = null;
- if (isFeatureKindSpecific())
- {
- List allAttributes = getAllAttributes(eClass);
- for (int i = 0, size = allAttributes.size(); i < size; ++i)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature) allAttributes.get(i);
- if (name.equals(getName(eStructuralFeature)))
- {
- String featureNamespace = getNamespace(eStructuralFeature);
- if (namespace == null)
- {
- if (featureNamespace == null)
- {
- return eStructuralFeature;
- }
- else if (result == null)
- {
- result = eStructuralFeature;
- }
- }
- else if (namespace.equals(featureNamespace))
- {
- return eStructuralFeature;
- }
- else if (featureNamespace == null && result == null)
- {
- result = eStructuralFeature;
- }
- }
- }
- }
- else
- {
- for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i)
- {
- EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
- switch (getFeatureKind(eStructuralFeature))
- {
- case UNSPECIFIED_FEATURE:
- case ATTRIBUTE_FEATURE:
- {
- if (name.equals(getName(eStructuralFeature)))
- {
- String featureNamespace = getNamespace(eStructuralFeature);
- if (namespace == null)
- {
- if (featureNamespace == null)
- {
- return eStructuralFeature;
- }
- else if (result == null)
- {
- result = eStructuralFeature;
- }
- }
- else if (namespace.equals(featureNamespace))
- {
- return eStructuralFeature;
- }
- else if (featureNamespace == null && result == null)
- {
- result = eStructuralFeature;
- }
- }
- break;
- }
- }
- }
- }
-
- return isFeatureNamespaceMatchingLax() ? result : null;
- }
-
- protected EStructuralFeature getLocalElement(EClass eClass, String namespace, String name)
- {
- EStructuralFeature result = null;
- if (isFeatureKindSpecific())
- {
- List allElements = getAllElements(eClass);
- for (int i = 0, size = allElements.size(); i < size; ++i)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature) allElements.get(i);
- if (name.equals(getName(eStructuralFeature)))
- {
- String featureNamespace = getNamespace(eStructuralFeature);
- if (namespace == null)
- {
- if (featureNamespace == null)
- {
- return eStructuralFeature;
- }
- else if (result == null)
- {
- result = eStructuralFeature;
- }
- }
- else if (namespace.equals(featureNamespace))
- {
- return eStructuralFeature;
- }
- else if (featureNamespace == null && result == null)
- {
- result = eStructuralFeature;
- }
- }
- }
- }
- else
- {
- for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i)
- {
- EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
- switch (getFeatureKind(eStructuralFeature))
- {
- case UNSPECIFIED_FEATURE:
- case ELEMENT_FEATURE:
- {
- if (name.equals(getName(eStructuralFeature)))
- {
- String featureNamespace = getNamespace(eStructuralFeature);
- if (namespace == null)
- {
- if (featureNamespace == null)
- {
- return eStructuralFeature;
- }
- else if (result == null)
- {
- result = eStructuralFeature;
- }
- }
- else if (namespace.equals(featureNamespace))
- {
- return eStructuralFeature;
- }
- else if (featureNamespace == null && result == null)
- {
- result = eStructuralFeature;
- }
- }
- break;
- }
- }
- }
- }
-
- return isFeatureNamespaceMatchingLax() ? result : null;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java
deleted file mode 100644
index 922f092845..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.tuscany.sdo.SDOExtendedMetaData;
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SimpleAnyTypeDataObject;
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.EventListener;
-import org.apache.tuscany.sdo.impl.ClassImpl;
-import org.apache.tuscany.sdo.impl.DataGraphImpl;
-import org.apache.tuscany.sdo.impl.DynamicDataObjectImpl;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-import org.apache.tuscany.sdo.spi.SDOHelperBase;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.impl.HelperProvider;
-
-public class SDOHelperImpl extends SDOHelperBase implements SDOHelper, SDOHelper.MetaDataBuilder {
-
- public DataObject createDataTypeWrapper(Type dataType, Object value) {
- SimpleAnyTypeDataObject simpleAnyType = SDOFactory.eINSTANCE.createSimpleAnyTypeDataObject();
- simpleAnyType.setInstanceType((EDataType)dataType);
- simpleAnyType.setValue(value);
- return simpleAnyType;
- }
-
- public Object createFromString(Type dataType, String literal) {
- return EcoreUtil.createFromString((EDataType)dataType, literal);
- }
-
- public String convertToString(Type dataType, Object value) {
- return EcoreUtil.convertToString((EDataType)dataType, value);
- }
-
- public Type getXSDSDOType(String xsdType) {
- Type type = null;
- String name = (String)xsdToSdoMappings.get(xsdType);
- if (name != null)
- type = (Type)((ModelFactoryImpl)ModelFactory.INSTANCE).getEClassifier(name);
- return type;
- }
-
- public Sequence getSubstitutionValues(DataObject dataObject, Property head) {
- final EStructuralFeature group = ExtendedMetaData.INSTANCE.getGroup((EStructuralFeature)head);
- return null == group ? null : (Sequence)((FeatureMap.Internal)((EObject)dataObject).eGet(group)).getWrapper();
- }
-
- public Type getJavaSDOType(Class javaClass) {
- String name = (String)javaToSdoMappings.get(javaClass);
- if (name != null) {
- return (Type)((ModelFactoryImpl)ModelFactory.INSTANCE).getEClassifier(name);
- }
- return null;
- }
-
- public boolean isRequired(Property property) {
- return ((EStructuralFeature)property).isRequired();
- }
-
- public int getUpperBound(Property property) {
- return ((EStructuralFeature)property).getUpperBound();
- }
-
- public int getLowerBound(Property property) {
- return ((EStructuralFeature)property).getLowerBound();
- }
-
- public List getEnumerationFacet(Type type) {
- List instProps = type.getInstanceProperties();
- String propertyName = "enumeration";
- Property enumProperty = null;
-
- for (int i = 0; i < instProps.size(); i++)
- {
- Property prop = (Property)instProps.get(i);
- if (propertyName.equals(prop.getName()))
- enumProperty = prop;
- }
-
- return (List)DataObjectUtil.getMetaObjectInstanceProperty((EModelElement)type, enumProperty);
- }
-
- public List getPatternFacet(Type type) {
- List instProps = type.getInstanceProperties();
- String propertyName = "pattern";
- Property patternProperty = null;
-
- for (int i = 0; i < instProps.size(); i++)
- {
- Property prop = (Property)instProps.get(i);
- if (propertyName.equals(prop.getName()))
- patternProperty = prop;
- }
-
- return (List)DataObjectUtil.getMetaObjectInstanceProperty((EModelElement)type, patternProperty);
- }
-
- public boolean isMany(Property property, DataObject context) {
- return FeatureMapUtil.isMany((EObject)context, (EStructuralFeature)property);
- }
-
- public DataGraph createDataGraph() {
- return SDOFactory.eINSTANCE.createDataGraph();
- }
-
- public void setRootObject(DataGraph dataGraph, DataObject rootObject) {
- ((DataGraphImpl)dataGraph).setERootObject((EObject)rootObject);
- }
-
- public static DataGraph loadDataGraph(InputStream inputStream, Map options) throws IOException {
- ResourceSet resourceSet = DataObjectUtil.createResourceSet();
- Resource resource = resourceSet.createResource(URI.createURI("all.datagraph"));
- resource.load(inputStream, options);
- return (DataGraph)resource.getContents().get(0);
- }
-
- static final Object LOADING_SCOPE = XMLResource.OPTION_EXTENDED_META_DATA;
-
- protected void registerLoadingScope(Map options, TypeHelper scope) {
- Object extendedMetaData = ((TypeHelperImpl)scope).getExtendedMetaData();
- options.put(LOADING_SCOPE, extendedMetaData);
- }
-
- public DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext scope) throws IOException {
- if (scope == null) {
- scope = HelperProvider.getDefaultContext();
- }
- TypeHelper th = scope.getTypeHelper();
- DataGraph result = null;
- if (th == null || th == TypeHelper.INSTANCE) {
- result = loadDataGraph(inputStream, options);
- } else if (options == null) {
- options = new HashMap();
- registerLoadingScope(options, th);
- result = loadDataGraph(inputStream, options);
- } else if (options.containsKey(LOADING_SCOPE)) {
- Object restore = options.get(LOADING_SCOPE);
- registerLoadingScope(options, th);
- try {
- result = loadDataGraph(inputStream, options);
- } finally {
- options.put(LOADING_SCOPE, restore);
- }
- } else {
- registerLoadingScope(options, th);
- try {
- result = loadDataGraph(inputStream, options);
- } finally {
- options.remove(LOADING_SCOPE);
- }
- }
- return result;
- }
-
- public void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException {
- ((DataGraphImpl)dataGraph).getDataGraphResource().save(outputStream, options);
- }
-
- public void registerDataGraphTypes(DataGraph dataGraph, List/* Type */types) {
- // if (types == null)
- // types = SDOUtil.getDataGraphTypes(dataGraph);
-
- Set/* EPackage */packages = new HashSet();
- for (final Iterator iterator = types.iterator(); iterator.hasNext();) {
- EClassifier type = (EClassifier)iterator.next();
- packages.add(type.getEPackage());
- }
-
- ResourceSet resourceSet = ((DataGraphImpl)dataGraph).getResourceSet();
-
- for (Iterator iterator = packages.iterator(); iterator.hasNext();) {
- EPackage typePackage = (EPackage)iterator.next();
- Resource resource = typePackage.eResource();
- if (resource == null) {
- resource = resourceSet.createResource(URI.createURI(".ecore"));
- resource.setURI(URI.createURI(typePackage.getNsURI()));
- resource.getContents().add(typePackage);
- } else if (resource.getResourceSet() != resourceSet)
- resourceSet.getResources().add(resource);
- }
- }
-
- public HelperContext createHelperContext() {
- return new HelperContextImpl(false, null);
- }
-
- public HelperContext createHelperContext(boolean extensibleNamespaces) {
- return new HelperContextImpl(extensibleNamespaces);
- }
-
- public HelperContext createHelperContext(Map options) {
- return new HelperContextImpl(false, options);
- }
-
- public HelperContext createHelperContext(boolean extensibleNamespaces, Map options) {
- return new HelperContextImpl(extensibleNamespaces, options);
- }
-
-
- public CopyHelper createCrossScopeCopyHelper(HelperContext hc) {
- return new CrossScopeCopyHelperImpl(hc.getTypeHelper());
- }
-
-
- public XMLStreamHelper createXMLStreamHelper(HelperContext hc) {
- return ((HelperContextImpl)hc).getXMLStreamHelper();
- }
-
-
- public List getTypes(HelperContext hc, String uri) {
-
- EPackage ePackage = ((HelperContextImpl)hc).getExtendedMetaData().getPackage(uri);
- if (ePackage != null) {
- return new ArrayList(ePackage.getEClassifiers());
- }
- return null;
- }
-
- public List getOpenContentProperties(DataObject dataObject) {
- List result = new UniqueEList();
- ((ClassImpl)dataObject.getType()).addOpenProperties((EObject)dataObject, result);
- return result;
- }
-
- public boolean isDocumentRoot(Type type) {
- return "".equals(SDOExtendedMetaData.INSTANCE.getName((EClassifier)type));
- }
-
-
- public Type createType(HelperContext hc, String uri, String name, boolean isDataType) {
- ExtendedMetaData extendedMetaData = ((HelperContextImpl)hc).getExtendedMetaData();
- if ("".equals(uri))
- uri = null; // FB
-
- EPackage ePackage = extendedMetaData.getPackage(uri);
- if (ePackage == null) {
- ePackage = EcoreFactory.eINSTANCE.createEPackage();
- ePackage.setEFactoryInstance(new DynamicDataObjectImpl.FactoryImpl());
- ePackage.setNsURI(uri);
- String packagePrefix = uri != null ? URI.createURI(uri).trimFileExtension().lastSegment() : ""; // FB
- ePackage.setName(packagePrefix);
- ePackage.setNsPrefix(packagePrefix);
- extendedMetaData.putPackage(uri, ePackage);
- }
-
- EClassifier eClassifier = ePackage.getEClassifier(name);
- if (eClassifier != null) // already defined?
- {
- // throw new IllegalArgumentException();
- return null;
- }
-
- if (name != null) {
- eClassifier =
- isDataType ? (EClassifier)SDOFactory.eINSTANCE.createDataType() : (EClassifier)SDOFactory.eINSTANCE
- .createClass();
- eClassifier.setName(name);
- } else {
- eClassifier = DataObjectUtil.createDocumentRoot();
- }
-
- ePackage.getEClassifiers().add(eClassifier);
-
- return (Type)eClassifier;
- }
-
- public void addBaseType(Type type, Type baseType) {
- ((EClass)type).getESuperTypes().add(baseType);
- }
-
- public void addAliasName(Type type, String aliasName) {
- throw new UnsupportedOperationException(); // TODO: implement this
- // method properly
- // type.getAliasNames().add(aliasName);
- }
-
- public void setOpen(Type type, boolean isOpen) {
- if (isOpen == type.isOpen())
- return;
-
- if (isOpen) {
- EAttribute eAttribute = (EAttribute)SDOFactory.eINSTANCE.createAttribute();
- ((EClass)type).getEStructuralFeatures().add(eAttribute);
-
- eAttribute.setName("any");
- eAttribute.setUnique(false);
- eAttribute.setUpperBound(ETypedElement.UNBOUNDED_MULTIPLICITY);
- eAttribute.setEType(EcorePackage.eINSTANCE.getEFeatureMapEntry());
- ExtendedMetaData.INSTANCE.setFeatureKind(eAttribute, ExtendedMetaData.ELEMENT_WILDCARD_FEATURE);
- ExtendedMetaData.INSTANCE.setProcessingKind(eAttribute, ExtendedMetaData.LAX_PROCESSING);
- ExtendedMetaData.INSTANCE.setWildcards(eAttribute, Collections.singletonList("##any"));
-
- // FB TBD Add an "anyAttribute" EAttribute as well.
-
- if (ExtendedMetaData.INSTANCE.getMixedFeature((EClass)type) != null) {
- eAttribute.setDerived(true);
- eAttribute.setTransient(true);
- eAttribute.setVolatile(true);
- }
- } else {
- EClass eClass = (EClass)type;
- EAttribute any = (EAttribute)eClass.getEStructuralFeature("any");
- eClass.getEStructuralFeatures().remove(any);
- }
- }
-
- public void setSequenced(Type type, boolean isSequenced) {
- // currently, we require setSequenced to be called first, before
- // anything else is added to the type.
- if (type.isDataType() || !type.getProperties().isEmpty()) {
- if (type.getName() != "DocumentRoot") // document root is a
- // special case
- throw new IllegalArgumentException();
- }
-
- if (isSequenced) {
- EClass eClass = (EClass)type;
- ExtendedMetaData.INSTANCE.setContentKind(eClass, ExtendedMetaData.MIXED_CONTENT);
- EAttribute mixedFeature = (EAttribute)SDOFactory.eINSTANCE.createAttribute();
- mixedFeature.setName("mixed");
- mixedFeature.setUnique(false);
- mixedFeature.setEType(EcorePackage.eINSTANCE.getEFeatureMapEntry());
- mixedFeature.setLowerBound(0);
- mixedFeature.setUpperBound(-1);
- // eClass.getEStructuralFeatures().add(mixedFeature);
- ((ClassImpl)eClass).setSequenceFeature(mixedFeature);
- ExtendedMetaData.INSTANCE.setFeatureKind(mixedFeature, ExtendedMetaData.ELEMENT_WILDCARD_FEATURE);
- ExtendedMetaData.INSTANCE.setName(mixedFeature, ":mixed");
- } else {
- // nothing to do, because of current restriction that setSequence
- // must be called first.
- }
- }
-
- public void setAbstract(Type type, boolean isAbstract) {
- ((EClass)type).setAbstract(isAbstract);
- }
-
- public void setJavaClassName(Type type, String javaClassName) {
- ((EClassifier)type).setInstanceClassName(javaClassName);
- }
-
- public Property createProperty(Type containingType, String name, Type propertyType) {
- EStructuralFeature eStructuralFeature =
- propertyType.isDataType() ? (EStructuralFeature)SDOFactory.eINSTANCE.createAttribute()
- : (EStructuralFeature)SDOFactory.eINSTANCE.createReference();
-
- eStructuralFeature.setName(name);
- eStructuralFeature.setEType((EClassifier)propertyType);
- ((EClass)containingType).getEStructuralFeatures().add(eStructuralFeature);
-
- if ("".equals(ExtendedMetaData.INSTANCE.getName((EClass)containingType))) // DocumentRoot
- // containingType?
- {
- ExtendedMetaData.INSTANCE.setNamespace(eStructuralFeature, containingType.getURI());
- //FB???eStructuralFeature.setUnique(false);
- //FB???eStructuralFeature.setUpperBound(ETypedElement.UNSPECIFIED_MULTIPLICITY);
- }
-
- if (ExtendedMetaData.INSTANCE.getMixedFeature((EClass)containingType) != null) {
- eStructuralFeature.setDerived(true);
- eStructuralFeature.setTransient(true);
- eStructuralFeature.setVolatile(true);
- ExtendedMetaData.INSTANCE.setFeatureKind(eStructuralFeature, ExtendedMetaData.ELEMENT_FEATURE);
- } else {
- // By default, a SDO property is an XSD element
- ExtendedMetaData.INSTANCE.setFeatureKind(eStructuralFeature, ExtendedMetaData.ELEMENT_FEATURE);
- }
-
- return (Property)eStructuralFeature;
- }
-
- public void setPropertyXMLKind(Property property, boolean isXmlElement) {
- if (isXmlElement) {
- ExtendedMetaData.INSTANCE.setFeatureKind((EStructuralFeature)property, ExtendedMetaData.ELEMENT_FEATURE);
- }
- else {
- ExtendedMetaData.INSTANCE.setFeatureKind((EStructuralFeature)property, ExtendedMetaData.ATTRIBUTE_FEATURE);
- }
- }
-
-
- public Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type)
- {
- ExtendedMetaData extendedMetaData = ((HelperContextImpl)hc).getExtendedMetaData();
-
- // get/create document root
- EPackage ePackage = extendedMetaData.getPackage(uri);
- Type documentRoot = ePackage != null ? (Type)extendedMetaData.getType(ePackage, "") : null;
- if (documentRoot == null) {
- documentRoot = createType(hc, uri, null, false);
- }
-
- // Determine if property already exists
- Property newProperty = documentRoot.getProperty(name);
- if (newProperty == null) {
- // Create the new property 'under' the document root.....
- newProperty = createProperty(documentRoot, name, type);
- } else {
- // if property already exists, validate the expected type
- if (!newProperty.getType().equals(type))
- throw new IllegalArgumentException();
- }
- return newProperty;
- }
-
-
- public void addAliasName(Property property, String aliasName) {
- throw new UnsupportedOperationException(); // TODO: implement this
- // method properly
- // property.getAliasNames().add(aliasName);
- }
-
- public void setMany(Property property, boolean isMany) {
- ((EStructuralFeature)property).setUpperBound(isMany ? EStructuralFeature.UNBOUNDED_MULTIPLICITY : 1);
- }
-
- public void setContainment(Property property, boolean isContainment) {
- ((EReference)property).setContainment(isContainment);
- }
-
- public void setDefault(Property property, String defaultValue) {
- ((EStructuralFeature)property).setDefaultValueLiteral(defaultValue);
- }
-
- public void setReadOnly(Property property, boolean isReadOnly) {
- ((EStructuralFeature)property).setChangeable(!isReadOnly);
- }
-
- public void setOpposite(Property property, Property opposite) {
- ((EReference)property).setEOpposite((EReference)opposite);
- }
-
- public void addTypeInstanceProperty(Type definedType, Property instanceProperty, Object value) {
- addInstanceProperty((EModelElement)definedType, instanceProperty, value);
- }
-
- public void addPropertyInstanceProperty(Property definedProperty, Property instanceProperty, Object value) {
- addInstanceProperty((EModelElement)definedProperty, instanceProperty, value);
- }
-
- protected void addInstanceProperty(EModelElement metaObject, Property property, Object value) {
- String uri = property.getContainingType().getURI();
- EAnnotation eAnnotation = metaObject.getEAnnotation(uri);
- if (eAnnotation == null) {
- eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
- eAnnotation.setSource(uri);
- metaObject.getEAnnotations().add(eAnnotation);
- }
- // TODO if (property.isMany()) ... // convert list of values
- String stringValue = convertToString(property.getType(), value);
- eAnnotation.getDetails().put(property.getName(), stringValue);
- }
-
-
- public void addChangeListener(DataObject dob, EventListener listener) {
- // Adapter l = (Adapter)listener;
- ((Notifier)dob).eAdapters().add(listener);
- }
-
- public void removeChangeListener(DataObject dob, EventListener listener) {
- ((Notifier)dob).eAdapters().remove(listener);
- }
-
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOSimpleDateFormat.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOSimpleDateFormat.java
deleted file mode 100644
index 9d14a264d8..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOSimpleDateFormat.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.helper;
-
-import java.text.DateFormatSymbols;
-import java.text.SimpleDateFormat;
-import java.util.Locale;
-import java.util.TimeZone;
-
-/**
- * Fixes the bug reported at JIRA TUSCANY-1659
- * This class ensures the time zone will be formatted as the abbreviation format.
- */
-public class SDOSimpleDateFormat extends SimpleDateFormat {
-
- private static final long serialVersionUID = 2519728288048681529L;
-
- public SDOSimpleDateFormat() {
- super();
- setTimeZone(getTimeZone());
-
- }
-
- public SDOSimpleDateFormat(String pattern) {
- super(pattern);
- setTimeZone(getTimeZone());
-
- }
-
- public SDOSimpleDateFormat(String pattern, Locale locale) {
- super(pattern, locale);
- setTimeZone(getTimeZone());
-
- }
-
- public SDOSimpleDateFormat(String pattern, DateFormatSymbols formatSymbols) {
- super(pattern, formatSymbols);
- setTimeZone(getTimeZone());
-
- }
-
- /**
- * Overrides the SimpleDateFormat.setTimeZone(TimeZone) method.
- * It checks if the TimeZone to be set is in the abbreviation format.
- * If not, it looks for its abbreviation format and set it.
- *
- * @param timeZone the time zone to be set
- *
- */
- public void setTimeZone(TimeZone timeZone) {
-
- if (timeZone.getID().length() != 3) {
- String[] timeZoneNames = TimeZone.getAvailableIDs(timeZone.getRawOffset());
-
- for (int i = 0 ; i < timeZoneNames.length ; i++ ) {
- String actualTimeZoneName = timeZoneNames[i].trim();
-
- // if the time zone name has 3 letters and ends with a T character,
- // it's considered to be the abbreviation format
- if (actualTimeZoneName.length() == 3 && actualTimeZoneName.charAt(actualTimeZoneName.length() - 1) == 'T') {
- timeZone = TimeZone.getTimeZone(timeZoneNames[i]);
- break;
-
- }
-
- }
-
- }
-
- super.setTimeZone(timeZone);
-
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
deleted file mode 100644
index 7a3a409479..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
+++ /dev/null
@@ -1,789 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.xml.XMLConstants;
-
-import org.apache.tuscany.sdo.SDOExtendedMetaData;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.impl.AttributeImpl;
-import org.apache.tuscany.sdo.impl.SDOFactoryImpl.SDOEcoreFactory;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.EcoreUtil.UsageCrossReferencer;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFeature;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTerm;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.ecore.EcoreSchemaBuilder;
-import org.eclipse.xsd.util.XSDResourceFactoryImpl;
-import org.eclipse.xsd.util.XSDResourceImpl;
-import org.eclipse.xsd.util.XSDSchemaLocator;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-public class SDOXSDEcoreBuilder extends BaseSDOXSDEcoreBuilder
-{
- protected boolean replaceConflictingTypes = false;
-
- public SDOXSDEcoreBuilder(ExtendedMetaData extendedMetaData, boolean replaceConflictingTypes)
- {
- super(extendedMetaData);
- ecoreFactory = new SDOEcoreFactory();
- this.replaceConflictingTypes = replaceConflictingTypes;
- populateTypeToTypeObjectMap((EPackage)ModelFactory.INSTANCE);
- }
-
- /**
- * Overrides method in EMF. This will cause the SDO Properties to be in the
- * order in which the Attributes appeared in the XSD.
- */
- protected boolean useSortedAttributes()
- {
- return false;
- }
-
- /*
- * Required for Java 1.4.2 support
- * Node#lookupPrefix is only available since DOM Level 3 (Java 5)
- * and it doesn't return rebound prefix.
- * XSDConstants.lookupQualifier isn't supposed to return rebound prefix either.
- * This lookupPrefix returns any bound prefix no matter rebound to other NameSpace or not, for {@link #getEPackage}.
- */
- static protected String lookupPrefix(Node element, String namespaceURI) {
- String prefix = element.getPrefix();
- if (prefix != null && namespaceURI != null && namespaceURI.equals(element.getNamespaceURI()))
- return prefix;
- NamedNodeMap attributes = element.getAttributes();
- if (attributes != null)
- for (int index = attributes.getLength(); index != 0;) {
- Node attribute = attributes.item(--index);
- if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(attribute.getNamespaceURI()) && attribute.getNodeValue().equals(namespaceURI)
- && XMLConstants.XMLNS_ATTRIBUTE.equals(attribute.getPrefix()))
- return attribute.getLocalName();
- }
- for (Node parent; (parent = element.getParentNode()) != null; element = parent)
- if (parent.getNodeType() == Node.ELEMENT_NODE)
- return lookupPrefix(parent, namespaceURI);
- return null;
- }
-
- public EPackage getEPackage(XSDNamedComponent xsdNamedComponent) {
- XSDSchema containingXSDSchema = xsdNamedComponent.getSchema();
- String targetNamespace = containingXSDSchema == null ?
- xsdNamedComponent.getTargetNamespace() : containingXSDSchema.getTargetNamespace();
- EPackage ePackage = (EPackage) targetNamespaceToEPackageMap.get(targetNamespace);
- if (ePackage != null)
- return ePackage;
- ePackage = super.getEPackage(xsdNamedComponent);
- String nsPrefix = lookupPrefix(xsdNamedComponent.getElement(), targetNamespace);
- if (nsPrefix != null)
- ePackage.setNsPrefix(nsPrefix);
- return ePackage;
- }
-
- public EClassifier getEClassifier(XSDTypeDefinition xsdTypeDefinition) {
- EClassifier eClassifier = null;
- if (xsdTypeDefinition != null)
- {
- if (rootSchema.getSchemaForSchemaNamespace().equals(xsdTypeDefinition.getTargetNamespace())) {
- eClassifier =
- getBuiltInEClassifier(xsdTypeDefinition.getURI(), xsdTypeDefinition.getName());
- }
- else if (xsdTypeDefinition.getContainer() == null) {
- EPackage pkg = extendedMetaData.getPackage(xsdTypeDefinition.getTargetNamespace());
- if(pkg != null) {
- eClassifier = pkg.getEClassifier(xsdTypeDefinition.getName());
- }
- }
- }
- if (eClassifier == null) {
- eClassifier = super.getEClassifier(xsdTypeDefinition);
- }
- return eClassifier;
- }
-
- public EDataType getEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition) {
- EDataType eClassifier = null;
- if (xsdSimpleTypeDefinition != null && rootSchema.getSchemaForSchemaNamespace().equals(xsdSimpleTypeDefinition.getTargetNamespace())) {
- eClassifier =
- (EDataType)getBuiltInEClassifier(
- xsdSimpleTypeDefinition.getURI(),
- xsdSimpleTypeDefinition.getName());
- } else {
- eClassifier = super.getEDataType(xsdSimpleTypeDefinition);
- }
- return (EDataType)eClassifier;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.xsd.ecore.XSDEcoreBuilder#createResourceSet()
- */
- protected ResourceSet createResourceSet() {
- ResourceSet result = super.createResourceSet();
- result.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XSDResourceFactoryImpl());
- result.getAdapterFactories().add(new XSDSchemaAdapterFactoryImpl());
- result.setPackageRegistry(new EPackageRegistryImpl(HelperContextImpl.getBuiltInModelRegistry()));
-
- return result;
- }
-
- protected EClassifier getBuiltInEClassifier(String namespace, String name)
- {
- EClassifier eClassifier = null;
- if ("base64Binary".equals(name)) {
- eClassifier = (EClassifier)AttributeImpl.INTERNAL_BASE64_BYTES;
- }
- else if ("QName".equals(name)) {
- eClassifier = (EClassifier)AttributeImpl.INTERNAL_QNAME;
- }
- else {
- eClassifier = (EClassifier)SDOUtil.getXSDSDOType(name);
- }
-
- if (eClassifier == null)
- eClassifier = super.getBuiltInEClassifier(namespace, name);
- return eClassifier;
- }
-
- private void updateReferences(EObject oldEObject, EObject newEObject)
- {
- Collection usages = UsageCrossReferencer.find(oldEObject, targetNamespaceToEPackageMap.values());
- for (Iterator iter = usages.iterator(); iter.hasNext(); )
- {
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting)iter.next();
- EObject referencingEObject = setting.getEObject();
- EStructuralFeature eStructuralFeature = setting.getEStructuralFeature();
- if (eStructuralFeature.isChangeable())
- {
- if (eStructuralFeature.isMany())
- {
- List refList = (List)referencingEObject.eGet(eStructuralFeature);
- int refIndex = refList.indexOf(oldEObject);
- if (refIndex != -1) refList.set(refIndex, newEObject);
- }
- else
- {
- referencingEObject.eSet(eStructuralFeature, newEObject);
- }
- }
- }
- }
-
- private XSDTypeDefinition getXSDTypeDefinition(EClassifier eClassifier)
- {
- //TODO Maybe we should create a reverse (eModelElementToXSDComponentMap) for better performance.
- // Use a HashMap subclass for xsdComponentToEModelElementMap that overrides put() to also add the
- // reverse mapping in eModelElementToXSDComponentMap
- XSDTypeDefinition xsdTypeDefinition = null;
- for (Iterator i = xsdComponentToEModelElementMap.entrySet().iterator(); i.hasNext(); )
- {
- Entry e = (Entry) i.next();
- if (eClassifier == e.getValue())
- {
- xsdTypeDefinition = (XSDTypeDefinition)e.getKey();
- break;
- }
- }
- return xsdTypeDefinition;
- }
-
- private boolean sameType(XSDTypeDefinition t1, XSDTypeDefinition t2)
- {
- XSDConcreteComponent n1 = t1, n2 = t2;
- while (n1 != null && n2 != null)
- {
- if (n1.eClass() != n2.eClass()) break;
- if (n1 instanceof XSDNamedComponent /*&& n2 instanceof XSDNamedComponent*/)
- {
- String s1 = ((XSDNamedComponent)n1).getName();
- String s2 = ((XSDNamedComponent)n2).getName();
- if (s1 == null ? s1 != s2 : !s1.equals(s2)) break;
- }
- n1 = n1.getContainer();
- n2 = n2.getContainer();
- }
- return n1 == null && n2 == null;
- }
-
- protected void removeDuplicateEClassifier(EClassifier eClassifier, XSDTypeDefinition xsdTypeDefinition)
- {
- EPackage ePackage = eClassifier.getEPackage();
- List eClassifiers = ePackage.getEClassifiers();
- String name = eClassifier.getName();
- int size = eClassifiers.size();
- for (int index = eClassifiers.indexOf(eClassifier); ++index < size; )
- {
- EClassifier nextEClassifier = (EClassifier)eClassifiers.get(index);
- if (!name.equals(nextEClassifier.getName())) break;
- if (extendedMetaData.getName(eClassifier).equals(extendedMetaData.getName(nextEClassifier)))
- {
- XSDTypeDefinition nextXSDTypeDefinition = getXSDTypeDefinition(nextEClassifier);
- if (!sameType(nextXSDTypeDefinition, xsdTypeDefinition))
- {
- //System.out.println("###EClassifier mismatch: ");
- //System.out.println(" old: " + extendedMetaData.getName(nextEClassifier));
- //System.out.println(" new: " + extendedMetaData.getName(eClassifier));
- continue;
- }
- eClassifiers.remove(index);
- updateReferences(nextEClassifier, eClassifier);
- break;
- }
- }
- }
-
- protected void removeDuplicateDocumentRootFeature(EClass eClass, EStructuralFeature eStructuralFeature)
- {
- List eStructuralFeatures = eClass.getEStructuralFeatures();
- int last = eStructuralFeatures.size() - 1;
- String name = extendedMetaData.getName(eStructuralFeature);
- for (int index = 0; index < last; index++)
- {
- EStructuralFeature otherEStructuralFeature = (EStructuralFeature)eStructuralFeatures.get(index);
- if (name.equals(extendedMetaData.getName(otherEStructuralFeature)))
- {
- if (otherEStructuralFeature.eClass() != eStructuralFeature.eClass())
- {
- //System.out.println("###EStructuralFeature mismatch: ");
- //System.out.println(" old: " + extendedMetaData.getName(otherEStructuralFeature));
- //System.out.println(" new: " + extendedMetaData.getName(eStructuralFeature));
- continue;
- }
- eStructuralFeatures.remove(index);
- updateReferences(otherEStructuralFeature, eStructuralFeature);
- break;
- }
- }
- }
-
- public EClass computeEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition) {
- if (xsdComplexTypeDefinition == null) return super.computeEClass(xsdComplexTypeDefinition);
- EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(xsdComplexTypeDefinition.getTargetNamespace());
- if (ePackage != null && TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
- EClassifier eclassifier = ePackage.getEClassifier(xsdComplexTypeDefinition.getName());
- if (eclassifier != null) return (EClass)eclassifier;
- }
- EClass eClass = super.computeEClass(xsdComplexTypeDefinition);
- if (replaceConflictingTypes) removeDuplicateEClassifier(eClass, xsdComplexTypeDefinition);
- String aliasNames = getEcoreAttribute(xsdComplexTypeDefinition.getElement(), "aliasName");
- if (aliasNames != null) {
- SDOExtendedMetaData.INSTANCE.setAliasNames(eClass, aliasNames);
- }
- return eClass;
- }
-
- protected EClassifier computeEClassifier(XSDTypeDefinition xsdTypeDefinition) {
- if (xsdTypeDefinition == null) return super.computeEClassifier(xsdTypeDefinition);
- EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(xsdTypeDefinition.getTargetNamespace());
- if (ePackage != null && TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
- EClassifier eclassifier = ePackage.getEClassifier(xsdTypeDefinition.getName());
- if (eclassifier != null) return eclassifier;
- }
- EClassifier eclassifier = super.computeEClassifier(xsdTypeDefinition);
- EClassifier etype = (EClassifier) typeToTypeObjectMap.get(eclassifier);
- String aliasNames = getEcoreAttribute(xsdTypeDefinition.getElement(), "aliasName");
- if (aliasNames != null) {
- SDOExtendedMetaData.INSTANCE.setAliasNames(eclassifier, aliasNames);
- if (etype != null) {
- SDOExtendedMetaData.INSTANCE.setAliasNames(etype, aliasNames);
- }
- }
- return eclassifier;
- }
-
- protected EDataType computeEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition) {
- if (xsdSimpleTypeDefinition == null) return super.computeEDataType(xsdSimpleTypeDefinition);
- EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(xsdSimpleTypeDefinition.getTargetNamespace());
- if (ePackage != null && TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
- EClassifier eclassifier = ePackage.getEClassifier(xsdSimpleTypeDefinition.getName());
- if (eclassifier != null) return (EDataType)eclassifier;
- }
- EDataType eDataType = super.computeEDataType(xsdSimpleTypeDefinition);
- if (replaceConflictingTypes) removeDuplicateEClassifier(eDataType, xsdSimpleTypeDefinition);
- String aliasNames = getEcoreAttribute(xsdSimpleTypeDefinition.getElement(), "aliasName");
- if (aliasNames != null) {
- SDOExtendedMetaData.INSTANCE.setAliasNames(eDataType, aliasNames);
- }
- return eDataType;
- }
-
- protected EEnum computeEEnum(XSDSimpleTypeDefinition xsdSimpleTypeDefinition) {
- return null;
- }
-
- protected EStructuralFeature createFeature(EClass eClass, String name, EClassifier type, XSDComponent xsdComponent, int minOccurs, int maxOccurs) {
- EStructuralFeature feature = super.createFeature(eClass, name, type, xsdComponent, minOccurs, maxOccurs);
-
- if (xsdComponent instanceof XSDParticle) {
- XSDTerm xsdTerm = ((XSDParticle)xsdComponent).getTerm();
- if (xsdTerm instanceof XSDElementDeclaration && ((XSDElementDeclaration)xsdTerm).isNillable())
- EcoreUtil.setAnnotation(feature, ExtendedMetaData.ANNOTATION_URI, "nillable", "true");
- }
-
- //FB What is the following for?
- if (feature instanceof EReference)
- {
- EReference eReference = (EReference)feature;
- if (xsdComponent != null && xsdComponent instanceof XSDParticle)
- {
- XSDTerm xsdTerm = ((XSDParticle)xsdComponent).getTerm();
- if (xsdTerm instanceof XSDElementDeclaration)
- {
- XSDTypeDefinition elementTypeDefinition = getEffectiveTypeDefinition(xsdComponent, (XSDElementDeclaration)xsdTerm);
- EClassifier eClassifier = getEClassifier(elementTypeDefinition);
- if (elementTypeDefinition instanceof XSDSimpleTypeDefinition && eClassifier instanceof EClass)
- {
- eReference.setContainment(true);
- }
- }
- }
- }
-
- feature.setName(name); // this is needed because super.createFeature() does EMF name mangling (toLower)
-
- if (replaceConflictingTypes && "".equals(extendedMetaData.getName(eClass)))
- removeDuplicateDocumentRootFeature(eClass, feature);
-
- if (xsdComponent != null)
- {
- String aliasNames = getEcoreAttribute(xsdComponent.getElement(), "aliasName");
- if (aliasNames != null)
- {
- SDOExtendedMetaData.INSTANCE.setAliasNames(feature, aliasNames);
- }
- }
- return feature;
- }
-
- protected String getInstanceClassName(XSDTypeDefinition typeDefinition, EDataType baseEDataType) {
- String name = getEcoreAttribute(typeDefinition, "extendedInstanceClass");
- return (name != null) ? name : super.getInstanceClassName(typeDefinition, baseEDataType);
- }
-
- protected String getEcoreAttribute(Element element, String attribute)
- {
- String sdoAttribute = null;
-
- if ("name".equals(attribute))
- sdoAttribute = "name";
- else if ("opposite".equals(attribute))
- sdoAttribute = "oppositeProperty";
- else if ("mixed".equals(attribute))
- sdoAttribute = "sequence";
- else if ("string".equals(attribute))
- sdoAttribute = "string";
- else if ("changeable".equals(attribute))
- sdoAttribute = "readOnly";
- else if ("aliasName".equals(attribute))
- sdoAttribute = "aliasName";
-
- if (sdoAttribute != null)
- {
- String value =
- element != null && element.hasAttributeNS("commonj.sdo/xml", sdoAttribute) ?
- element.getAttributeNS("commonj.sdo/xml", sdoAttribute) :
- null;
- if ("changeable".equals(attribute)) {
- if ("true".equals(value)) value = "false";
- else if ("false".equals(value)) value = "true";
- }
- return value;
- }
-
- if ("package".equals(attribute))
- sdoAttribute = "package";
- else if ("instanceClass".equals(attribute))
- sdoAttribute = "instanceClass";
- else if ("extendedInstanceClass".equals(attribute))
- sdoAttribute = "extendedInstanceClass";
- else if ("nestedInterfaces".equals(attribute))
- sdoAttribute = "nestedInterfaces";
-
- if (sdoAttribute != null)
- {
- return
- element != null && element.hasAttributeNS("commonj.sdo/java", sdoAttribute) ?
- element.getAttributeNS("commonj.sdo/java", sdoAttribute) :
- null;
- }
-
- return super.getEcoreAttribute(element, attribute);
- }
-
- /*
- protected String getEcoreAttribute(XSDConcreteComponent xsdConcreteComponent, String attribute)
- {
- String value = super.getEcoreAttribute(xsdConcreteComponent, attribute);
- if ("package".equals(attribute) && value == null)
- {
- XSDSchema xsdSchema = (XSDSchema)xsdConcreteComponent;
- value = getDefaultPackageName(xsdSchema.getTargetNamespace());
- }
- return value;
- }
- */
-
- protected XSDTypeDefinition getEcoreTypeQNameAttribute(XSDConcreteComponent xsdConcreteComponent, String attribute)
- {
- if (xsdConcreteComponent == null) return null;
- String sdoAttribute = null;
-
- if ("reference".equals(attribute)) sdoAttribute = "propertyType";
- if ("dataType".equals(attribute)) sdoAttribute = "dataType";
-
- if (sdoAttribute != null)
- {
- Element element = xsdConcreteComponent.getElement();
- return element == null ? null : getEcoreTypeQNameAttribute(xsdConcreteComponent, element, "commonj.sdo/xml", sdoAttribute);
- }
-
- return super.getEcoreTypeQNameAttribute(xsdConcreteComponent, attribute);
- }
-
- /**
- * Override default EMF behavior so that the name is not mangled.
- */
- protected String validName(String name, int casing, String prefix) {
- return name;
- }
-
- /**
- * Override default EMF name mangling for anonymous types (simple and complex)
- */
- protected String validAliasName(XSDTypeDefinition xsdTypeDefinition, boolean isUpperCase) {
- return getAliasName(xsdTypeDefinition);
- }
-
- protected String getAliasName(XSDNamedComponent xsdNamedComponent) {
- String result = xsdNamedComponent.getName();
- if (result == null)
- {
- XSDConcreteComponent container = xsdNamedComponent.getContainer();
- if (container instanceof XSDNamedComponent)
- {
- result = getAliasName((XSDNamedComponent)container);
- if (container instanceof XSDTypeDefinition)
- {
- result = "_" + result;
- }
- }
-
- }
- return result;
- }
-
- protected XSDTypeDefinition getEffectiveTypeDefinition(XSDComponent xsdComponent, XSDFeature xsdFeature)
- {
- if (xsdFeature == null)
- {
- return super.getEffectiveTypeDefinition(xsdComponent, xsdFeature);
- }
- XSDTypeDefinition typeDef = getEcoreTypeQNameAttribute(xsdComponent, "dataType");
-
- String isString = getEcoreAttribute(xsdComponent, xsdFeature, "string");
- if ("true".equalsIgnoreCase(isString)) {
- typeDef =
- xsdFeature.resolveSimpleTypeDefinition(rootSchema.getSchemaForSchemaNamespace(), "string");
- }
- if (typeDef == null)
- typeDef = xsdFeature.getType();
- return typeDef;
- }
-
- /**
- * Override EMF algorithm.
- */
- public String qualifiedPackageName(String namespace)
- {
- return getDefaultPackageName(namespace);
- }
-
- //Code below here to provide common URI to java packagname
-
- public static String uncapNameStatic(String name)
- {
- if (name.length() == 0)
- {
- return name;
- }
- else
- {
- String lowerName = name.toLowerCase();
- int i;
- for (i = 0; i < name.length(); i++)
- {
- if (name.charAt(i) == lowerName.charAt(i))
- {
- break;
- }
- }
- if (i > 1 && i < name.length() && !Character.isDigit(name.charAt(i)))
- {
- --i;
- }
- return name.substring(0, i).toLowerCase() + name.substring(i);
- }
- }
-
- protected static String validNameStatic(String name, int casing, String prefix)
- {
- List parsedName = parseNameStatic(name, '_');
- StringBuffer result = new StringBuffer();
- for (Iterator i = parsedName.iterator(); i.hasNext(); )
- {
- String nameComponent = (String)i.next();
- if (nameComponent.length() > 0)
- {
- if (result.length() > 0 || casing == UPPER_CASE)
- {
- result.append(Character.toUpperCase(nameComponent.charAt(0)));
- result.append(nameComponent.substring(1));
- }
- else
- {
- result.append(nameComponent);
- }
- }
- }
-
- return
- result.length() == 0 ?
- prefix :
- Character.isJavaIdentifierStart(result.charAt(0)) ?
- casing == LOWER_CASE ?
- uncapNameStatic(result.toString()) :
- result.toString() :
- prefix + result;
- }
-
- protected static List parseNameStatic(String sourceName, char separator)
- {
- List result = new ArrayList();
- if (sourceName != null)
- {
- StringBuffer currentWord = new StringBuffer();
- boolean lastIsLower = false;
- for (int index = 0, length = sourceName.length(); index < length; ++index)
- {
- char curChar = sourceName.charAt(index);
- if (!Character.isJavaIdentifierPart(curChar))
- {
- curChar = separator;
- }
- if (Character.isUpperCase(curChar) || (!lastIsLower && Character.isDigit(curChar)) || curChar == separator)
- {
- if (lastIsLower && currentWord.length() > 1 || curChar == separator && currentWord.length() > 0)
- {
- result.add(currentWord.toString());
- currentWord = new StringBuffer();
- }
- lastIsLower = false;
- }
- else
- {
- if (!lastIsLower)
- {
- int currentWordLength = currentWord.length();
- if (currentWordLength > 1)
- {
- char lastChar = currentWord.charAt(--currentWordLength);
- currentWord.setLength(currentWordLength);
- result.add(currentWord.toString());
- currentWord = new StringBuffer();
- currentWord.append(lastChar);
- }
- }
- lastIsLower = true;
- }
-
- if (curChar != separator)
- {
- currentWord.append(curChar);
- }
- }
-
- result.add(currentWord.toString());
- }
- return result;
- }
-
- public static String getDefaultPackageName(String targetNamespace)
- {
- if (targetNamespace == null)
- return null;
-
- URI uri = URI.createURI(targetNamespace);
- List parsedName;
- if (uri.isHierarchical())
- {
- String host = uri.host();
- if (host != null && host.startsWith("www."))
- {
- host = host.substring(4);
- }
- parsedName = parseNameStatic(host, '.');
- Collections.reverse(parsedName);
- if (!parsedName.isEmpty())
- {
- parsedName.set(0, ((String)parsedName.get(0)).toLowerCase());
- }
-
- parsedName.addAll(parseNameStatic(uri.trimFileExtension().path(), '/'));
- }
- else
- {
- String opaquePart = uri.opaquePart();
- int index = opaquePart.indexOf(":");
- if (index != -1 && "urn".equalsIgnoreCase(uri.scheme()))
- {
- parsedName = parseNameStatic(opaquePart.substring(0, index), '-');
- if (parsedName.size() > 0 && DOMAINS.contains(parsedName.get(parsedName.size() - 1)))
- {
- Collections.reverse(parsedName);
- parsedName.set(0, ((String)parsedName.get(0)).toLowerCase());
- }
- parsedName.addAll(parseNameStatic(opaquePart.substring(index + 1), '/'));
- }
- else
- {
- parsedName = parseNameStatic(opaquePart, '/');
- }
- }
-
- StringBuffer qualifiedPackageName = new StringBuffer();
- for (Iterator i = parsedName.iterator(); i.hasNext(); )
- {
- String packageName = (String)i.next();
- if (packageName.length() > 0)
- {
- if (qualifiedPackageName.length() > 0)
- {
- qualifiedPackageName.append('.');
- }
- qualifiedPackageName.append(validNameStatic(packageName, LOWER_CASE,"_"));
- }
- }
-
- return qualifiedPackageName.toString().toLowerCase(); //make sure it's lower case .. we can't work with Axis if not.
- }
-
- private XSDSchema loadEPackage(EPackage ePackage)
- {
- XSDSchema ePackageXSDSchema = null;
- XSDEcoreSchemaBuilder schemaBuilder = new XSDEcoreSchemaBuilder(extendedMetaData);
- ePackageXSDSchema = schemaBuilder.getSchema(ePackage);
- xsdComponentToEModelElementMap.putAll(schemaBuilder.getXSDComponentToEModelElementMap());
- targetNamespaceToEPackageMap.put(ePackage.getNsURI(), ePackage);
- populateTypeToTypeObjectMap(ePackage);
- xsdSchemas.add(ePackageXSDSchema);
- return ePackageXSDSchema;
- }
-
- private static class XSDEcoreSchemaBuilder extends EcoreSchemaBuilder
- {
- public XSDEcoreSchemaBuilder(ExtendedMetaData extendedMetaData)
- {
- super(extendedMetaData);
- }
-
- public Map getXSDComponentToEModelElementMap()
- {
- return xsdComponentToEModelElementMap;
- }
- }
-
- class XSDSchemaAdapterFactoryImpl extends AdapterFactoryImpl
- {
- protected SchemaLocator schemaLocator = new SchemaLocator();
-
- public boolean isFactoryForType(Object type)
- {
- return type == XSDSchemaLocator.class;
- }
-
- public Adapter adaptNew(Notifier target, Object type)
- {
- return schemaLocator;
- }
-
- class SchemaLocator extends XSDResourceImpl.SchemaLocator
- {
- public XSDSchema locateSchema(XSDSchema xsdSchema, String namespaceURI,
- String rawSchemaLocationURI, String resolvedSchemaLocation)
- {
- if (targetNamespaceToEPackageMap.containsKey(namespaceURI))
- {
- for (Iterator iter = xsdSchemas.iterator(); iter.hasNext();) {
- XSDSchema schema = (XSDSchema)iter.next();
- String targetNamespace = schema.getTargetNamespace();
- if (targetNamespace != null && targetNamespace.equals(namespaceURI))
- {
- return schema;
- }
- }
- }
- if (namespaceURI != null && !namespaceURI.equals(xsdSchema.getTargetNamespace()))
- {
- EPackage ePackage = extendedMetaData.getPackage(namespaceURI);
- if (ePackage != null)
- {
- XSDSchema schema = loadEPackage(ePackage);
- return schema;
- }
- }
- return super.locateSchema(xsdSchema, namespaceURI, rawSchemaLocationURI, resolvedSchemaLocation);
- }
- }
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SchemaBuilder.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SchemaBuilder.java
deleted file mode 100644
index 8ff7769041..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SchemaBuilder.java
+++ /dev/null
@@ -1,786 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConstraint;
-import org.eclipse.xsd.XSDDerivationMethod;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDForm;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDProcessContents;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaContent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.XSDHelper;
-
-public class SchemaBuilder extends SDOAnnotations
-{
- public static final String DEFAULT_SCHEMA_LOCATION = "";
- public static final String NAME_SPACE_PREFIX = "stn_";
- private static int prefixCount = 1;
-
- //public static final String MIXED = "mixed";
- //public static final String GROUP = "group";
- public static final String EFEATURE_MAP_ENTRY = "EFeatureMapEntry";
-
- private Map schemaMap = null;
- protected Map targetNamespacePrefixMap = new Hashtable();
- protected Map schemaLocationMap = null;
- protected TypeTable typeTable = null;
- protected XSDFactory xsdFactory = XSDFactory.eINSTANCE;
-
-
- protected SchemaBuilder(Map schemaMap,
- Map nsPrefixMap,
- TypeTable typeTable,
- Map schemaLocMap )
- {
- this.schemaMap = schemaMap;
- this.targetNamespacePrefixMap = nsPrefixMap;
- this.typeTable = typeTable;
- this.schemaLocationMap = schemaLocMap;
- }
-
-
-
-
- private QName addAttribute2ComplexType(String targetNamespace,
- XSDComplexTypeDefinition complexType,
- Property aProperty)
- {
- QName attributeSchemaType = null;
- String prefix = null;
-
- try
- {
- attributeSchemaType = buildSchema(aProperty.getType());
- }
- catch ( IllegalArgumentException e )
- {
- //schema cannot be generated for this type as there exists an xsd already
- //so include that original XSD
- attributeSchemaType = new QName(aProperty.getType().getURI(),
- aProperty.getType().getName(),
- generatePrefix());
- if ( aProperty.getType().isDataType() )
- {
- typeTable.addSimpleSchemaType(aProperty.getType().getName(), attributeSchemaType);
-
- XSDSimpleTypeDefinition simpleType = xsdFactory.createXSDSimpleTypeDefinition();
- simpleType.setName(aProperty.getType().getName());
- simpleType.setTargetNamespace(aProperty.getType().getURI());
- typeTable.addXSDTypeDef(attributeSchemaType.getNamespaceURI(),
- attributeSchemaType.getLocalPart(),
- simpleType);
- }
- else
- {
- typeTable.addComplexSchemaType(aProperty.getType().getURI(),
- aProperty.getType().getName(),
- attributeSchemaType);
-
- XSDComplexTypeDefinition extComplexType = xsdFactory.createXSDComplexTypeDefinition();
- extComplexType.setName(aProperty.getType().getName());
- extComplexType.setTargetNamespace(aProperty.getType().getURI());
- typeTable.addXSDTypeDef(attributeSchemaType.getNamespaceURI(),
- attributeSchemaType.getLocalPart(),
- extComplexType);
- }
- includeExtXSD(aProperty.getType());
- }
- //ensure than an import is done rightaway so that the right prefixes will be used by the
- //attribute whose type is set as 'this type'. Otherwise when setting the type for the attribute
- //there will be a duplicate prefix (like Q1 or Q2... ) that will be created
- prefix = addImports((XSDSchema)schemaMap.get(targetNamespace), attributeSchemaType);
-
- XSDAttributeDeclaration attribute = xsdFactory.createXSDAttributeDeclaration();
- attribute.setName(aProperty.getName());
- XSDAttributeUse orderDateAttributeUse = xsdFactory.createXSDAttributeUse();
- orderDateAttributeUse.setContent(attribute);
- complexType.getAttributeContents().add(orderDateAttributeUse);
- attribute.updateElement();
-
- if ( aProperty.getType().isDataType() )
- {
- attribute.setTypeDefinition((XSDSimpleTypeDefinition)typeTable.getXSDTypeDef(attributeSchemaType.getNamespaceURI(),
- attributeSchemaType.getLocalPart()));
-
- }
- else
- {
- attribute.setTypeDefinition((XSDSimpleTypeDefinition)typeTable.getXSDTypeDef(
- typeTable.getSimpleSchemaTypeName("URI").getNamespaceURI(),
- typeTable.getSimpleSchemaTypeName("URI").getLocalPart()));
-
- }
-
- if ( aProperty.getDefault() != null )
- {
- attribute.setConstraint(XSDConstraint.DEFAULT_LITERAL);
- attribute.setLexicalValue(aProperty.getDefault().toString());
- }
-
- addAnnotations(attribute, aProperty );
- if ( !aProperty.getType().isDataType() )
- {
- String value = prefix + COLON + attributeSchemaType.getLocalPart();
- attribute.getElement().setAttribute(PROPERTY_TYPE, value);
- }
-
- return attributeSchemaType;
- }
-
- private QName addElement2ComplexType(String targetNamespace,
- XSDComplexTypeDefinition complexType,
- Property aProperty)
- {
- String prefix = null;
- QName elementSchemaType = null;
- try
- {
- elementSchemaType = buildSchema(aProperty.getType());
- }
- catch ( IllegalArgumentException e )
- {
- //schema cannot be generated for this type as there exists an xsd already
- //so include that original XSD
- elementSchemaType = new QName(aProperty.getType().getURI(),
- aProperty.getType().getName(),
- generatePrefix());
- if ( aProperty.getType().isDataType() )
- {
- typeTable.addSimpleSchemaType(aProperty.getType().getName(), elementSchemaType);
-
- XSDSimpleTypeDefinition simpleType = xsdFactory.createXSDSimpleTypeDefinition();
- simpleType.setName(aProperty.getType().getName());
- simpleType.setTargetNamespace(aProperty.getType().getURI());
- typeTable.addXSDTypeDef(elementSchemaType.getNamespaceURI(),
- elementSchemaType.getLocalPart(),
- simpleType);
- }
- else
- {
- typeTable.addComplexSchemaType(aProperty.getType().getURI(),
- aProperty.getType().getName(),
- elementSchemaType);
- XSDComplexTypeDefinition extComplexType = xsdFactory.createXSDComplexTypeDefinition();
- extComplexType.setName(aProperty.getType().getName());
- extComplexType.setTargetNamespace(aProperty.getType().getURI());
- typeTable.addXSDTypeDef(elementSchemaType.getNamespaceURI(),
- elementSchemaType.getLocalPart(),
- extComplexType);
- }
- includeExtXSD(aProperty.getType());
- }
-
- //ensure than an import is done rightaway so that the right prefixes will be used by the
- //element whose type is set as 'this type'. Otherwise when setting the type for the element
- //there will be a duplicate prefix (like Q1 or Q2... ) that will be created
- prefix = addImports((XSDSchema)schemaMap.get(targetNamespace), elementSchemaType);
-
- //XmlSchemaElement element = new XmlSchemaElement();
- XSDElementDeclaration element = xsdFactory.createXSDElementDeclaration();
- element.setName(aProperty.getName());
-
- XSDParticle aParticle = xsdFactory.createXSDParticle();
- aParticle.setContent(element);
-
- ((XSDModelGroup)((XSDParticle)complexType.getContent()).getContent()).
- getContents().add(aParticle);
-
- element.updateElement();
-
- if ( aProperty.isMany() )
- {
- aParticle.setMaxOccurs(-1);
- aParticle.setMinOccurs(0);
-
- }
-
- if ( aProperty.isContainment() )
- {
- element.setTypeDefinition(typeTable.getXSDTypeDef(elementSchemaType.getNamespaceURI(),
- elementSchemaType.getLocalPart()));
- }
- else
- {
- if ( !aProperty.getType().isDataType() )
- {
- QName qName = typeTable.getSimpleSchemaTypeName("URI");
- element.setTypeDefinition(typeTable.getXSDTypeDef(qName.getNamespaceURI(),
- qName.getLocalPart()));
- }
- }
-
- addAnnotations(element, aProperty);
- if ( !aProperty.isContainment() && !aProperty.getType().isDataType() )
- {
- String value = prefix + COLON + elementSchemaType.getLocalPart();
- element.getElement().setAttribute(PROPERTY_TYPE, value);
- }
- return elementSchemaType;
-
- }
-
- private void addAnnotations(XSDSchemaContent xsdContent, Property aProperty)
- {
- if ( !aProperty.getAliasNames().isEmpty() )
- {
- addAliasNamesAnnotation(xsdContent, aProperty.getAliasNames());
- }
-
- if ( aProperty.isReadOnly() )
- {
- xsdContent.getElement().setAttribute(READ_ONLY, Boolean.toString(aProperty.isReadOnly()));
- }
-
- if ( aProperty.getOpposite() != null )
- {
- xsdContent.getElement().setAttribute(OPPOSITE_PROPERTY, aProperty.getOpposite().getName());
- }
- }
-
-
- private QName buildComplexSchemaTypeContents(String targetNamespace,
- XSDComplexTypeDefinition complexType,
- Type dataType)
- {
- //clipProperties(dataType);
- List properties = dataType.getDeclaredProperties();
- Iterator iterator = properties.iterator();
- Property aProperty;
- QName propertySchemaTypeName = null;
-
- while ( iterator.hasNext() )
- {
- aProperty = (Property)iterator.next();
- if ( aProperty.isContainment() || aProperty.isMany() || !aProperty.getType().isDataType() )
- {
- propertySchemaTypeName = addElement2ComplexType(targetNamespace, complexType, aProperty);
- }
- else
- {
- propertySchemaTypeName = addAttribute2ComplexType(targetNamespace, complexType, aProperty);
- }
-
- /*if ( !EFEATURE_MAP_ENTRY.equals(aProperty.getType().getName()) )
- {
- addContents2ComplexType(targetNamespace, complexType, aProperty);
- }*/
- }
-
- return propertySchemaTypeName;
-
- }
-
- public QName buildComplexSchemaType(Type dataType)
- {
- //this is called from buildSchema only if isXSD(dataType) is false
- QName complexSchemaTypeName = null ;
- if ( !dataType.isDataType() &&
- (complexSchemaTypeName = typeTable.getComplexSchemaTypeName(dataType.getURI(), dataType.getName())) == null )
- {
- XSDSchema xmlSchema = getXmlSchema(dataType);
- String targetNamespace = dataType.getURI();
- String targetNamespacePrefix = (String)targetNamespacePrefixMap.get(targetNamespace);
-
- complexSchemaTypeName = new QName(targetNamespace,
- dataType.getName(),
- targetNamespacePrefix);
-
- XSDComplexTypeDefinition complexType = xsdFactory.createXSDComplexTypeDefinition();
- complexType.setName(dataType.getName());
- complexType.setTargetNamespace(targetNamespace);
- complexType.setAbstract(dataType.isAbstract());
-
- xmlSchema.getTypeDefinitions().add(complexType);
- xmlSchema.getContents().add(complexType);
-
- complexType.updateElement();
-
- addAnnotations(complexType, dataType);
-
- handleBaseExtn(xmlSchema, dataType, complexType);
- handleSDOSequence(dataType, complexType);
- handleSDOOpenType(dataType, complexType);
-
- //add before constructing the contents because a content element could
- //possibly be of type 'complexType'.
- typeTable.addComplexSchemaType(dataType.getURI(), dataType.getName(), complexSchemaTypeName);
- typeTable.addXSDTypeDef(dataType.getURI(), dataType.getName(), complexType);
-
- //now compose the contents for this complex type
- buildComplexSchemaTypeContents(targetNamespace, complexType, dataType);
-
- //finally create a global element for this type
- createGlobalElement(xmlSchema, complexType, complexSchemaTypeName);
- }
-
- return complexSchemaTypeName;
- }
-
- private void addAnnotations(XSDTypeDefinition xsdType, Type dataType)
- {
- if ( dataType.isAbstract() )
- {
- if ( xsdType instanceof XSDComplexTypeDefinition )
- {
- ((XSDComplexTypeDefinition)xsdType).setAbstract(dataType.isAbstract());
- }
- else
- {
- xsdType.getElement().setAttribute(ABSTRACT_TYPE,
- Boolean.toString(dataType.isAbstract()));
- }
- }
-
- //add alias names if it exists
- addAliasNamesAnnotation(xsdType,
- dataType.getAliasNames());
-
- //add instanceClass annotation
- if ( dataType.getInstanceClass() != null )
- {
- xsdType.getElement().setAttribute(INSTANCE_CLASS, dataType.getInstanceClass().getName());
- }
- }
-
-
- private QName buildSimpleSchemaType(Type dataType)
- {
- QName simpleSchemaTypeName = null;
- if ( dataType.isDataType() &&
- (simpleSchemaTypeName = typeTable.getSimpleSchemaTypeName(dataType.getName()) ) == null )
- {
- XSDSchema xmlSchema = getXmlSchema(dataType);
- XSDSimpleTypeDefinition simpleType = xsdFactory.createXSDSimpleTypeDefinition();
- //set the name
- simpleType.setName(dataType.getName());
- simpleType.setTargetNamespace(dataType.getURI());
- //set abstract=true if abstract
- simpleSchemaTypeName = new QName(dataType.getURI(),
- dataType.getName(),
- (String)targetNamespacePrefixMap.get(dataType.getURI()));
- xmlSchema.getContents().add(simpleType);
- simpleType.updateElement();
-
- addAnnotations(simpleType, dataType);
-
- if ( !dataType.getBaseTypes().isEmpty() )
- {
- Type baseType = (Type)dataType.getBaseTypes().get(0);
-
- QName baseSchemaType = null;
-
- try
- {
- baseSchemaType = buildSchema(baseType);
- }
- catch ( IllegalArgumentException e )
- {
- //this means that the base type comes from a original xsd and hence not generated
- baseSchemaType = new QName(baseType.getURI(),
- baseType.getName(),
- generatePrefix());
-
- typeTable.addSimpleSchemaType(baseType.getName(), baseSchemaType);
-
- XSDSimpleTypeDefinition baseTypeDef = xsdFactory.createXSDSimpleTypeDefinition();
- baseTypeDef.setName(baseType.getName());
- baseTypeDef.setTargetNamespace(baseType.getURI());
- typeTable.addXSDTypeDef(baseType.getURI(), baseType.getName(), baseTypeDef);
-
- //include external XSD locations
- includeExtXSD(baseType);
- }
-
- simpleType.setBaseTypeDefinition((XSDSimpleTypeDefinition)typeTable.
- getXSDTypeDef(baseSchemaType.getNamespaceURI(),baseSchemaType.getLocalPart()));
- addImports(xmlSchema, baseSchemaType);
- }
-
-
- typeTable.addSimpleSchemaType(dataType.getName(), simpleSchemaTypeName);
- typeTable.addXSDTypeDef(dataType.getURI(), dataType.getName(), simpleType);
- }
- return simpleSchemaTypeName;
- }
-
- private void includeExtXSD(Type dataType)
- {
- //now we know there is a type for which the xsd must come from outside
- //create a schema for the namespace of this type and add an include in it for
- //the xsd that is defined externally
- XSDSchema xmlSchema = getXmlSchema(dataType);
-
- //ideally there could be more than one external schema defintions for a namespace
- //and hence schemalocations will be a list of locations
- //List schemaLocations = (List)schemaLocationMap.get(dataType.getURI());
-
- //since as per the specs the input to XSDHelper is a map of <String, String> allowing
- //only one schemalocation for a namespace. So for now this single location will be
- //picked up and put into a list
- List schemaLocations = new Vector();
- if ( schemaLocationMap.get(dataType.getURI()) != null )
- {
- schemaLocations.add(schemaLocationMap.get(dataType.getURI()));
- }
-
- if ( schemaLocations.size() <= 0 )
- {
- schemaLocations.add(DEFAULT_SCHEMA_LOCATION);
- }
-
- Object schemaContent = null;
- Iterator includesIterator = xmlSchema.getContents().iterator();
- Iterator schemaLocIterator = schemaLocations.iterator();
- String aSchemaLocation = null;
- boolean includeExists = false;
- //include all external schema locations
- while ( schemaLocIterator.hasNext() )
- {
- aSchemaLocation = (String)schemaLocIterator.next();
- while ( includesIterator.hasNext() )
- {
- schemaContent = includesIterator.next();
- if ( schemaContent instanceof XSDInclude )
- {
- if ( !includeExists && aSchemaLocation.equals(
- ((XSDInclude)schemaContent).getSchemaLocation()
- ))
- {
- includeExists = true;
- }
- }
- }
-
- if ( !includeExists )
- {
- XSDInclude includeElement = xsdFactory.createXSDInclude();
- includeElement.setSchemaLocation(aSchemaLocation);
- xmlSchema.getContents().add(0, includeElement);
- }
- }
- }
-
- protected QName buildSchema(Type dataType) throws IllegalArgumentException
- {
- QName schemaTypeName = null;
-
- if ( dataType.isDataType() )
- {
- schemaTypeName = typeTable.getSimpleSchemaTypeName(dataType.getName());
- }
- else
- {
- schemaTypeName = typeTable.getComplexSchemaTypeName(dataType.getURI(), dataType.getName());
- }
-
- //attempt to generate only if we have not done it already..i.e the type is
- //not found in the typetable
- if ( schemaTypeName == null )
- {
- XSDHelper xsdHelper = SDOUtil.createHelperContext().getXSDHelper();
-
- if ( !xsdHelper.isXSD( dataType ) )
- {
- if ( dataType.isDataType() )
- {
- schemaTypeName = buildSimpleSchemaType(dataType);
- }
- else
- {
- schemaTypeName = buildComplexSchemaType(dataType);
- }
- }
- else
- {
- throw new IllegalArgumentException("Cannot generate XSD since SDO Type '" +
- dataType.getName() + "' was orginally generated from XSD. Use original XSD");
- }
- }
- return schemaTypeName;
- }
-
-
- private XSDSchema getXmlSchema(Type dataType)
- {
- XSDSchema xmlSchema = null;
-
- if ((xmlSchema = (XSDSchema) schemaMap.get(dataType.getURI())) == null)
- {
- String targetNamespacePrefix = generatePrefix();
-
- xmlSchema = xsdFactory.createXSDSchema();
- xmlSchema.setTargetNamespace(dataType.getURI());
- xmlSchema.setAttributeFormDefault(XSDForm.QUALIFIED_LITERAL);
- xmlSchema.setElementFormDefault(XSDForm.QUALIFIED_LITERAL);
-
- targetNamespacePrefixMap.put(dataType.getURI(), targetNamespacePrefix);
- schemaMap.put(dataType.getURI(), xmlSchema);
-
- xmlSchema.getQNamePrefixToNamespaceMap().put(TypeTable.XS_URI_PREFIX, TypeTable.XML_SCHEMA_URI);
- xmlSchema.setSchemaForSchemaQNamePrefix(TypeTable.XS_URI_PREFIX);
-
- xmlSchema.getQNamePrefixToNamespaceMap().put(targetNamespacePrefix, dataType.getURI());
- //xmlSchema.setSchemaForSchemaQNamePrefix(targetNamespacePrefix);
-
- addSDONamespaces(xmlSchema);
- addPackageAnnotation(xmlSchema, dataType);
- }
- return xmlSchema;
- }
-
-
- private void addSDONamespaces(XSDSchema xmlSchema)
- {
- xmlSchema.getQNamePrefixToNamespaceMap().put(COMMONJ_SDO_NS_PREFIX, COMMONJ_SDO_NS);
- //xmlSchema.setSchemaForSchemaQNamePrefix(COMMONJ_SDO_NS_PREFIX);
-
- xmlSchema.getQNamePrefixToNamespaceMap().put(SDO_JAVA_NS_PREFIX, SDO_JAVA_NS);
- //xmlSchema.setSchemaForSchemaQNamePrefix(SDO_JAVA_NS_PREFIX);
- }
-
-
- /**
- * JAM convert first name of an attribute into UpperCase as an example if
- * there is a instance variable called foo in a bean , then Jam give that as
- * Foo so this method is to correct that error
- *
- * @param wrongName
- * @return the right name, using english as the locale for case conversion
- */
- public static String getCorrectName(String wrongName)
- {
- if (wrongName.length() > 1) {
- return wrongName.substring(0, 1).toLowerCase(Locale.ENGLISH)
- + wrongName.substring(1, wrongName.length());
- } else {
- return wrongName.substring(0, 1).toLowerCase(Locale.ENGLISH);
- }
- }
-
- private String addImports(XSDSchema xmlSchema, QName schemaTypeName)
- {
- String prefix = null;
- Iterator iterator = xmlSchema.getQNamePrefixToNamespaceMap().keySet().iterator();
- while ( iterator.hasNext() )
- {
- prefix = (String)iterator.next();
-
- if ( schemaTypeName.getNamespaceURI().equals(
- xmlSchema.getQNamePrefixToNamespaceMap().get(prefix)) )
- {
- return prefix;
- }
- }
-
- //the following lines are executed only if a prefix was not found which implies that the
- //schemaTypeName was not imported earlier and also it does not belong to the targetnamespace
- XSDImport importElement = xsdFactory.createXSDImport();
- importElement.setNamespace(schemaTypeName.getNamespaceURI());
- xmlSchema.getContents().add(0, importElement);
- prefix = schemaTypeName.getPrefix();
- if ( prefix == null || prefix.length() <= 0 )
- {
- prefix = generatePrefix();
- }
- xmlSchema.getQNamePrefixToNamespaceMap().put(prefix, schemaTypeName.getNamespaceURI());
-
- return prefix;
- }
-
- private void handleSDOSequence(Type datatype, XSDComplexTypeDefinition complexType)
- {
- if ( datatype.isSequenced() )
- {
- complexType.setMixed(true);
- XSDModelGroup choice = xsdFactory.createXSDModelGroup();
- choice.setCompositor(XSDCompositor.CHOICE_LITERAL);
- XSDParticle aParticle = xsdFactory.createXSDParticle();
- aParticle.setContent(choice);
- aParticle.setMaxOccurs(-1);
- complexType.setContent(aParticle);
- }
- else
- {
- //hack to handle group property as choice
- /*if ( getPropertyStartsWithName(datatype.getDeclaredProperties(), GROUP).size() > 0 )
- {
- XmlSchemaChoice choice = new XmlSchemaChoice();
- choice.setMaxOccurs(Long.MAX_VALUE);
- complexType.setParticle(choice);
- }
- else*/
- {
- XSDModelGroup sequence = xsdFactory.createXSDModelGroup();
- sequence.setCompositor(XSDCompositor.SEQUENCE_LITERAL);
- XSDParticle aParticle = xsdFactory.createXSDParticle();
- aParticle.setContent(sequence);
- complexType.setContent(aParticle);
- }
- }
- }
-
- private void handleSDOOpenType(Type datatype, XSDComplexTypeDefinition complexType)
- {
- if ( datatype.isOpen() /*&&
- getPropertyStartsWithName(datatype.getDeclaredProperties(), GROUP).size() <= 0 */)
- {
- XSDWildcard elementWildcard = xsdFactory.createXSDWildcard();
- elementWildcard.getLexicalNamespaceConstraint().add("##other");
- elementWildcard.setProcessContents(XSDProcessContents.LAX_LITERAL);
- // Create a particle to hold the wildcard.
- XSDParticle wildcardParticle = xsdFactory.createXSDParticle();
- wildcardParticle.setContent(elementWildcard);
- wildcardParticle.setMaxOccurs(-1);
- ((XSDModelGroup)((XSDParticle)complexType.getContent()).getContent()).
- getContents().add(wildcardParticle);
-
- XSDWildcard attributeWildcard = xsdFactory.createXSDWildcard();
- attributeWildcard.getLexicalNamespaceConstraint().add("##other");
- attributeWildcard.setProcessContents(XSDProcessContents.LAX_LITERAL);
- complexType.setAttributeWildcard(attributeWildcard);
- }
- }
-
- private void handleBaseExtn(XSDSchema xmlSchema,
- Type datatype,
- XSDComplexTypeDefinition complexType)
- {
- if ( datatype.getBaseTypes().size() > 0 )
- {
- Type baseType = (Type)datatype.getBaseTypes().get(0);
- QName baseSchemaType = null;
-
- try
- {
- baseSchemaType = buildSchema(baseType);
- }
- catch ( IllegalArgumentException e )
- {
- //schema cannot be generated for this type as there exists an xsd already
- //so include that original XSD
- baseSchemaType = new QName(baseType.getURI(),
- baseType.getName(),
- generatePrefix());
-
- XSDSimpleTypeDefinition baseTypeDef = xsdFactory.createXSDSimpleTypeDefinition();
- baseTypeDef.setName(baseType.getName());
- baseTypeDef.setTargetNamespace(baseType.getURI());
- typeTable.addXSDTypeDef(baseType.getURI(), baseType.getName(), baseTypeDef);
-
- includeExtXSD(baseType);
- }
-
- complexType.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL);
-
- if ( baseType.isDataType() )
- {
- XSDSimpleTypeDefinition anonymousSimpleTypeDefinition
- = xsdFactory.createXSDSimpleTypeDefinition();
- anonymousSimpleTypeDefinition.setBaseTypeDefinition((XSDSimpleTypeDefinition)typeTable.
- getXSDTypeDef(baseSchemaType.getNamespaceURI(),baseSchemaType.getLocalPart()));
- complexType.setContent(anonymousSimpleTypeDefinition);
- }
- else
- {
- complexType.setBaseTypeDefinition((XSDSimpleTypeDefinition)typeTable.
- getXSDTypeDef(baseSchemaType.getNamespaceURI(),baseSchemaType.getLocalPart()));
-
- }
-
- addImports(xmlSchema, baseSchemaType);
- }
- }
-
- private String formGlobalElementName(String typeName)
- {
- String firstChar = typeName.substring(0,1);
- return typeName.replaceFirst(firstChar, firstChar.toLowerCase());
- }
-
- private void createGlobalElement(XSDSchema xmlSchema,
- XSDComplexTypeDefinition complexType,
- QName schemaElementName )
- {
- XSDElementDeclaration globalElement = xsdFactory.createXSDElementDeclaration();
- globalElement.setTargetNamespace(xmlSchema.getTargetNamespace());
- globalElement.setName(formGlobalElementName(complexType.getName()));
- globalElement.setTypeDefinition
- (typeTable.getXSDTypeDef(schemaElementName.getNamespaceURI(),
- schemaElementName.getLocalPart()));
- xmlSchema.getContents().add(globalElement);
- xmlSchema.getElementDeclarations().add(globalElement);
- }
-
- private void addAliasNamesAnnotation(XSDSchemaContent typeDef,
- List aliasNames)
- {
- if ( !aliasNames.isEmpty() )
- {
- StringBuffer sb = new StringBuffer();
- Iterator iterator = aliasNames.iterator();
- while ( iterator.hasNext() )
- {
- sb.append(iterator.next());
- }
- typeDef.getElement().setAttribute(ALIAS_NAMES, sb.toString());
- }
- }
-
- private void addPackageAnnotation(XSDSchema xmlSchema, Type dataType)
- {
- if ( dataType.getInstanceClass() != null )
- {
- xmlSchema.updateElement();
- xmlSchema.getElement().setAttribute(JAVA_PACKAGE,
- dataType.getInstanceClass().getPackage().getName());
- }
- }
-
- private String generatePrefix()
- {
- return NAME_SPACE_PREFIX + prefixCount++;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
deleted file mode 100644
index 1aa2ae466b..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.internal.InternalFactory;
-import org.apache.tuscany.sdo.model.java.JavaFactory;
-import org.apache.tuscany.sdo.model.xml.XMLFactory;
-import org.apache.tuscany.sdo.model.xml.impl.XMLFactoryImpl;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * Look up a Type given the uri and typeName or interfaceClass. SDO Types are
- * available through the getType("commonj.sdo", typeName) method. Defines Types
- * from DataObjects.
- */
-public class TypeHelperImpl implements TypeHelper {
- protected HelperContext helperContext;
- private ExtendedMetaData extendedMetaData;
-
- static protected Set builtInModels = null;
-
- static public Set getBuiltInModels() {
- if (builtInModels == null) {
- builtInModels = new HashSet();
- builtInModels.add(ModelFactory.INSTANCE);
- builtInModels.add(JavaFactory.INSTANCE);
- builtInModels.add(XMLFactory.INSTANCE);
- builtInModels.add(InternalFactory.INSTANCE);
- }
- return TypeHelperImpl.builtInModels;
- }
-
- public ExtendedMetaData getExtendedMetaData() {
- return extendedMetaData;
- }
-
- // JIRA-helperContext
- public TypeHelperImpl(HelperContext hc) {
- this.helperContext = hc;
- this.extendedMetaData = ((HelperContextImpl)hc).extendedMetaData;
-
- // Register the standard (predefined) SDO types
- getBuiltInModels(); // Simply accessing EMF packages causes auto
- // registration in global registry
-
- // MetadataFactoryImpl.init(); //FB do we want to preregister this?
- }
-
-
- public Type getType(String uri, String typeName) {
- EPackage ePackage = extendedMetaData.getPackage(uri);
-
- if (ePackage != null) {
- EClassifier eClassifier = ePackage.getEClassifier(typeName);
- if (eClassifier == null) {
- eClassifier = extendedMetaData.getType(ePackage, typeName);
- }
- return (Type)eClassifier;
- }
- return null;
- }
-
- private Method getGetStaticTypeMethod(Class classObj) {
- try {
- Method method = classObj.getMethod("getStaticType", null);
- return method;
- }
- catch (Exception e) {
- return null;
- }
- }
-
- public Type getType(Class interfaceClass) {
- Type type = SDOUtil.getJavaSDOType(interfaceClass);
- if (type != null) {
- return type;
- }
-
- Class sdoTypeImplClass = interfaceClass;
- Method getStaticTypeMethod = getGetStaticTypeMethod(interfaceClass);
- if (getStaticTypeMethod == null) {
- String sdoTypeImplClassName = interfaceClass.getName();
- if (sdoTypeImplClassName.endsWith("Impl") == false) {
- sdoTypeImplClass = DataObjectUtil.getImplementationClass(interfaceClass, false);
- if (sdoTypeImplClass == null) {
- return null;
- }
-
- getStaticTypeMethod = getGetStaticTypeMethod(sdoTypeImplClass);
- if (getStaticTypeMethod == null) {
- return null;
- }
- }
- else {
- return null;
- }
- }
-
- try {
- Object implInstance = sdoTypeImplClass.newInstance();
- return (Type)getStaticTypeMethod.invoke(implInstance, null);
- }
- catch (Exception e) {
- return null;
- }
- }
-
- public Type define(DataObject type) {
- if (!(type instanceof org.apache.tuscany.sdo.model.Type))
- throw new IllegalArgumentException();
- org.apache.tuscany.sdo.model.Type modeledType = (org.apache.tuscany.sdo.model.Type)type;
-
- boolean isDataType = modeledType.isDataType();
- Type definedType = SDOUtil.createType(helperContext, modeledType.getUri(), modeledType.getName(), isDataType);
- if (definedType == null) {
- // If type already defined, return existing Type.
- return getType(modeledType.getUri(), modeledType.getName());
- }
-
- SDOUtil.setJavaClassName(definedType, modeledType.getInstanceClassName());
-
- if (!isDataType) {
- SDOUtil.setSequenced(definedType, modeledType.isSequenced());
- SDOUtil.setOpen(definedType, modeledType.isOpen());
- SDOUtil.setAbstract(definedType, modeledType.isAbstract());
-
- for (Iterator iter = modeledType.getBaseType().iterator(); iter.hasNext();) {
- Type baseType = getDefinedType((org.apache.tuscany.sdo.model.Type)iter.next());
- SDOUtil.addBaseType(definedType, baseType);
- }
-
- for (Iterator iter = modeledType.getAliasName().iterator(); iter.hasNext();) {
- String aliasName = (String)iter.next();
- SDOUtil.addAliasName(definedType, aliasName);
- }
-
- for (Iterator iter = modeledType.getProperty().iterator(); iter.hasNext();) {
- org.apache.tuscany.sdo.model.Property modeledProperty =
- (org.apache.tuscany.sdo.model.Property)iter.next();
-
- Type propertyType = getDefinedType(modeledProperty.getType_());
- Property definedProperty = SDOUtil.createProperty(definedType, modeledProperty.getName(), propertyType);
-
- initializeProperty(definedProperty, modeledProperty);
- }
-
- // define a global property to accompany the type definition
- if (!SDOUtil.isDocumentRoot(definedType)) {
- String propertyName = definedType.getName();
- if (!Character.isLowerCase(propertyName.charAt(0))) {
- propertyName = propertyName.substring(0, 1).toLowerCase() + propertyName.substring(1);
- }
- Property globalProperty =
- SDOUtil.createOpenContentProperty(helperContext, definedType.getURI(), propertyName, definedType);
- SDOUtil.setContainment(globalProperty, true);
- }
- } // if (!isDataType)
-
- addTypeInstanceProperties(definedType, (DataObject)modeledType);
-
- return definedType;
- }
-
- protected void addTypeInstanceProperties(Type definedType, DataObject modeledType) {
- List instanceProperties = SDOUtil.getOpenContentProperties(modeledType);
- for (Iterator iter = instanceProperties.iterator(); iter.hasNext();) {
- Property property = (Property)iter.next();
- SDOUtil.addTypeInstanceProperty(definedType, property, modeledType.get(property));
- }
- }
-
- protected void addPropertyInstanceProperties(Property definedProperty, DataObject modeledProperty) {
- List instanceProperties = SDOUtil.getOpenContentProperties(modeledProperty);
- for (Iterator iter = instanceProperties.iterator(); iter.hasNext();) {
- Property property = (Property)iter.next();
- SDOUtil.addPropertyInstanceProperty(definedProperty, property, modeledProperty.get(property));
- }
- }
-
- public List /* Type */define(List /* DataObject */types) {
- int count = types.size();
- List definedTypes = new ArrayList(count);
- for (int i = 0; i < count; i++) {
- definedTypes.add(define((DataObject)types.get(i)));
- }
- return definedTypes;
- }
-
- protected Type getDefinedType(org.apache.tuscany.sdo.model.Type modeledType) {
- if (modeledType instanceof Type) {
- return (Type)modeledType;
- } else {
- EClassifier eClassifier = extendedMetaData.getType(modeledType.getUri(), modeledType.getName());
- if (eClassifier != null) {
- return (Type)eClassifier;
- } else {
- return define((DataObject)modeledType);
- }
- }
- }
-
- protected Property getDefinedProperty(org.apache.tuscany.sdo.model.Property modeledProperty) {
- if (modeledProperty instanceof Property) {
- return (Property)modeledProperty;
- } else {
- DataObject modeledContainingType = ((DataObject)modeledProperty).getContainer();
-
- Type definedContainingType = getDefinedType((org.apache.tuscany.sdo.model.Type)modeledContainingType);
- String propertyName = modeledProperty.getName();
-
- return definedContainingType.getProperty(propertyName);
- }
- }
-
- protected void initializeProperty(Property newProperty, org.apache.tuscany.sdo.model.Property modeledProperty) {
- SDOUtil.setMany(newProperty, modeledProperty.isMany());
- SDOUtil.setDefault(newProperty, modeledProperty.getDefault_());
- SDOUtil.setReadOnly(newProperty, modeledProperty.isReadOnly());
- for (Iterator iter = modeledProperty.getAliasName().iterator(); iter.hasNext();) {
- String aliasName = (String)iter.next();
- SDOUtil.addAliasName(newProperty, aliasName);
- }
-
- if (newProperty.getType().isDataType()) {
- // Setting xmlElement to FALSE only makes sense here
- Boolean isXmlElement = Boolean.TRUE; // By default, a SDO property is an XSD element
- Sequence anyAttr = modeledProperty.getAnyAttribute();
- for (int i=0; i<anyAttr.size(); i++) {
- Property anyProp = anyAttr.getProperty(i);
- if (XMLFactoryImpl.NAMESPACE_URI.equals(anyProp.getContainingType().getURI())) {
- String propName = anyProp.getName();
- if ("xmlElement".equals(propName)) {
- isXmlElement = (Boolean)anyAttr.getValue(i);
- }
- }
- }
- if (!isXmlElement.booleanValue()) {
- SDOUtil.setPropertyXMLKind(newProperty, false);
- }
- }
- else
- {
- SDOUtil.setContainment(newProperty, modeledProperty.isContainment());
- if (modeledProperty.getOpposite_() != null) {
- SDOUtil.setOpposite(newProperty, getDefinedProperty(modeledProperty.getOpposite_()));
- }
- }
- addPropertyInstanceProperties(newProperty, (DataObject)modeledProperty);
- }
-
- public static final String TUSCANY_NO_URI = "http://tuscany-no-uri";
-
- public Property defineOpenContentProperty(String uri, DataObject property) {
- // validate property and get type
- if (!(property instanceof org.apache.tuscany.sdo.model.impl.PropertyImpl))
- throw new IllegalArgumentException();
- org.apache.tuscany.sdo.model.Property modeledProperty = (org.apache.tuscany.sdo.model.Property)property;
- Type propertyType = getDefinedType(modeledProperty.getType_());
-
- if (uri == null)
- uri = TUSCANY_NO_URI;
-
- Property newProperty = SDOUtil.createOpenContentProperty(helperContext, uri, modeledProperty.getName(), propertyType);
-
- // Propagate the modeled property's attributes
- initializeProperty(newProperty, modeledProperty);
-
- return newProperty;
- }
-
-
- public Property getOpenContentProperty(String uri, String propertyName) {
- EClass documentRoot = (EClass)extendedMetaData.getType(uri, "");
- return documentRoot != null ? (Property)documentRoot.getEStructuralFeature(propertyName) : null;
- }
-
- public HelperContext getHelperContext() {
- return helperContext;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeTable.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeTable.java
deleted file mode 100644
index a28492e28e..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeTable.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-
-//import org.apache.axiom.om.OMElement;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.w3c.dom.Element;
-
-
-
-public class TypeTable
-{
- public static final String XML_SCHEMA_URI = "http://www.w3.org/2001/XMLSchema";
- public static final String XS_URI_PREFIX = "xs";
- public static final QName XS_QNAME = new QName(XML_SCHEMA_URI, "schema", XS_URI_PREFIX);
- public static final String DELIMITER = "#";
-
- private Hashtable simpleXSDTypes;
- private Hashtable complexXSDTypes;
- private Hashtable xsdTypeDefs;
-
- public static String asQualifiedName(String uri, String typeName)
- {
- return (uri + DELIMITER + typeName);
- }
-
-
- public TypeTable()
- {
- simpleXSDTypes = new Hashtable();
- complexXSDTypes = new Hashtable();
- xsdTypeDefs = new Hashtable();
- populateSimpleXSDTypes();
- populateStdSDOTypes();
- }
-
- private void populateStdSDOTypes()
- {
- simpleXSDTypes.put("Boolean",
- new QName(XML_SCHEMA_URI, "boolean", XS_URI_PREFIX));
- simpleXSDTypes.put("Byte",
- new QName(XML_SCHEMA_URI, "byte", XS_URI_PREFIX));
- simpleXSDTypes.put("Bytes",
- new QName(XML_SCHEMA_URI, "hexBinary", XS_URI_PREFIX));
- simpleXSDTypes.put("Character",
- new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX));
- simpleXSDTypes.put("DataObject",
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- simpleXSDTypes.put("Date",
- new QName(XML_SCHEMA_URI, "dateTime", XS_URI_PREFIX));
- simpleXSDTypes.put("Day",
- new QName(XML_SCHEMA_URI, "gDay", XS_URI_PREFIX));
- simpleXSDTypes.put("Decimal",
- new QName(XML_SCHEMA_URI, "decimal", XS_URI_PREFIX));
- simpleXSDTypes.put("Double",
- new QName(XML_SCHEMA_URI, "double", XS_URI_PREFIX));
- simpleXSDTypes.put("Duration",
- new QName(XML_SCHEMA_URI, "duration", XS_URI_PREFIX));
- simpleXSDTypes.put("Float",
- new QName(XML_SCHEMA_URI, "float", XS_URI_PREFIX));
- simpleXSDTypes.put("Int",
- new QName(XML_SCHEMA_URI, "int", XS_URI_PREFIX));
- simpleXSDTypes.put("Integer",
- new QName(XML_SCHEMA_URI, "integer", XS_URI_PREFIX));
- simpleXSDTypes.put("Long",
- new QName(XML_SCHEMA_URI, "long", XS_URI_PREFIX));
- simpleXSDTypes.put("Month",
- new QName(XML_SCHEMA_URI, "gMonth", XS_URI_PREFIX));
- simpleXSDTypes.put("monthDay",
- new QName(XML_SCHEMA_URI, "gMonthDay", XS_URI_PREFIX));
- simpleXSDTypes.put("Object",
- new QName(XML_SCHEMA_URI, "anySimpleType", XS_URI_PREFIX));
- simpleXSDTypes.put("Short",
- new QName(XML_SCHEMA_URI, "short", XS_URI_PREFIX));
- simpleXSDTypes.put("String",
- new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX));
- simpleXSDTypes.put("Strings",
- new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX));
- simpleXSDTypes.put("Time",
- new QName(XML_SCHEMA_URI, "time", XS_URI_PREFIX));
- simpleXSDTypes.put("Year",
- new QName(XML_SCHEMA_URI, "gYear", XS_URI_PREFIX));
- simpleXSDTypes.put("YearMonth",
- new QName(XML_SCHEMA_URI, "gYearMonth", XS_URI_PREFIX));
- simpleXSDTypes.put("YearMonthDay",
- new QName(XML_SCHEMA_URI, "date", XS_URI_PREFIX));
- simpleXSDTypes.put("URI",
- new QName(XML_SCHEMA_URI, "anyURI", XS_URI_PREFIX));
- }
-
- private void populateSimpleXSDTypes() {
- //todo pls use the types from org.apache.ws.commons.schema.constants.Constants
- simpleXSDTypes.put("int",
- new QName(XML_SCHEMA_URI, "int", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.String",
- new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX));
- simpleXSDTypes.put("boolean",
- new QName(XML_SCHEMA_URI, "boolean", XS_URI_PREFIX));
- simpleXSDTypes.put("float",
- new QName(XML_SCHEMA_URI, "float", XS_URI_PREFIX));
- simpleXSDTypes.put("double",
- new QName(XML_SCHEMA_URI, "double", XS_URI_PREFIX));
- simpleXSDTypes.put("short",
- new QName(XML_SCHEMA_URI, "short", XS_URI_PREFIX));
- simpleXSDTypes.put("long",
- new QName(XML_SCHEMA_URI, "long", XS_URI_PREFIX));
- simpleXSDTypes.put("byte",
- new QName(XML_SCHEMA_URI, "byte", XS_URI_PREFIX));
- simpleXSDTypes.put("char",
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Integer",
- new QName(XML_SCHEMA_URI, "int", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Double",
- new QName(XML_SCHEMA_URI, "double", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Float",
- new QName(XML_SCHEMA_URI, "float", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Long",
- new QName(XML_SCHEMA_URI, "long", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Character",
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Boolean",
- new QName(XML_SCHEMA_URI, "boolean", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Byte",
- new QName(XML_SCHEMA_URI, "byte", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Short",
- new QName(XML_SCHEMA_URI, "short", XS_URI_PREFIX));
- simpleXSDTypes.put("java.util.Date",
- new QName(XML_SCHEMA_URI, "dateTime", XS_URI_PREFIX));
- simpleXSDTypes.put("java.util.Calendar",
- new QName(XML_SCHEMA_URI, "dateTime", XS_URI_PREFIX));
- simpleXSDTypes.put("java.lang.Object",
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- simpleXSDTypes.put("java.math.BigDecimal",
- new QName(XML_SCHEMA_URI, "decimal", XS_URI_PREFIX));
-
- // Any types
- simpleXSDTypes.put(Element.class.getName(),
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- simpleXSDTypes.put(ArrayList.class.getName(),
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- simpleXSDTypes.put(Vector.class.getName(),
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- simpleXSDTypes.put(List.class.getName(),
- new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX));
- }
-
- public QName getStdSdoType(String typename)
- {
- return (QName) simpleXSDTypes.get(typename);
- }
-
- public QName getComplexSchemaTypeName(String sdoURI, String sdoTypeName)
- {
- return (QName) complexXSDTypes.get(asQualifiedName(sdoURI, sdoTypeName));
- }
-
- public boolean isSimpleType(String typeName)
- {
- Iterator keys = simpleXSDTypes.keySet().iterator();
- while (keys.hasNext()) {
- String s = (String) keys.next();
- if (s.equals(typeName)) {
- return true;
- }
- }
- return false;
- }
-
- public QName getSimpleSchemaTypeName(String typename)
- {
- return (QName) simpleXSDTypes.get(typename);
- }
-
- public void addSimpleSchemaType(String typeName, QName schemaType)
- {
- simpleXSDTypes.put(typeName, schemaType);
- }
-
-
- public void addComplexSchemaType(String namespaceURI, String name, QName schemaType)
- {
- complexXSDTypes.put(asQualifiedName(namespaceURI, name), schemaType);
- }
-
-
- public QName getQNamefortheType(String namespaceURI, String typeName)
- {
- if ( XML_SCHEMA_URI.equals(namespaceURI))
- {
- return getSimpleSchemaTypeName(typeName);
- }
- else
- {
- return getComplexSchemaTypeName(namespaceURI, typeName);
- }
- }
-
- public void addXSDTypeDef(String namespaceURI, String typeName, XSDTypeDefinition aTypeDef)
- {
- if ( namespaceURI != null && typeName != null && aTypeDef != null )
- {
- xsdTypeDefs.put(asQualifiedName(namespaceURI, typeName), aTypeDef);
- }
- }
-
- public XSDTypeDefinition getXSDTypeDef(String namespaceURI, String typeName)
- {
- XSDTypeDefinition typeDef = null;
- if ( namespaceURI != null && typeName != null )
- {
- if ( XML_SCHEMA_URI.equals(namespaceURI) )
- {
- if ( ( typeDef = (XSDTypeDefinition)xsdTypeDefs.get(asQualifiedName(namespaceURI, typeName)) ) == null )
- {
- typeDef = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- typeDef.setName(typeName);
- typeDef.setTargetNamespace(namespaceURI);
- addXSDTypeDef(namespaceURI, typeName, typeDef);
- }
- }
- else
- {
- typeDef = (XSDTypeDefinition)xsdTypeDefs.get(asQualifiedName(namespaceURI, typeName));
- }
- }
- return typeDef;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLDocumentImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLDocumentImpl.java
deleted file mode 100644
index bff8375e44..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLDocumentImpl.java
+++ /dev/null
@@ -1,574 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.SimpleAnyTypeDataObject;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.sdo.util.resource.SDOXMLResourceImpl;
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.XMLDocument;
-
-
-/**
- * Represents an XML Document containing a tree of DataObjects.
- *
- * An example XMLDocument fragment is:
- * <?xml version="1.0"?>
- * <purchaseOrder orderDate="1999-10-20">
- *
- * created from this XML Schema fragment:
- * <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- * <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
- * <xsd:complexType name="PurchaseOrderType">
- *
- * Upon loading this XMLDocument:
- * DataObject is an instance of Type PurchaseOrderType.
- * RootElementURI is null because the XSD has no targetNamespace URI.
- * RootElementName is purchaseOrder.
- * Encoding is null because the document did not specify an encoding.
- * XMLDeclaration is true because the document contained an XML declaration.
- * XMLVersion is 1.0
- * SchemaLocation and noNamespaceSchemaLocation are null because they are
- * not specified in the document.
- *
- * When saving the root element, if the type of the root dataObject is not the
- * type of global element specified by rootElementURI and rootElementName,
- * or if a global element does not exist for rootElementURI and rootElementName,
- * then an xsi:type declaration is written to record the root DataObject's Type.
- *
- * When loading the root element and an xsi:type declaration is found
- * it is used as the type of the root DataObject. In this case,
- * if validation is not being performed, it is not an error if the
- * rootElementName is not a global element.
- */
-public class XMLDocumentImpl implements XMLDocument
-{
- protected ExtendedMetaData extendedMetaData;
-
- protected EObject rootObject;
-
- protected XMLResource resource;
-
- protected EStructuralFeature rootElement;
-
- protected EObject documentRoot;
-
- protected final static String WHITESPACE_REGEX = "\\s";
-
- //TODO clean up the options thing
- protected XMLDocumentImpl(ExtendedMetaData extendedMetaData, Object options)
- {
- this.extendedMetaData = extendedMetaData;
- ResourceSet resourceSet = DataObjectUtil.createResourceSet();
-
- if (options instanceof Map)
- {
- Class resourceFactoryClass = (Class)((Map)options).get("GENERATED_LOADER");
- if (resourceFactoryClass != null)
- {
- try
- {
- Object resourceFactory = resourceFactoryClass.newInstance();
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", resourceFactory);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
-
- resource = (XMLResource)resourceSet.createResource(URI.createURI("http:///temp.xml"));
- DataObjectUtil.configureXMLResource(resource, extendedMetaData);
- }
-
- protected XMLDocumentImpl(ExtendedMetaData extendedMetaData)
- {
- this(extendedMetaData, null);
- }
-
- protected XMLDocumentImpl(ExtendedMetaData extendedMetaData, DataObject dataObject, String rootElementURI, String rootElementName)
- {
- this(extendedMetaData);
-
- rootObject = (EObject)dataObject;
-
- rootElement = extendedMetaData.getElement(rootElementURI, rootElementName);
- if (rootElement == null)
- {
- rootElement = ExtendedMetaData.INSTANCE.demandFeature(rootElementURI, rootElementName, true);
- }
-
- EClass documentRootClass = rootElement.getEContainingClass();
- documentRoot = EcoreUtil.create(documentRootClass);
- resource.getContents().add(documentRoot);
- }
-
- protected void save(OutputStream outputStream, Object options) throws IOException
- {
- save(outputStream, null, options);
- }
-
- protected void save(Writer outputWriter, Object options) throws IOException
- {
- // TODO temporary brute-force implementation ... to be replaced
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- save(outputStream, options);
- outputWriter.write(new String(outputStream.toByteArray()));
- }
-
- protected void save(Node node, Object options) throws IOException
- {
- save(null, (Document)node, options);
- }
-
- protected void save(OutputStream outputStream, Document document, Object options) throws IOException
- {
- EObject oldContainer = null;
- Resource oldResource = null;
- EReference oldContainmentReference = null;
- int oldContainmentIndex = -1;
-
- if (documentRoot != null)
- {
- oldContainer = rootObject.eContainer();
- if (oldContainer != null)
- oldContainmentReference = rootObject.eContainmentFeature();
- else
- oldResource = rootObject.eResource();
- if (oldContainer != documentRoot || oldContainmentReference != rootElement)
- {
- if (oldResource != null)
- {
- oldContainmentIndex = oldResource.getContents().indexOf(rootObject);
- oldResource.getContents().remove(oldContainmentIndex);
- }
- else if (oldContainmentReference != null && FeatureMapUtil.isMany(oldContainer, oldContainmentReference))
- oldContainmentIndex = ((List)oldContainer.eGet(oldContainmentReference)).indexOf(rootObject);
-
- Object rootValue =
- rootElement instanceof EAttribute && rootObject instanceof SimpleAnyTypeDataObject ?
- ((SimpleAnyTypeDataObject)rootObject).getValue() : rootObject;
-
- documentRoot.eSet(rootElement, rootValue);
- }
- }
-
- if (outputStream != null)
- resource.save(outputStream, (Map)options);
- else // if (document != null)
- resource.save(document, (Map)options, null);
-
- if (oldResource != null)
- {
- oldResource.getContents().add(oldContainmentIndex, rootObject);
- }
- if (rootElement instanceof EReference)
- {
- if (oldContainer != null)
- {
- if (oldContainer != documentRoot || oldContainmentReference != rootElement)
- {
- if (FeatureMapUtil.isMany(oldContainer, oldContainmentReference))
- ((List)oldContainer.eGet(oldContainmentReference)).add(oldContainmentIndex, rootObject);
- else
- oldContainer.eSet(oldContainmentReference, rootObject);
- }
- }
- else if (documentRoot != null)
- {
- documentRoot.eSet(rootElement, null);
- }
- }
- }
-
- protected void load(InputStream inputStream, String locationURI, Object options) throws IOException
- {
- InputSource inputSource = new InputSource(inputStream);
- load(inputSource, locationURI, options);
- }
-
- protected void load(Reader inputReader, String locationURI, Object options) throws IOException
- {
- InputSource inputSource = new InputSource(inputReader);
- load(inputSource, locationURI, options);
- }
-
- protected final void load(Node node, Object options) throws IOException {
- resource.load(node, (Map)options);
- initLoadedRoot();
- }
-
- protected final void load(XMLStreamReader reader, Map options) throws IOException
- {
- ((SDOXMLResourceImpl)resource).load(reader, options);
- initLoadedRoot();
- }
-
- protected void load(InputSource inputSource, String locationURI, Object options) throws IOException
- {
- if (locationURI != null)
- {
- inputSource.setSystemId(locationURI);
- resource.setURI(URI.createURI(locationURI));
- }
- resource.load(inputSource, (Map)options);
- initLoadedRoot();
- }
-
- /**
- * @return a Map object with key-value pair where key is the DataObject and value contains the info
- * about the unknown properties for the DataObject
- */
- public Map getUnknownProperties(){
- return resource.getEObjectToExtensionMap();
- }
-
- private void initLoadedRoot()
- {
- rootObject = null;
- rootElement = null;
- documentRoot = null;
-
- if (!resource.getContents().isEmpty())
- {
- documentRoot = (EObject)resource.getContents().get(0);
- EClass documentRootClass = documentRoot.eClass();
- if ("".equals(extendedMetaData.getName(documentRootClass))) //TODO efficient way to check this? Maybe DataObject.getContainer should also check this?
- {
- FeatureMap featureMap = (FeatureMap)documentRoot.eGet(documentRootClass.getEStructuralFeature(0)); // get mixed feature
- int size = featureMap.size();
- for (int index = 0; index < size; index++)
- {
- EStructuralFeature feature = featureMap.getEStructuralFeature(index);
- boolean isText =
- feature == XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT ||
- feature == XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__CDATA ||
- feature == XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__COMMENT;
- if (!isText)
- {
- if (feature instanceof EReference)
- {
- rootObject = (EObject)featureMap.getValue(index);
- documentRoot.eUnset(feature);
- }
- else //EAttribute
- {
- rootObject = (EObject)SDOUtil.createDataTypeWrapper((Type)feature.getEType(), featureMap.getValue(index));
- }
- rootElement = feature;
- break;
- }
- } //for
- if (rootObject == null)
- rootObject = ((SDOXMLResourceImpl) resource).root;
- }
- else
- {
- rootObject = documentRoot;
- documentRoot = null;
- }
- }
- }
-
- public DataObject getRootObject()
- {
- return (DataObject)rootObject;
- }
-
- public String getRootElementURI()
- {
- if (rootElement != null)
- {
- return extendedMetaData.getNamespace(rootElement);
- }
- else if (rootObject != null)
- {
- return extendedMetaData.getNamespace(rootObject.eClass());
- }
- return null;
- }
-
- public String getRootElementName()
- {
- if (rootElement != null)
- {
- return extendedMetaData.getName(rootElement);
- }
- else if (rootObject != null)
- {
- return extendedMetaData.getName(rootObject.eClass());
- }
- return null;
- }
-
- public String getEncoding()
- {
- return resource.getEncoding();
- }
-
- public void setEncoding(String encoding)
- {
- resource.setEncoding(encoding);
- }
-
- public boolean isXMLDeclaration()
- {
- return Boolean.FALSE.equals(resource.getDefaultSaveOptions().get(XMLResource.OPTION_DECLARE_XML));
- }
-
- public void setXMLDeclaration(boolean xmlDeclaration)
- {
- resource.getDefaultSaveOptions().put(XMLResource.OPTION_DECLARE_XML, xmlDeclaration ? Boolean.TRUE : Boolean.FALSE);
- }
-
- public String getXMLVersion()
- {
- return resource.getXMLVersion();
- }
-
- public void setXMLVersion(String xmlVersion)
- {
- resource.setXMLVersion(xmlVersion);
- }
-
- /**
- * @return an EMap containing the schema locations or null when no map
- */
- protected EMap getSchemaLocationMap()
- {
- EMap result = null;
- if ((documentRoot != null) && (extendedMetaData != null))
- {
- EReference xsiSchemaLocationMapFeature = extendedMetaData
- .getXSISchemaLocationMapFeature(documentRoot.eClass());
- if (xsiSchemaLocationMapFeature != null)
- {
- result = (EMap) documentRoot.eGet(xsiSchemaLocationMapFeature);
- }
- }
- return result;
- }
-
- /**
- * @param value
- * from schema location map.
- * @return string form of URI from provided value, deresolved if appropriate.
- */
- protected String deresolve(String value)
- {
- URI location = URI.createURI(value);
- URI resourceURI = resource.getURI();
- boolean shouldDeresolve = resourceURI != null && !resourceURI.isRelative()
- && resourceURI.isHierarchical();
- if (shouldDeresolve && !location.isRelative())
- {
- URI deresolvedURI = location.deresolve(resourceURI, true, true, false);
- if (deresolvedURI.hasRelativePath())
- {
- location = deresolvedURI;
- }
- }
- return location.toString();
- }
-
- /**
- * @param value
- * for schema location from input parameter.
- * @return string form of URI from provided value, resolved if appropriate.
- */
- protected String resolve(String value)
- {
- URI location = URI.createURI(value);
- URI resourceURI = resource.getURI();
- boolean shouldResolve = resourceURI != null && resourceURI.isHierarchical()
- && !resourceURI.isRelative();
- if (shouldResolve && location.isRelative() && location.hasRelativePath())
- {
- location = location.resolve(resourceURI, false);
- }
- return location.toString();
- }
-
- public String getSchemaLocation()
- {
- EMap xsiSchemaLocationMap = getSchemaLocationMap();
- if (xsiSchemaLocationMap != null)
- {
- if (!xsiSchemaLocationMap.isEmpty())
- {
- StringBuffer xsiSchemaLocation = new StringBuffer();
- for (Iterator i = xsiSchemaLocationMap.entrySet().iterator(); i
- .hasNext();)
- {
- Map.Entry entry = (Map.Entry) i.next();
- String namespace = (String) entry.getKey();
- if (namespace != null)
- {
- if (xsiSchemaLocation.length() > 0)
- {
- xsiSchemaLocation.append(' ');
- }
- xsiSchemaLocation.append(namespace);
- xsiSchemaLocation.append(' ');
- String value = entry.getValue().toString();
- xsiSchemaLocation.append(deresolve(value));
- }
- }
- return xsiSchemaLocation.toString().equals("") ? null
- : xsiSchemaLocation.toString();
- }
- }
- return null;
- }
-
- public void setSchemaLocation(String schemaLocation)
- {
- EMap xsiSchemaLocationMap = getSchemaLocationMap();
- if (xsiSchemaLocationMap != null)
- {
- // only remove the entries from xsiSchemaLocationMap that contain a
- // non-null key
- for (Iterator i = xsiSchemaLocationMap.entrySet().iterator(); i.hasNext();)
- {
- Map.Entry entry = (Map.Entry) i.next();
- if (entry.getKey() != null)
- {
- i.remove();
- }
- }
- if (xsiSchemaLocationMap.size() == 0)
- {
- resource.getDefaultSaveOptions().put(
- XMLResource.OPTION_SCHEMA_LOCATION, Boolean.FALSE);
- }
- if (schemaLocation != null)
- {
- String[] values = schemaLocation.split(WHITESPACE_REGEX);
- for (int i = 0; i < values.length; i++) // note: also incremented in
- // loop
- {
- String key = values[i++];
- if (i < values.length)
- {
- xsiSchemaLocationMap.put(key, resolve(values[i]));
- }
- }
- if (xsiSchemaLocationMap.size() != 0)
- {
- resource.getDefaultSaveOptions().put(
- XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
- }
- }
- }
- }
-
- public String getNoNamespaceSchemaLocation()
- {
- EMap xsiSchemaLocationMap = getSchemaLocationMap();
- if (xsiSchemaLocationMap != null)
- {
- StringBuffer xsiSchemaLocation = new StringBuffer();
- if (!xsiSchemaLocationMap.isEmpty())
- {
- Object valueObject = xsiSchemaLocationMap.get(null);
- if (valueObject != null)
- {
- String valueString = (String) valueObject;
- String[] values = valueString.split(WHITESPACE_REGEX);
- for (int i = 0; i < values.length; i++)
- {
- if (xsiSchemaLocation.length() > 0)
- {
- xsiSchemaLocation.append(' ');
- }
- xsiSchemaLocation.append(deresolve(values[i]));
- }
- }
- String result = xsiSchemaLocation.toString();
- return result.equals("") ? null : result;
- }
- }
- return null;
- }
-
- public void setNoNamespaceSchemaLocation(String schemaLocation)
- {
- EMap xsiSchemaLocationMap = getSchemaLocationMap();
- if (xsiSchemaLocationMap != null)
- {
- // only remove the entries from xsiSchemaLocationMap that contain a null
- // key
- xsiSchemaLocationMap.removeKey(null);
- if (xsiSchemaLocationMap.size() == 0)
- {
- resource.getDefaultSaveOptions().put(
- XMLResource.OPTION_SCHEMA_LOCATION, Boolean.FALSE);
- }
- if (schemaLocation != null)
- {
- String[] values = schemaLocation.split(WHITESPACE_REGEX);
- for (int i = 0; i < values.length; i++)
- {
- xsiSchemaLocationMap.put(null, resolve(values[i]));
- }
- if (xsiSchemaLocationMap.size() != 0)
- {
- resource.getDefaultSaveOptions().put(
- XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
- }
- }
- }
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java
deleted file mode 100644
index 4d0f3d7de8..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.Map;
-
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.xml.sax.InputSource;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-/**
- * A helper to convert XML documents into DataObects and DataObjects into XML
- * documnets.
- */
-public class XMLHelperImpl implements XMLHelper {
- protected HelperContext helperContext;
- private ExtendedMetaData extendedMetaData;
-
-
- public XMLHelperImpl(HelperContext hc) {
- this.helperContext = hc;
- this.extendedMetaData = ((HelperContextImpl)hc).extendedMetaData;
- }
-
- public XMLDocument load(String inputString) {
- try {
- return load(new StringReader(inputString), null, null);
- } catch (IOException e) {
- throw new RuntimeException(e); // should never happen
- }
- }
-
- public XMLDocument load(String inputString, Object options) {
- try {
- return load(new StringReader(inputString), null, options);
- } catch (IOException e) {
- throw new RuntimeException(e); // should never happen
- }
- }
-
- public XMLDocument load(InputStream inputStream) throws IOException {
- return load(inputStream, null, null);
- }
-
- private Object checkSetOptions(Object options) throws IOException {
- if (options != null && !(options instanceof Map)) {
- throw new IOException("Invalid load options!");
- }
-
- if (helperContext != null) {
- return ((HelperContextImpl)helperContext).getMergedOption((Map)options);
- } else {// null is acceptable as it will be ignored
- return options;
- }
- }
-
- public XMLDocument load(InputStream inputStream, String locationURI, Object options) throws IOException {
- options = checkSetOptions(options);
- XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options);
- document.load(inputStream, locationURI, options);
- return document;
- }
-
- public XMLDocument load(Reader inputReader, String locationURI, Object options) throws IOException {
- XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options);
- options = checkSetOptions(options);
- document.load(inputReader, locationURI, options);
- return document;
- }
-
- public XMLDocument load(Source source, String locationURI, Object options) throws IOException {
- options = checkSetOptions(options);
- if (source instanceof DOMSource) {
- DOMSource domSource = (DOMSource)source;
- XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options);
- document.load(domSource.getNode(), options);
- return document;
- } else if (source instanceof SAXSource) {
- XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options);
- InputSource inputSource = SAXSource.sourceToInputSource(source);
- document.load(inputSource, locationURI, options);
- return document;
- } else if (source instanceof StreamSource) {
- return load(((StreamSource)source).getInputStream(), locationURI, options);
- } else {
- throw new UnsupportedOperationException();
- }
- }
-
- public String save(DataObject dataObject, String rootElementURI, String rootElementName) {
- StringWriter stringWriter = new StringWriter();
- try {
- save(createDocument(dataObject, rootElementURI, rootElementName), stringWriter, null);
- return stringWriter.toString();
- } catch (IOException e) {
- throw new RuntimeException(e); // should never happen
- }
- }
-
- public String save(DataObject dataObject, String rootElementURI, String rootElementName, Object options) {
- StringWriter stringWriter = new StringWriter();
- try {
- save(createDocument(dataObject, rootElementURI, rootElementName), stringWriter, options);
- return stringWriter.toString();
- } catch (IOException e) {
- throw new RuntimeException(e); // should never happen
- }
- }
-
- public void save(DataObject dataObject, String rootElementURI, String rootElementName, OutputStream outputStream)
- throws IOException {
- save(createDocument(dataObject, rootElementURI, rootElementName), outputStream, null);
- }
-
-
- public void save(DataObject dataObject,
- String rootElementURI,
- String rootElementName,
- OutputStream outputStream,
- Object options) throws IOException {
- save(createDocument(dataObject, rootElementURI, rootElementName), outputStream, null);
- }
-
- public void save(XMLDocument xmlDocument, OutputStream outputStream, Object options) throws IOException {
- options = checkSetOptions(options);
- ((XMLDocumentImpl)xmlDocument).save(outputStream, options);
- }
-
- public void save(XMLDocument xmlDocument, Writer outputWriter, Object options) throws IOException {
- options = checkSetOptions(options);
- ((XMLDocumentImpl)xmlDocument).save(outputWriter, options);
- }
-
- public void save(XMLDocument xmlDocument, Result outputResult, Object options) throws IOException {
- options = checkSetOptions(options);
- if (outputResult instanceof DOMResult) {
- ((XMLDocumentImpl)xmlDocument).save(((DOMResult)outputResult).getNode(), options);
- } else if (outputResult instanceof SAXResult) {
- throw new UnsupportedOperationException();
- } else if (outputResult instanceof StreamResult) {
- save(xmlDocument, ((StreamResult)outputResult).getOutputStream(), options);
- } else {
- throw new UnsupportedOperationException();
- }
- }
-
- public XMLDocument createDocument(DataObject dataObject, String rootElementURI, String rootElementName) {
- XMLDocument xmlDocument = new XMLDocumentImpl(extendedMetaData, dataObject, rootElementURI, rootElementName);
- xmlDocument.setEncoding("UTF-8");
- return xmlDocument;
- }
-
- public HelperContext getHelperContext() {
- return helperContext;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelper.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelper.java
deleted file mode 100644
index 851c7d93dd..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-/**
- * @deprecated
- */
-public interface XMLStreamHelper extends org.apache.tuscany.sdo.api.XMLStreamHelper {
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java
deleted file mode 100644
index a07b9b6a71..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.util.Map;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sdo.util.resource.DataObjectXMLStreamReader;
-import org.apache.tuscany.sdo.util.resource.XMLDocumentStreamReader;
-import org.apache.tuscany.sdo.util.resource.XMLStreamSerializer;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-
-/**
- * @version $Rev$ $Date$
- */
-public class XMLStreamHelperImpl implements XMLStreamHelper {
- protected HelperContext helperContext;
-
- public XMLStreamHelperImpl(HelperContext hc) {
- this.helperContext = hc;
- }
-
- private Map checkSetOptions(Map options) {
- if (helperContext != null) {
- return ((HelperContextImpl)helperContext).getMergedOption(options);
- } else {// null is acceptable as it will be ignored
- return options;
- }
- }
-
- public XMLDocument load(XMLStreamReader reader) throws XMLStreamException, IllegalStateException {
- if (reader.getEventType() != XMLStreamConstants.START_DOCUMENT)
- throw new IllegalStateException();
-
- return loadDocument(reader, null);
- }
-
- public void save(XMLDocument document, XMLStreamWriter writer) throws XMLStreamException {
- XMLStreamReader reader = createXMLStreamReader(document);
- new XMLStreamSerializer().serialize(reader, writer);
- }
-
- public void save(XMLDocument document, XMLStreamWriter writer, Map options) throws XMLStreamException {
- XMLStreamReader reader = createXMLStreamReader(document);
- options = checkSetOptions(options);
- new XMLStreamSerializer().serialize(reader, writer, options);
- }
-
- public XMLStreamReader createXMLStreamReader(XMLDocument document) throws XMLStreamException {
- XMLStreamReader reader =
- new DataObjectXMLStreamReader(document.getRootObject(), document.getRootElementURI(), document
- .getRootElementName(), helperContext.getTypeHelper());
- // Wrap the reader so that its position will be START_ELEMENT
- return new XMLDocumentStreamReader(reader);
-
- }
-
- public final DataObject loadObject(XMLStreamReader reader, Map options) throws XMLStreamException,
- IllegalStateException {
- if (reader.getEventType() != XMLStreamConstants.START_ELEMENT)
- throw new IllegalStateException();
-
- // StAX2SAXAdapter won't produce START_DOCUMENT if the reader is
- // posisitioned at START_ELEMENT and the EMF loader will fail
- // Wrap the reader so it represents a document
- reader = new XMLDocumentStreamReader(reader);
-
- return loadDocument(reader, options).getRootObject();
- }
-
- public DataObject loadObject(XMLStreamReader reader) throws XMLStreamException, IllegalStateException {
- return loadObject(reader, null);
- }
-
- public void saveObject(DataObject sdo, XMLStreamWriter writer) throws XMLStreamException {
- XMLStreamReader reader = createXMLStreamReader(sdo);
- new XMLStreamSerializer().serialize(new XMLDocumentStreamReader(reader), writer);
- }
-
- public void saveObject(DataObject sdo, XMLStreamWriter writer, Map options) throws XMLStreamException {
- XMLStreamReader reader = createXMLStreamReader(sdo);
- options = checkSetOptions(options);
- new XMLStreamSerializer().serialize(new XMLDocumentStreamReader(reader), writer, options);
- }
-
- public XMLStreamReader createXMLStreamReader(DataObject dataObject) {
- if (dataObject == null) {
- return null;
- }
- String rootElementURI;
- String rootElementName;
-
- Property property = dataObject.getContainmentProperty();
- if (property != null) {
- rootElementName = property.getName();
- rootElementURI = property.getType().getURI();
- } else {
- rootElementName = dataObject.getType().getName();
- rootElementURI = dataObject.getType().getURI();
- }
-
- return new DataObjectXMLStreamReader(dataObject, rootElementURI, rootElementName, helperContext.getTypeHelper());
- }
-
- protected XMLDocument loadDocument(XMLStreamReader reader, Map options) throws XMLStreamException {
- try {
- XMLDocumentImpl document = new XMLDocumentImpl(((HelperContextImpl)helperContext).extendedMetaData, null);
- options = checkSetOptions(options);
- document.load(reader, options);
- return document;
- } catch (Exception e) {
- if (e instanceof Resource.IOWrappedException) {
- Resource.IOWrappedException ioe = (Resource.IOWrappedException)e;
- if (ioe.getWrappedException() instanceof XMLStreamException) {
- throw (XMLStreamException)ioe.getWrappedException();
- }
- }
- throw new RuntimeException(e); // ????
- }
- }
-
- public HelperContext getHelperContext() {
- return helperContext;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
deleted file mode 100644
index 829acd38f4..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.helper;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.apache.tuscany.sdo.impl.DynamicDataObjectImpl;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.ecore.XSDEcoreBuilder;
-import org.eclipse.xsd.util.XSDResourceFactoryImpl;
-import org.eclipse.xsd.util.XSDResourceImpl;
-import org.xml.sax.InputSource;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Provides access to additional information when the Type or Property is
- * defined by an XML Schema (XSD). Methods return null/false otherwise or if the
- * information is unavailable. Defines Types from an XSD.
- */
-public class XSDHelperImpl implements XSDHelper {
- protected boolean extensibleNamespaces = false;
- protected HelperContext helperContext;
- protected SDOXSDEcoreBuilder nondelegatingEcoreBuilder = null;
- protected HashMap tcclToEcoreBuilderMap = null;
- private ExtendedMetaData extendedMetaData;
-
- public XSDHelperImpl(HelperContext hc, String redefineBuiltIn, boolean extensibleNamespaces) {
- this.helperContext = hc;
- this.extensibleNamespaces = extensibleNamespaces;
- extendedMetaData = ((HelperContextImpl)helperContext).extendedMetaData;
-
- SDOXSDEcoreBuilder ecoreBuilder = createEcoreBuilder();
-
- if (extendedMetaData instanceof SDOExtendedMetaDataImpl && ((SDOExtendedMetaDataImpl)extendedMetaData)
- .getRegistry() instanceof EPackageRegistryImpl.Delegator) {
- tcclToEcoreBuilderMap = new HashMap();
- putTCCLEcoreBuilder(ecoreBuilder);
- } else {
- nondelegatingEcoreBuilder = ecoreBuilder;
- }
-
- if (redefineBuiltIn != null) { // Redefining/regenerating this built-in
- // model
- ecoreBuilder.getTargetNamespaceToEPackageMap().remove(redefineBuiltIn);
- }
- }
-
- public XSDHelperImpl(HelperContext hc) {
- this(hc, null, false);
- }
-
- /**
- * Redefine/regenerating the built-in model
- * @param redefineBuiltIn
- */
- public void setRedefineBuiltIn(String redefineBuiltIn) {
- if (redefineBuiltIn != null) {
- getEcoreBuilder().getTargetNamespaceToEPackageMap().remove(redefineBuiltIn);
- }
- }
-
- public void setExtensibleNamespaces(boolean extensibleNamespaces) {
- this.extensibleNamespaces = extensibleNamespaces;
- }
-
- protected SDOXSDEcoreBuilder createEcoreBuilder() {
- SDOXSDEcoreBuilder ecoreBuilder = new SDOXSDEcoreBuilder(extendedMetaData, extensibleNamespaces);
-
- // Add the built-in models to the targetNamespaceToEPackageMap so they
- // can't be (re)defined/overridden
- for (Iterator iter = TypeHelperImpl.getBuiltInModels().iterator(); iter.hasNext();) {
- EPackage ePackage = (EPackage)iter.next();
- ecoreBuilder.getTargetNamespaceToEPackageMap().put(ePackage.getNsURI(), ePackage);
- }
-
- return ecoreBuilder;
- }
-
- protected void putTCCLEcoreBuilder(XSDEcoreBuilder ecoreBuilder) {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- if (tcclToEcoreBuilderMap.get(tccl) == null) {
- tcclToEcoreBuilderMap.put(tccl, ecoreBuilder);
- }
- }
-
- protected SDOXSDEcoreBuilder getEcoreBuilder() {
- if (nondelegatingEcoreBuilder != null)
- return nondelegatingEcoreBuilder;
-
- SDOXSDEcoreBuilder result = null;
- try {
- for (ClassLoader tccl = Thread.currentThread().getContextClassLoader(); tccl != null; tccl =
- tccl.getParent()) {
- result = (SDOXSDEcoreBuilder)tcclToEcoreBuilderMap.get(tccl);
- if (result != null)
- return result;
- } // for
- } catch (SecurityException exception) {
- // exception.printStackTrace();
- }
-
- result = createEcoreBuilder();
- putTCCLEcoreBuilder(result);
-
- return result;
- }
-
- public String getLocalName(Type type) {
- return extendedMetaData.getName((EClassifier)type);
- }
-
- public String getLocalName(Property property) {
- return extendedMetaData.getName((EStructuralFeature)property);
- }
-
- public String getNamespaceURI(Property property) {
- return extendedMetaData.getNamespace((EStructuralFeature)property);
- }
-
- public boolean isAttribute(Property property) {
- return extendedMetaData.getFeatureKind((EStructuralFeature)property) == ExtendedMetaData.ATTRIBUTE_FEATURE;
- }
-
- public boolean isElement(Property property) {
- return extendedMetaData.getFeatureKind((EStructuralFeature)property) == ExtendedMetaData.ELEMENT_FEATURE;
- }
-
- public boolean isMixed(Type type) {
- if (type instanceof EClass) {
- return extendedMetaData.getContentKind((EClass)type) == ExtendedMetaData.MIXED_CONTENT;
- } else {
- return false;
- }
- }
-
- public boolean isXSD(Type type) {
- return ((EModelElement)type).getEAnnotation(ExtendedMetaData.ANNOTATION_URI) != null;
- }
-
- public Property getGlobalProperty(String uri, String propertyName, boolean isElement) {
- if (isElement) {
- return (Property)extendedMetaData.getElement(uri, propertyName);
- } else {
- return (Property)extendedMetaData.getAttribute(uri, propertyName);
- }
- }
-
- public String getAppinfo(Type type, String source) {
- return getAppinfo((EModelElement)type, source);
- }
-
- public String getAppinfo(Property property, String source) {
- return getAppinfo((EModelElement)property, source);
- }
-
- protected String getAppinfo(EModelElement eModelElement, String source) {
- return (String)eModelElement.getEAnnotation(source).getDetails().get("appinfo");
- }
-
- public List /* Type */define(String xsd) {
- InputStream inputStream = new ByteArrayInputStream(xsd.getBytes());
- return define(inputStream, "*.xsd");
- }
-
- public List /* Type */define(Reader xsdReader, String schemaLocation) {
- InputSource inputSource = new InputSource(xsdReader);
- return define(inputSource, schemaLocation);
-
- }
-
- public List /* Type */define(InputStream xsdInputStream, String schemaLocation) {
- InputSource inputSource = new InputSource(xsdInputStream);
- return define(inputSource, schemaLocation);
- }
-
- protected List /* Type */define(InputSource inputSource, String schemaLocation) {
- try {
- SDOXSDEcoreBuilder ecoreBuilder = getEcoreBuilder();
- ResourceSet resourceSet = ecoreBuilder.createResourceSet();
- Resource model =
- resourceSet.createResource(URI.createURI(schemaLocation != null ? schemaLocation : "null.xsd"));
- ((XSDResourceImpl)model).load(inputSource, null);
-
- List newTypes = new ArrayList();
- for (Iterator schemaIter = model.getContents().iterator(); schemaIter.hasNext();) {
- XSDSchema schema = (XSDSchema)schemaIter.next();
-
- String targetNamespace = schema.getTargetNamespace();
- EPackage ePackage = extendedMetaData.getPackage(targetNamespace);
- if (extensibleNamespaces || ePackage == null || TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
- Map targetNamespaceToEPackageMap = ecoreBuilder.getTargetNamespaceToEPackageMap();
- targetNamespaceToEPackageMap.remove(targetNamespace);
-
- Collection originalEPackages = new HashSet(targetNamespaceToEPackageMap.values());
- ecoreBuilder.generate(schema);
- Collection newEPackages = ecoreBuilder.getTargetNamespaceToEPackageMap().values();
-
- for (Iterator iter = newEPackages.iterator(); iter.hasNext();) {
- EPackage currentPackage = (EPackage)iter.next();
- if (!originalEPackages.contains(currentPackage)) {
- currentPackage.setEFactoryInstance(new DynamicDataObjectImpl.FactoryImpl());
- EcoreUtil.freeze(currentPackage);
- newTypes.addAll(currentPackage.getEClassifiers());
- }
- }
- }
- }
-
- return newTypes;
- } catch (Exception e) {
- e.printStackTrace();
- throw new IllegalArgumentException(e.getMessage());
- }
- }
-
- public String generate(List /* Type */types) throws IllegalArgumentException {
- return generate(types, new Hashtable());
- }
-
- public String generate(List /* Type */types, Map /* String, String */namespaceToSchemaLocation)
- throws IllegalArgumentException {
- if (types != null && !types.isEmpty()) {
- Hashtable schemaMap = new Hashtable();
- Hashtable nsPrefixMap = new Hashtable();
- TypeTable typeTable = new TypeTable();
-
- SchemaBuilder schemaBuilder =
- new SchemaBuilder(schemaMap, nsPrefixMap, typeTable, namespaceToSchemaLocation);
-
- Iterator iterator = types.iterator();
- Type dataType = null;
-
- try {
- while (iterator.hasNext()) {
- dataType = (Type)iterator.next();
- schemaBuilder.buildSchema(dataType);
- }
-
- XSDSchema xmlSchema = null;
- iterator = schemaMap.values().iterator();
- StringWriter writer = new StringWriter();
-
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty(OutputKeys.METHOD, "xml");
- transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-
- while (iterator.hasNext()) {
- xmlSchema = (XSDSchema)iterator.next();
-
- if (xmlSchema.getElement() == null) {
- xmlSchema.updateElement();
- }
-
- transformer.transform(new DOMSource(xmlSchema.getElement().getOwnerDocument()),
- new StreamResult(writer));
- }
- writer.close();
- return writer.getBuffer().toString();
- } catch (Exception e) {
- // System.out.println("Unable to generate schema due to ..." +
- // e);
- // e.printStackTrace();
- throw new IllegalArgumentException(e.getMessage());
- }
- } else {
- // System.out.println("No SDO Types to generate schema ...");
- return "";
- }
- }
-
- public HelperContext getHelperContext() {
- return helperContext;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AnyTypeDataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AnyTypeDataObjectImpl.java
deleted file mode 100644
index b7d22c3be0..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AnyTypeDataObjectImpl.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.AnyTypeDataObject;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.util.BasicSequence;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.BasicFeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecore.xml.type.AnyType;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>EData Object Any Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl#getMixed <em>Mixed</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl#getAny <em>Any</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.impl.AnyTypeDataObjectImpl#getAnyAttribute <em>Any Attribute</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class AnyTypeDataObjectImpl extends DataObjectImpl implements AnyTypeDataObject
-{
- /**
- * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMixed()
- * @generated
- * @ordered
- */
- protected FeatureMap mixed = null;
-
- /**
- * The cached value of the '{@link #getAnyAttribute() <em>Any Attribute</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAnyAttribute()
- * @generated
- * @ordered
- */
- protected FeatureMap anyAttribute = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AnyTypeDataObjectImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getAnyTypeDataObject();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public FeatureMap getMixed()
- {
- if (mixed == null)
- {
- //mixed = new BasicFeatureMap(this, SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED);
- mixed = new BasicSequence(new BasicFeatureMap(this, SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED)).featureMap();
- }
- return mixed;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public FeatureMap getAny()
- {
- //return (FeatureMap)((FeatureMap)getMixed()).list(XMLTypePackage.eINSTANCE.getAnyType_Any());
- return new BasicSequence((FeatureMap.Internal)((FeatureMap)getMixed()).list(XMLTypePackage.eINSTANCE.getAnyType_Any())).featureMap();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public FeatureMap getAnyAttribute()
- {
- if (anyAttribute == null)
- {
- //anyAttribute = new BasicFeatureMap(this, SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE);
- anyAttribute = new BasicSequence(new BasicFeatureMap(this, SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE)).featureMap();
- }
- return anyAttribute;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
- {
- if (featureID >= 0)
- {
- switch (eDerivedStructuralFeatureID(featureID, baseClass))
- {
- case SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED:
- return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY:
- return ((InternalEList)getAny()).basicRemove(otherEnd, msgs);
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- return ((InternalEList)getAnyAttribute()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED:
- if (coreType) return getMixed();
- return ((FeatureMap.Internal)getMixed()).getWrapper();
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY:
- if (coreType) return getAny();
- return ((FeatureMap.Internal)getAny()).getWrapper();
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- if (coreType) return getAnyAttribute();
- return ((FeatureMap.Internal)getAnyAttribute()).getWrapper();
- }
- return eDynamicGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED:
- ((FeatureMap.Internal)getMixed()).set(newValue);
- return;
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY:
- ((FeatureMap.Internal)getAny()).set(newValue);
- return;
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- ((FeatureMap.Internal)getAnyAttribute()).set(newValue);
- return;
- }
- eDynamicSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED:
- getMixed().clear();
- return;
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY:
- getAny().clear();
- return;
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- getAnyAttribute().clear();
- return;
- }
- eDynamicUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED:
- return mixed != null && !mixed.isEmpty();
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY:
- return !getAny().isEmpty();
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- return anyAttribute != null && !anyAttribute.isEmpty();
- }
- return eDynamicIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
- {
- if (baseClass == AnyType.class)
- {
- switch (derivedFeatureID)
- {
- case SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED: return XMLTypePackage.ANY_TYPE__MIXED;
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY: return XMLTypePackage.ANY_TYPE__ANY;
- case SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE: return XMLTypePackage.ANY_TYPE__ANY_ATTRIBUTE;
- default: return -1;
- }
- }
- return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
- {
- if (baseClass == AnyType.class)
- {
- switch (baseFeatureID)
- {
- case XMLTypePackage.ANY_TYPE__MIXED: return SDOPackage.ANY_TYPE_DATA_OBJECT__MIXED;
- case XMLTypePackage.ANY_TYPE__ANY: return SDOPackage.ANY_TYPE_DATA_OBJECT__ANY;
- case XMLTypePackage.ANY_TYPE__ANY_ATTRIBUTE: return SDOPackage.ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE;
- default: return -1;
- }
- }
- return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (mixed: ");
- result.append(mixed);
- result.append(", anyAttribute: ");
- result.append(anyAttribute);
- result.append(')');
- return result.toString();
- }
-
-} //EDataObjectAnyTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AttributeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AttributeImpl.java
deleted file mode 100644
index e02977e0e8..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/AttributeImpl.java
+++ /dev/null
@@ -1,836 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-import org.apache.tuscany.sdo.model.internal.InternalFactory;
-import org.apache.tuscany.sdo.model.internal.impl.InternalFactoryImpl;
-import org.apache.tuscany.sdo.util.BasicSequence;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EAttributeImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.FeatureMap;
-
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Attribute</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class AttributeImpl extends EAttributeImpl implements Property, org.apache.tuscany.sdo.model.Property/*, DataObject*/
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AttributeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getAttribute();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object getDefault()
- {
- return getDefaultValue();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isReadOnly()
- {
- //return "true".equals(EcoreUtil.getAnnotation(this, "commonj.sdo", "readOnly"));
- return !isChangeable(); //TODO semantics don't exactly match?
- }
-
- /**
- * Single-valued SDO properties behave as EMF unsettable, multi-valued properties as EMF !unsettable
- */
- public boolean isUnsettable()
- {
- return !isMany();
- }
-
- public boolean isUnique()
- {
- return false;
- }
-
- protected List aliasNames = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getAliasNames()
- {
- if (aliasNames == null)
- {
- aliasNames = DataObjectUtil.getAliasNames(this);
- }
- return aliasNames;
- }
-
- public static Type INTERNAL_BASE64_BYTES = ((InternalFactoryImpl)InternalFactory.INSTANCE).getBase64Bytes();
- public static Type INTERNAL_QNAME = ((InternalFactoryImpl)InternalFactory.INSTANCE).getQName();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Type getType()
- {
- EClassifier eType = getEType();
- if (eType == INTERNAL_BASE64_BYTES)
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getBytes();
- else if (eType == INTERNAL_QNAME)
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getURI();
- return (Type)eType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Type getContainingType()
- {
- return (Type)getEContainingClass();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getOpposite()
- {
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isContainment()
- {
- return false;
- }
-
- protected EStructuralFeature.Internal.SettingDelegate createFeatureMapSettingDelegate()
- {
- return new InternalSettingDelegateSequence(this);
- }
-
- public static class InternalSettingDelegateSequence extends InternalSettingDelegateMany
- {
- InternalSettingDelegateSequence(EStructuralFeature feature)
- {
- super(InternalSettingDelegateMany.FEATURE_MAP, feature);
- }
-
- protected EStructuralFeature.Setting createDynamicSetting(InternalEObject owner)
- {
- FeatureMap.Internal featureMap = (FeatureMap.Internal)super.createDynamicSetting(owner);
- new BasicSequence(featureMap);
- return featureMap;
- }
- }
-
- public boolean isNullable()
- {
- String isNillable = EcoreUtil.getAnnotation(this, ExtendedMetaData.ANNOTATION_URI, "nillable");
- return isNillable != null && "true".equals(isNillable);
- }
-
- public boolean isOpenContent()
- {
- return SDOUtil.isDocumentRoot(getContainingType());
- }
-
- public List getInstanceProperties() {
- return DataObjectUtil.getMetaObjectInstanceProperties(this);
- }
-
- public Object get(Property property) {
- return DataObjectUtil.getMetaObjectInstanceProperty(this, property);
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // org.apache.tuscany.sdo.model.Property methods
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- public List getAliasName() {
- return this.getAliasNames();
- }
-
- public Sequence getAny() {
- throw new UnsupportedOperationException();
- }
-
- public void unsetContainment() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetContainment() {
- return false;
- }
-
- public void setMany(boolean value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void unsetMany() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetMany() {
- return isMany();
- }
-
- public void setReadOnly(boolean value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void unsetReadOnly() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetReadOnly() {
- return isReadOnly();
- }
-
- public org.apache.tuscany.sdo.model.Type getType_() {
- return (org.apache.tuscany.sdo.model.Type)getType();
- }
-
- public void setType(org.apache.tuscany.sdo.model.Type value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public Sequence getAnyAttribute() {
- throw new UnsupportedOperationException();
- }
-
- public String getDefault_() {
- return (String) this.getDefault();
- }
-
- public void setDefault_(String value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public org.apache.tuscany.sdo.model.Property getOpposite_() {
- return (org.apache.tuscany.sdo.model.Property) getOpposite();
- }
-
- public void setOpposite_(org.apache.tuscany.sdo.model.Property value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void setContainment(boolean value) {
- throw new UnsupportedOperationException();
- }
-
- public void setNullable(boolean value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void unsetNullable() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetNullable() {
- return isUnsettable();
- }
-
- public void unsetName()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetName()
- {
- return true;
- }
-
- public void unsetOpposite()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetOpposite()
- {
- return getOpposite() != null;
- }
-
- public void unsetType()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetType()
- {
- return true;
- }
-
- public void unsetDefault()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetDefault()
- {
- return getDefault() != null;
- }
-
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // DataObject method implementations
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- public Object get(int propertyIndex) {
- return DataObjectUtil.get(this, propertyIndex);
- }
-
- public void set(int propertyIndex, Object value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSet(int propertyIndex) {
- return DataObjectUtil.isSet(this, propertyIndex);
- }
-
- public void unset(int propertyIndex) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public Object get(Property property) {
- return DataObjectUtil.get(this, ((EStructuralFeature)property).getFeatureID());
- }
-
- public void set(Property property, Object value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSet(Property property) {
- return DataObjectUtil.isSet(this, ((EStructuralFeature)property).getFeatureID());
- }
-
- public void unset(Property property) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject getContainer() {
- return (DataObject)eContainer();
- }
-
- public Property getContainmentProperty() {
- return (Property)eContainmentFeature();
- }
-
- // Remaining DataObject methods are (will be) implemented as straight delegation to DataObjectUtil
-
- public Object get(String path) {
- return DataObjectUtil.get(this, path);
- }
-
- public void set(String path, Object value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSet(String path) {
- return DataObjectUtil.isSet(this, path);
- }
-
- public void unset(String path) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean getBoolean(String path) {
- return DataObjectUtil.getBoolean(get(path));
- }
-
- public byte getByte(String path) {
- return DataObjectUtil.getByte(get(path));
- }
-
- public char getChar(String path) {
- return DataObjectUtil.getChar(get(path));
- }
-
- public double getDouble(String path) {
- return DataObjectUtil.getDouble(get(path));
- }
-
- public float getFloat(String path) {
- return DataObjectUtil.getFloat(get(path));
- }
-
- public int getInt(String path) {
- return DataObjectUtil.getInt(get(path));
- }
-
- public long getLong(String path) {
- return DataObjectUtil.getLong(get(path));
- }
-
- public short getShort(String path) {
- return DataObjectUtil.getShort(get(path));
- }
-
- public byte[] getBytes(String path) {
- return DataObjectUtil.getBytes(get(path));
- }
-
- public BigDecimal getBigDecimal(String path) {
- return DataObjectUtil.getBigDecimal(get(path));
- }
-
- public BigInteger getBigInteger(String path) {
- return DataObjectUtil.getBigInteger(get(path));
- }
-
- public DataObject getDataObject(String path) {
- return (DataObject)get(path);
- }
-
- public Date getDate(String path) {
- return DataObjectUtil.getDate(get(path));
- }
-
- public String getString(String path) {
- return DataObjectUtil.getString(get(path));
- }
-
- public List getList(String path) {
- return (List)get(path);
- }
-
- public Sequence getSequence(String path) {
- return (Sequence)get(path);
- }
-
- public void setBoolean(String path, boolean value) {
- set(path, new Boolean(value));
- }
-
- public void setByte(String path, byte value) {
- set(path, new Byte(value));
- }
-
- public void setChar(String path, char value) {
- set(path, new Character(value));
- }
-
- public void setDouble(String path, double value) {
- set(path, new Double(value));
- }
-
- public void setFloat(String path, float value) {
- set(path, new Float(value));
- }
-
- public void setInt(String path, int value) {
- set(path, new Integer(value));
- }
-
- public void setLong(String path, long value) {
- set(path, new Long(value));
- }
-
- public void setShort(String path, short value) {
- set(path, new Short(value));
- }
-
- public void setBytes(String path, byte[] value) {
- set(path, value);
- }
-
- public void setBigDecimal(String path, BigDecimal value) {
- set(path, value);
- }
-
- public void setBigInteger(String path, BigInteger value) {
- set(path, value);
- }
-
- public void setDataObject(String path, DataObject value) {
- set(path, value);
- }
-
- public void setDate(String path, Date value) {
- set(path, value);
- }
-
- public void setString(String path, String value) {
- set(path, value);
- }
-
- public void setList(String path, List value) {
- set(path, value);
- }
-
- public boolean getBoolean(int propertyIndex) {
- return DataObjectUtil.getBoolean(this, propertyIndex);
- }
-
- public byte getByte(int propertyIndex) {
- return DataObjectUtil.getByte(this, propertyIndex);
- }
-
- public char getChar(int propertyIndex) {
- return DataObjectUtil.getChar(this, propertyIndex);
- }
-
- public double getDouble(int propertyIndex) {
- return DataObjectUtil.getDouble(this, propertyIndex);
- }
-
- public float getFloat(int propertyIndex) {
- return DataObjectUtil.getFloat(this, propertyIndex);
- }
-
- public int getInt(int propertyIndex) {
- return DataObjectUtil.getInt(this, propertyIndex);
- }
-
- public long getLong(int propertyIndex) {
- return DataObjectUtil.getLong(this, propertyIndex);
- }
-
- public short getShort(int propertyIndex) {
- return DataObjectUtil.getShort(this, propertyIndex);
- }
-
- public byte[] getBytes(int propertyIndex) {
- return DataObjectUtil.getBytes(this, propertyIndex);
- }
-
- public BigDecimal getBigDecimal(int propertyIndex) {
- return DataObjectUtil.getBigDecimal(this, propertyIndex);
- }
-
- public BigInteger getBigInteger(int propertyIndex) {
- return DataObjectUtil.getBigInteger(this, propertyIndex);
- }
-
- public DataObject getDataObject(int propertyIndex) {
- return DataObjectUtil.getDataObject(this, propertyIndex);
- }
-
- public Date getDate(int propertyIndex) {
- return DataObjectUtil.getDate(this, propertyIndex);
- }
-
- public String getString(int propertyIndex) {
- return DataObjectUtil.getString(this, propertyIndex);
- }
-
- public List getList(int propertyIndex) {
- return DataObjectUtil.getList(this, propertyIndex);
- }
-
- public Sequence getSequence(int propertyIndex) {
- return DataObjectUtil.getSequence(this, propertyIndex);
- }
-
- public void setBoolean(int propertyIndex, boolean value) {
- set(propertyIndex, new Boolean(value));
- }
-
- public void setByte(int propertyIndex, byte value) {
- set(propertyIndex, new Byte(value));
- }
-
- public void setChar(int propertyIndex, char value) {
- set(propertyIndex, new Character(value));
- }
-
- public void setDouble(int propertyIndex, double value) {
- set(propertyIndex, new Double(value));
- }
-
- public void setFloat(int propertyIndex, float value) {
- set(propertyIndex, new Float(value));
- }
-
- public void setInt(int propertyIndex, int value) {
- set(propertyIndex, new Integer(value));
- }
-
- public void setLong(int propertyIndex, long value) {
- set(propertyIndex, new Long(value));
- }
-
- public void setShort(int propertyIndex, short value) {
- set(propertyIndex, new Short(value));
- }
-
- public void setBytes(int propertyIndex, byte[] value) {
- set(propertyIndex, value);
- }
-
- public void setBigDecimal(int propertyIndex, BigDecimal value) {
- set(propertyIndex, value);
- }
-
- public void setBigInteger(int propertyIndex, BigInteger value) {
- set(propertyIndex, value);
- }
-
- public void setDataObject(int propertyIndex, DataObject value) {
- set(propertyIndex, value);
- }
-
- public void setDate(int propertyIndex, Date value) {
- set(propertyIndex, value);
- }
-
- public void setString(int propertyIndex, String value) {
- set(propertyIndex, value);
- }
-
- public void setList(int propertyIndex, List value) {
- set(propertyIndex, value);
- }
-
- public boolean getBoolean(Property property) {
- return DataObjectUtil.getBoolean(this, property);
- }
-
- public byte getByte(Property property) {
- return DataObjectUtil.getByte(this, property);
- }
-
- public char getChar(Property property) {
- return DataObjectUtil.getChar(this, property);
- }
-
- public double getDouble(Property property) {
- return DataObjectUtil.getDouble(this, property);
- }
-
- public float getFloat(Property property) {
- return DataObjectUtil.getFloat(this, property);
- }
-
- public int getInt(Property property) {
- return DataObjectUtil.getInt(this, property);
- }
-
- public long getLong(Property property) {
- return DataObjectUtil.getLong(this, property);
- }
-
- public short getShort(Property property) {
- return DataObjectUtil.getShort(this, property);
- }
-
- public byte[] getBytes(Property property) {
- return DataObjectUtil.getBytes(this, property);
- }
-
- public BigDecimal getBigDecimal(Property property) {
- return DataObjectUtil.getBigDecimal(this, property);
- }
-
- public BigInteger getBigInteger(Property property) {
- return DataObjectUtil.getBigInteger(this, property);
- }
-
- public DataObject getDataObject(Property property) {
- return DataObjectUtil.getDataObject(this, property);
- }
-
- public Date getDate(Property property) {
- return DataObjectUtil.getDate(this, property);
- }
-
- public String getString(Property property) {
- return DataObjectUtil.getString(this, property);
- }
-
- public List getList(Property property) {
- return DataObjectUtil.getList(this, property);
- }
-
- public Sequence getSequence(Property property) {
- return DataObjectUtil.getSequence(this, property);
- }
-
- public void setBoolean(Property property, boolean value) {
- set(property, new Boolean(value));
- }
-
- public void setByte(Property property, byte value) {
- set(property, new Byte(value));
- }
-
- public void setChar(Property property, char value) {
- set(property, new Character(value));
- }
-
- public void setDouble(Property property, double value) {
- set(property, new Double(value));
- }
-
- public void setFloat(Property property, float value) {
- set(property, new Float(value));
- }
-
- public void setInt(Property property, int value) {
- set(property, new Integer(value));
- }
-
- public void setLong(Property property, long value) {
- set(property, new Long(value));
- }
-
- public void setShort(Property property, short value) {
- set(property, new Short(value));
- }
-
- public void setBytes(Property property, byte[] value) {
- set(property, value);
- }
-
- public void setBigDecimal(Property property, BigDecimal value) {
- set(property, value);
- }
-
- public void setBigInteger(Property property, BigInteger value) {
- set(property, value);
- }
-
- public void setDataObject(Property property, DataObject value) {
- set(property, value);
- }
-
- public void setDate(Property property, Date value) {
- set(property, value);
- }
-
- public void setString(Property property, String value) {
- set(property, value);
- }
-
- public void setList(Property property, List value) {
- set(property, value);
- }
-
- public DataObject createDataObject(String propertyName) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(String propertyName, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property, Type type) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void delete() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataGraph getDataGraph() {
- return DataObjectUtil.getDataGraph(this);
- }
-
- public Sequence getSequence() {
- EAttribute mixedFeature = BasicExtendedMetaData.INSTANCE.getMixedFeature(eClass());
- return mixedFeature != null ? (Sequence)eGet(mixedFeature, true, false) : null;
- }
-
- public List getInstanceProperties() {
- return DataObjectUtil.getInstanceProperties(this);
- }
-
- public DataObject getRootObject() {
- return DataObjectUtil.getRootObject(this);
- }
-
- public ChangeSummary getChangeSummary() {
- // TODO: implement this method
- throw new UnsupportedOperationException();
- }
-
- public void detach() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- //DataObjectUtil.detach(this);
- }
-
- public Property getProperty(String propertyName) {
- return DataObjectUtil.getProperty(this, propertyName);
- }
- */
-
-} //AttributeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummaryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummaryImpl.java
deleted file mode 100644
index 55f3d5449d..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummaryImpl.java
+++ /dev/null
@@ -1,876 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.util.BasicSequence;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.change.ChangeDescription;
-import org.eclipse.emf.ecore.change.FeatureChange;
-import org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl;
-import org.eclipse.emf.ecore.change.util.ChangeRecorder;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
-import org.eclipse.emf.ecore.util.DelegatingFeatureMap;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>EChange Summary</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.impl.ChangeSummaryImpl#getEDataGraph <em>EData Graph</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ChangeSummaryImpl extends ChangeDescriptionImpl implements ChangeSummary
-{
- /**
- * The cached value of the '{@link #getEDataGraph() <em>EData Graph</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEDataGraph()
- * @generated
- * @ordered
- */
- protected DataGraph eDataGraph = null;
-
- protected DataObject dataObject = null;
- protected SDOChangeRecorder changeRecorder = null;
-
- protected Set cachedDeletedObjects = null;
- protected List cachedCreatedObjects = null;
- protected Map cachedSDOObjectChanges = null;
- protected boolean isStale = false;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ChangeSummaryImpl()
- {
- super();
- cachedSDOObjectChanges = createThreadSafeMap();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getChangeSummary();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isLogging()
- {
- return changeRecorder != null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataGraph getEDataGraph()
- {
- return eDataGraph;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetEDataGraph(DataGraph newEDataGraph, NotificationChain msgs)
- {
- DataGraph oldEDataGraph = eDataGraph;
- eDataGraph = newEDataGraph;
- if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH, oldEDataGraph, newEDataGraph);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setEDataGraph(DataGraph newEDataGraph)
- {
- if (newEDataGraph != eDataGraph)
- {
- NotificationChain msgs = null;
- if (eDataGraph != null)
- msgs = ((InternalEObject)eDataGraph).eInverseRemove(this, SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY, DataGraph.class, msgs);
- if (newEDataGraph != null)
- msgs = ((InternalEObject)newEDataGraph).eInverseAdd(this, SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY, DataGraph.class, msgs);
- msgs = basicSetEDataGraph(newEDataGraph, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH, newEDataGraph, newEDataGraph));
- }
-
- public DataObject getDataObject()
- {
- return dataObject;
- }
-
- public void setDataObject(DataObject newDataObject)
- {
- dataObject = newDataObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void beginLogging()
- {
- if (isLogging())
- {
- throw new IllegalStateException("Already logging");
- }
-
- getObjectsToAttach().clear();
- getObjectChanges().clear();
- getResourceChanges().clear();
- oldContainmentInformation = null;
-
- beginRecording();
-// if (eNotificationRequired())
-// eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__LOGGING, false, true));
- }
-
- /**
- *
- */
- private void beginRecording() {
- changeRecorder = new SDOChangeRecorder();
- if (eDataGraph != null)
- {
- changeRecorder.beginRecording(Collections.singleton(((DataGraphImpl)eDataGraph).getRootResource()));
- }
- else if (dataObject != null)
- {
- changeRecorder.beginRecording(Collections.singleton(dataObject));
- }
- else
- {
- throw new IllegalStateException("ChangeSummary not attached to any data objects");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void resumeLogging()
- {
- if (isLogging())
- {
- throw new IllegalStateException("Already logging");
- }
-
- oldContainmentInformation = null;
-
- beginRecording();
-// if (eNotificationRequired())
-// eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__LOGGING, false, true));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
- {
- if (featureID >= 0)
- {
- switch (eDerivedStructuralFeatureID(featureID, baseClass))
- {
- case SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH:
- if (eDataGraph != null)
- msgs = ((InternalEObject)eDataGraph).eInverseRemove(this, SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY, DataGraph.class, msgs);
- return basicSetEDataGraph((DataGraph)otherEnd, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
- {
- if (featureID >= 0)
- {
- switch (eDerivedStructuralFeatureID(featureID, baseClass))
- {
- case SDOPackage.CHANGE_SUMMARY__OBJECT_CHANGES:
- return ((InternalEList)getObjectChanges()).basicRemove(otherEnd, msgs);
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_ATTACH:
- return ((InternalEList)getObjectsToAttach()).basicRemove(otherEnd, msgs);
- case SDOPackage.CHANGE_SUMMARY__RESOURCE_CHANGES:
- return ((InternalEList)getResourceChanges()).basicRemove(otherEnd, msgs);
- case SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH:
- return basicSetEDataGraph(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case SDOPackage.CHANGE_SUMMARY__OBJECT_CHANGES:
- if (coreType) return getObjectChanges();
- else return getObjectChanges().map();
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_DETACH:
- return getObjectsToDetach();
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_ATTACH:
- return getObjectsToAttach();
- case SDOPackage.CHANGE_SUMMARY__RESOURCE_CHANGES:
- return getResourceChanges();
- case SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH:
- return getEDataGraph();
-// case SDOPackage.CHANGE_SUMMARY__EDATA_OBJECT:
-// return getEDataObject();
- }
- return eDynamicGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case SDOPackage.CHANGE_SUMMARY__OBJECT_CHANGES:
- ((EStructuralFeature.Setting)getObjectChanges()).set(newValue);
- return;
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_DETACH:
- getObjectsToDetach().clear();
- getObjectsToDetach().addAll((Collection)newValue);
- return;
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_ATTACH:
- getObjectsToAttach().clear();
- getObjectsToAttach().addAll((Collection)newValue);
- return;
- case SDOPackage.CHANGE_SUMMARY__RESOURCE_CHANGES:
- getResourceChanges().clear();
- getResourceChanges().addAll((Collection)newValue);
- return;
- case SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH:
- setEDataGraph((DataGraph)newValue);
- return;
- }
- eDynamicSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.CHANGE_SUMMARY__OBJECT_CHANGES:
- getObjectChanges().clear();
- return;
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_DETACH:
- getObjectsToDetach().clear();
- return;
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_ATTACH:
- getObjectsToAttach().clear();
- return;
- case SDOPackage.CHANGE_SUMMARY__RESOURCE_CHANGES:
- getResourceChanges().clear();
- return;
- case SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH:
- setEDataGraph((DataGraph)null);
- return;
- }
- eDynamicUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.CHANGE_SUMMARY__OBJECT_CHANGES:
- return objectChanges != null && !objectChanges.isEmpty();
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_DETACH:
- return objectsToDetach != null && !objectsToDetach.isEmpty();
- case SDOPackage.CHANGE_SUMMARY__OBJECTS_TO_ATTACH:
- return objectsToAttach != null && !objectsToAttach.isEmpty();
- case SDOPackage.CHANGE_SUMMARY__RESOURCE_CHANGES:
- return resourceChanges != null && !resourceChanges.isEmpty();
- case SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH:
- return eDataGraph != null;
- }
- return eDynamicIsSet(featureID);
- }
-
- protected void uncache()
- {
- cachedDeletedObjects = null;
- cachedCreatedObjects = null;
- cachedSDOObjectChanges.clear();
- }
-
- protected class SDOChangeRecorder extends ChangeRecorder
- {
- public SDOChangeRecorder()
- {
- super();
- }
-
- public void beginRecording(ChangeDescription changeDescription, Collection rootObjects)
- {
- uncache();
- super.beginRecording(changeDescription, rootObjects);
- }
-
- protected ChangeDescription createChangeDescription()
- {
- return ChangeSummaryImpl.this;
- }
-
- protected FeatureChange createFeatureChange(EObject eObject, EStructuralFeature eStructuralFeature, Object value, boolean isSet)
- {
- Property property = (Property)eStructuralFeature;
- if (property.isReadOnly())
- {
- if (((DataObject)eObject).getDataGraph() != null)
- {
- throw
- new IllegalStateException
- ("The property '" + property.getName() + "' of type '" +
- property.getContainingType().getName() + "' is read only");
- }
- }
- return (FeatureChange)SDOFactory.eINSTANCE.createChangeSummarySetting(eStructuralFeature, value, isSet);
- }
-
- protected void consolidateChanges()
- {
- uncache();
- isStale = false;
-
- // TODO remove this fixup when https://bugs.eclipse.org/bugs/show_bug.cgi?id=177235 is
- // available to us (i.e. we update to EMF 2.3) -- see Tuscany-1164
- boolean isUncontainedRoot = dataObject != null
- && ((EObject)dataObject).eContainer() == null
- && ((EObject)dataObject).eResource() == null;
-
- super.consolidateChanges();
-
- if(isUncontainedRoot && changeDescription.getObjectsToAttach().contains(dataObject)) {
- changeDescription.getObjectsToAttach().remove(dataObject);
- }
-
- }
-
- protected void addAdapter(Notifier notifier)
- {
- if (!loadingTargets) return; // Optimize ChangeSummary to not record changes in newly created DOs
-
- if (notifier instanceof DataObjectImpl)
- ((DataObjectImpl)notifier).setChangeRecorder(this);
- else
- super.addAdapter(notifier);
- }
-
- protected void removeAdapter(Notifier notifier)
- {
- if (notifier instanceof DataObjectImpl)
- ((DataObjectImpl)notifier).setChangeRecorder(null);
- else
- super.removeAdapter(notifier);
- }
-
- public void notifyChanged(Notification notification)
- {
- super.notifyChanged(notification);
-
- Object notifier = notification.getNotifier();
- if (notifier instanceof EObject)
- {
- cachedSDOObjectChanges.remove(notifier);
- Object feature = notification.getFeature();
- if (feature instanceof Property && ((Property)feature).isContainment())
- {
- cachedCreatedObjects = null;
- cachedDeletedObjects = null;
- oldContainmentInformation = null;
- }
- isStale = true;
- }
- }
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void endLogging()
- {
- if (!isLogging())
- {
- throw new IllegalStateException("Not currently logging");
- }
-
- changeRecorder.endRecording();
- changeRecorder.dispose();
- changeRecorder = null;
-// if (eNotificationRequired())
-// eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__LOGGING, true, false));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isCreated(DataObject dataObject)
- {
- return getCachedCreatedObjects().contains(dataObject);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isDeleted(DataObject dataObject)
- {
- return getCachedDeletedObjects().contains(dataObject);
- }
-
- protected Set getCachedDeletedObjects()
- {
- if (cachedDeletedObjects == null)
- {
- if (isStale()) changeRecorder.consolidateChanges();
- cachedDeletedObjects = new HashSet();
- for (Iterator i = EcoreUtil.getAllContents(getObjectsToAttach()); i.hasNext(); )
- {
- cachedDeletedObjects.add(i.next());
- }
- }
- return cachedDeletedObjects;
- }
-
- protected List getCachedCreatedObjects()
- {
- if (cachedCreatedObjects == null)
- {
- if (isStale()) changeRecorder.consolidateChanges();
- cachedCreatedObjects = super.getObjectsToDetach();
- }
- return cachedCreatedObjects;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getChangedDataObjects()
- {
- EList result = new UniqueEList.FastCompare(getCachedDeletedObjects());
- result.addAll(getCachedCreatedObjects());
- for (Iterator i = getObjectChanges().iterator(); i.hasNext(); )
- {
- Map.Entry entry = (Map.Entry)i.next();
- result.add(entry.getKey());
- }
- return result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getOldValues(DataObject dataObject)
- {
- List sdoSettings = (List)cachedSDOObjectChanges.get(dataObject);
- if (sdoSettings != null)
- {
- return sdoSettings;
- }
-
- if (isStale()) changeRecorder.consolidateChanges();
- List settings = (List)getObjectChanges().get(dataObject);
- if (settings == null)
- {
- settings = Collections.EMPTY_LIST;
- }
- else
- {
- for (int i = 0; i < settings.size(); i++)
- {
- FeatureChange change = (FeatureChange)settings.get(i);
- EStructuralFeature feature = change.getFeature();
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- final List values = (List)change.getValue();
- if (sdoSettings == null)
- {
- sdoSettings = new BasicEList(settings);
- }
- DelegatingFeatureMap featureMap = new DelegatingFeatureMap(((InternalEObject)dataObject), feature)
- {
- protected final List theList = values;
-
- protected List delegateList()
- {
- return theList;
- }
- };
-
- // create new settings and replace the setting for mixed feature
- sdoSettings.set(i, SDOFactory.eINSTANCE.createChangeSummarySetting(feature, new BasicSequence(featureMap), change.isSet()));
- // add all derived features
- for (int k = 0; k < featureMap.size(); k++)
- {
- EStructuralFeature f = featureMap.getEStructuralFeature(k);
- sdoSettings.add(SDOFactory.eINSTANCE.createChangeSummarySetting(f, featureMap.get(f, false), true));
- }
- }
- }
- }
- sdoSettings = (sdoSettings != null) ? sdoSettings : settings;
- cachedSDOObjectChanges.put(dataObject, sdoSettings);
- return sdoSettings;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isModified(DataObject dataObject)
- {
- return getObjectChanges().containsKey(dataObject) && !isDeleted(dataObject) && !isCreated(dataObject);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void summarize()
- {
- if (!isLogging())
- {
- throw new IllegalStateException("Not currently logging");
- }
-
- changeRecorder.summarize();
- }
-
- public Setting getOldValue(DataObject dataObject, Property property)
- {
- for (Iterator i = getOldValues(dataObject).iterator(); i.hasNext(); )
- {
- Setting setting = (Setting)i.next();
- if (setting.getProperty() == property)
- {
- return setting;
- }
- }
-
- return null;
- }
-
- public DataObject getOldContainer(DataObject dataObject)
- {
- return (DataObject)getOldContainer((EObject)dataObject);
- }
-
- public Property getOldContainmentProperty(DataObject dataObject)
- {
- return (Property)getOldContainmentFeature((EObject)dataObject);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Sequence getOldSequence(DataObject dataObject)
- {
- EAttribute mixedFeature = BasicExtendedMetaData.INSTANCE.getMixedFeature((EClass)dataObject.getType());
- if (mixedFeature != null)
- {
- return (Sequence)getOldValue(dataObject, (Property)mixedFeature).getValue();
- }
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void undoChanges()
- {
- if (isLogging())
- {
- changeRecorder.summarize();
- }
- else
- {
- uncache();
- }
- apply();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataGraph getDataGraph()
- {
- return getEDataGraph();
- }
-
- protected Map getOldContainmentInformation()
- {
- if (oldContainmentInformation == null)
- {
- if (isStale()) changeRecorder.consolidateChanges();
- super.getOldContainmentInformation();
- }
- return oldContainmentInformation;
- }
-
- protected boolean isStale()
- {
- return isLogging() && isStale;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject getRootObject()
- {
- if (eDataGraph != null)
- {
- return eDataGraph.getRootObject();
- }
- if (dataObject != null)
- {
- return dataObject;
- }
- return null;
- }
-
- static protected boolean isContainmentReference(Object feature)
- {
- return feature instanceof EReference && ((EReference) feature).isContainment();
- }
-
- public DataObject getOldDataObject(DataObject dataObject)
- {
- //TODO: Fix this method. Currently, it has the side effect of undoing the unset of contained children references
- // of root deleted objects - i.e., when featureChange.apply(oldDataObject) is called.
- //
- List changes = (List) getObjectChanges().get(dataObject);
- if (changes == null)
- return dataObject;
- EObject oldDataObject = EcoreUtil.copy((EObject)dataObject);
- for (Iterator fIter = changes.iterator(); fIter.hasNext(); )
- {
- FeatureChange featureChange = (FeatureChange)fIter.next();
- featureChange.apply(oldDataObject);
- EStructuralFeature feature = featureChange.getFeature();
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- FeatureMap featureMap = (FeatureMap) oldDataObject.eGet(feature);
- for (int index = featureMap.size(); index != 0;)
- if (isContainmentReference(featureMap.getEStructuralFeature(--index)))
- featureMap.setValue(index, getOldDataObject((DataObject) featureMap.getValue(index)));
- }
- else if (isContainmentReference(feature))
- {
- Object value = oldDataObject.eGet(feature);
- if (feature.isMany())
- {
- changes = (List) value;
- for (int index = changes.size(); index != 0;)
- changes.set(--index, getOldDataObject((DataObject) changes.get(index))); // Java pushes stack from left to right
- }
- else
- oldDataObject.eSet(feature, getOldDataObject((DataObject) value));
- }
- }
-
- return (DataObject)oldDataObject;
- }
-
- private static Class concurrentHashMapClazz = null;
- private static boolean isThreadSafeMapClazzIdentified = false;
-
- private Map createThreadSafeMap()
- {
- if (!isThreadSafeMapClazzIdentified)
- {
- concurrentHashMapClazz = loadConcurrentHashMapClazz();
- isThreadSafeMapClazzIdentified = true;
- }
- Map threadSafeMap = null;
- if (concurrentHashMapClazz == null)
- {
- threadSafeMap = Collections.synchronizedMap(new HashMap());
- }
- else
- {
- try
- {
- threadSafeMap = (Map)concurrentHashMapClazz.newInstance();
- }
- catch (InstantiationException e)
- {
- throw new RuntimeException(e);
- }
- catch (IllegalAccessException e)
- {
- throw new RuntimeException(e);
- }
- }
- return threadSafeMap;
- }
-
- private static String[] concurrentHashMapClazzNames = new String[] {
- "java.util.concurrent.ConcurrentHashMap",
- "edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap"};
-
- private static Class loadConcurrentHashMapClazz()
- {
- Class mapClazz = null;
- for (int i = 0; i < concurrentHashMapClazzNames.length; i++)
- {
- String concurrentHashMapClazzName = concurrentHashMapClazzNames[i];
- try
- {
- mapClazz = Class.forName(concurrentHashMapClazzName, true, Thread.currentThread().getContextClassLoader());
- }
- catch (Exception ignored) {}
- if (mapClazz != null)
- {
- break;
- }
- try
- {
- mapClazz = Class.forName(concurrentHashMapClazzName);
- }
- catch (Exception ignored) {}
- if (mapClazz != null)
- {
- break;
- }
- }
- return mapClazz;
- }
-
-} //ChangeSummaryImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummarySettingImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummarySettingImpl.java
deleted file mode 100644
index d1cd1d3e05..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ChangeSummarySettingImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-
-import java.util.Map;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.change.impl.FeatureChangeImpl;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.Property;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>EChange Summary Setting</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class ChangeSummarySettingImpl extends FeatureChangeImpl implements ChangeSummary.Setting
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ChangeSummarySettingImpl()
- {
- super();
- }
-
- protected ChangeSummarySettingImpl(EStructuralFeature feature, Object value, boolean isSet)
- {
- super(feature, value, isSet);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getChangeSummarySetting();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object getValue()
- {
- EStructuralFeature feature = getFeature();
- if (feature.isMany())
- {
- if (value == null)
- {
- EObject eObject = (EObject)((Map.Entry)eContainer()).getKey();
- value = getListValue((EList)eObject.eGet(feature));
- }
- return value;
- }
- else
- {
- return super.getValue();
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getProperty()
- {
- return (Property)getFeature();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isSet()
- {
- return super.isSet();
- }
-
-} //EChangeSummarySettingImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ClassImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ClassImpl.java
deleted file mode 100644
index cd37620f4c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ClassImpl.java
+++ /dev/null
@@ -1,1127 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-import org.apache.tuscany.sdo.util.BasicSequence;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EClassImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Class</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class ClassImpl extends EClassImpl implements Type, org.apache.tuscany.sdo.model.Type/*, DataObject*/
-{
- private static final long serialVersionUID = 1L;
-
- private static final Property UNINITIALIZED_PROPERTY = SDOFactory.eINSTANCE.createAttribute();
-
- private Property changeSummaryPropertyCache = UNINITIALIZED_PROPERTY;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ClassImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getClass_();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getURI()
- {
- return getEPackage().getNsURI();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isDataType()
- {
- return false;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isOpen()
- {
- final List properties = getExtendedProperties();
- if (properties != Collections.EMPTY_LIST)
- {
- for (int i = 0, count = properties.size(); i < count; ++i)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)properties.get(i);
- if (isOpenFeatureMap(eStructuralFeature))
- return true;
- }
- }
-
- for (final Iterator iterator = getBaseTypes().iterator() ; iterator.hasNext(); )
- {
- Type baseType = (Type)iterator.next();
- if (baseType.isOpen())
- return true;
- }
-
- return false;
- }
-
- private static final EStructuralFeature UNINITIALIZED_SEQUENCE_FEATURE = (EAttribute)SDOFactory.eINSTANCE.createAttribute();
- protected static final EStructuralFeature VIRTUAL_SEQUENCE_FEATURE = (EAttribute)SDOFactory.eINSTANCE.createAttribute();
-
- private EStructuralFeature sequenceFeature = UNINITIALIZED_SEQUENCE_FEATURE;
-
- public EStructuralFeature getSequenceFeature()
- {
- if (sequenceFeature == UNINITIALIZED_SEQUENCE_FEATURE)
- {
- EStructuralFeature sequenceFeatureCandidate = null;
- boolean hasNonDerivedFeatures = false;
-
- for (Iterator iterator = getEAllStructuralFeatures().iterator(); iterator.hasNext(); )
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)iterator.next();
- if (!eStructuralFeature.isDerived()) {
- if (sequenceFeatureCandidate == null && isSequenceFeatureMap(eStructuralFeature))
- sequenceFeatureCandidate = eStructuralFeature;
- else if (isElementFeature(eStructuralFeature) && !DataObjectUtil.isInternalProperty(eStructuralFeature))
- hasNonDerivedFeatures = true;
- }
- }
-
- sequenceFeature =
- sequenceFeatureCandidate != null && hasNonDerivedFeatures ?
- VIRTUAL_SEQUENCE_FEATURE :
- sequenceFeatureCandidate;
- }
-
- return sequenceFeature;
- }
-
- protected boolean isSequenceFeatureMap(EStructuralFeature eStructuralFeature)
- {
- switch (ExtendedMetaData.INSTANCE.getFeatureKind(eStructuralFeature))
- {
- case ExtendedMetaData.ELEMENT_WILDCARD_FEATURE:
- return eStructuralFeature.getUpperBound() != 1;
- case ExtendedMetaData.GROUP_FEATURE:
- return true;
- }
- return false;
- }
-
- protected boolean isElementFeature(EStructuralFeature eStructuralFeature)
- {
- switch (ExtendedMetaData.INSTANCE.getFeatureKind(eStructuralFeature))
- {
- case ExtendedMetaData.ATTRIBUTE_FEATURE:
- case ExtendedMetaData.ATTRIBUTE_WILDCARD_FEATURE:
- return false;
- }
- return true;
- }
-
- public List getVirtualSequenceProperties()
- {
- List result = new ArrayList();
- for (Iterator iterator = getEAllStructuralFeatures().iterator(); iterator.hasNext(); )
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)iterator.next();
- if (!eStructuralFeature.isDerived() && isElementFeature(eStructuralFeature))
- result.add(eStructuralFeature);
- }
- return result;
- }
-
- public void setSequenceFeature(EAttribute sequenceFeature)
- {
- getEStructuralFeatures().add(sequenceFeature);
- this.sequenceFeature = sequenceFeature;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isSequenced()
- {
- return getSequenceFeature() != null;
- }
-
- protected List aliasNames = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getAliasNames()
- {
- if (aliasNames == null)
- {
- aliasNames = DataObjectUtil.getAliasNames(this);
- }
- return aliasNames;
- }
-
- protected List declaredProperties = null;
-
- public List getDeclaredProperties()
- {
- if (declaredProperties == null) {
- initPropertyLists();
- }
- return declaredProperties;
- }
-
- protected List extendedProperties = null;
-
- public List getExtendedProperties()
- {
- if (extendedProperties == null) {
- initPropertyLists();
- }
- return extendedProperties;
- }
-
- protected List getTypeFeatures()
- {
- return getEStructuralFeatures();
- }
-
- protected void initPropertyLists()
- {
- List declaredProperties = new ArrayList();
- List extendedProperties = Collections.EMPTY_LIST;
-
- for (Iterator i = getTypeFeatures().iterator(); i.hasNext(); ) {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)i.next();
- boolean isExtendedProperty = DataObjectUtil.isInternalProperty(eStructuralFeature);
- if (isExtendedProperty) {
- if (extendedProperties == Collections.EMPTY_LIST)
- extendedProperties = new ArrayList();
- extendedProperties.add(eStructuralFeature);
- }
- else
- declaredProperties.add(eStructuralFeature);
- }
- this.declaredProperties = declaredProperties;
- this.extendedProperties = extendedProperties;
- }
-
- public EList getEStructuralFeatures()
- {
- if (eStructuralFeatures == null)
- {
- eStructuralFeatures =
- new EObjectContainmentWithInverseEList(EStructuralFeature.class, this, EcorePackage.ECLASS__ESTRUCTURAL_FEATURES, EcorePackage.ESTRUCTURAL_FEATURE__ECONTAINING_CLASS)
- {
- protected void didChange()
- {
- declaredProperties = extendedProperties = null;
- }
- };
- }
- return eStructuralFeatures;
- }
-
- protected List allProperties = null;
- protected List allExtendedProperties = null;
- protected EList allFeaturesCache = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getProperties()
- {
- final EList allFeatures = getEAllStructuralFeatures();
- if (allFeatures != allFeaturesCache)
- {
- allFeaturesCache = allFeatures;
- allProperties = allExtendedProperties = null;
- }
- if (allProperties == null)
- {
- List allProperties = new UniqueEList();
- for (final Iterator iterator = getBaseTypes().iterator(); iterator.hasNext(); )
- {
- Type baseType = (Type)iterator.next();
- allProperties.addAll(baseType.getProperties());
- }
- allProperties.addAll(getDeclaredProperties());
- this.allProperties = allProperties;
- }
- return allProperties;
- }
-
- public List getAllExtendedProperties()
- {
- final EList allFeatures = getEAllStructuralFeatures();
- if (allFeatures != allFeaturesCache)
- {
- allFeaturesCache = allFeatures;
- allProperties = allExtendedProperties = null;
- }
- if (allExtendedProperties == null)
- {
- List allExtendedProperties = new UniqueEList();
- for (final Iterator iterator = getBaseTypes().iterator(); iterator.hasNext(); )
- {
- Type baseType = (Type)iterator.next();
- allExtendedProperties.addAll(((ClassImpl)baseType).getAllExtendedProperties());
- }
- allExtendedProperties.addAll(getExtendedProperties());
- this.allExtendedProperties = allExtendedProperties;
- }
- return allExtendedProperties;
- }
-
- protected boolean isOpenFeatureMap(EStructuralFeature eStructuralFeature)
- {
- switch (ExtendedMetaData.INSTANCE.getFeatureKind(eStructuralFeature))
- {
- case ExtendedMetaData.ELEMENT_WILDCARD_FEATURE:
- return eStructuralFeature != ExtendedMetaData.INSTANCE.getMixedFeature(this);
- case ExtendedMetaData.ATTRIBUTE_WILDCARD_FEATURE:
- //FB I think this is wrong ... case ExtendedMetaData.GROUP_FEATURE:
- return true;
- }
- return false;
- }
-
- public void addOpenProperties(EObject dataObject, Collection propertyList)
- {
- for (final Iterator iterator = getBaseTypes().iterator(); iterator.hasNext(); )
- {
- ClassImpl baseType = (ClassImpl)iterator.next();
- baseType.addOpenProperties(dataObject, propertyList);
- }
-
- for (final Iterator iter = getExtendedProperties().iterator(); iter.hasNext(); )
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)iter.next();
- if (isOpenFeatureMap(eStructuralFeature))
- {
- List features = (List)dataObject.eGet(eStructuralFeature);
- for (int j = 0, size = features.size(); j < size; ++j)
- {
- FeatureMap.Entry entry = (FeatureMap.Entry)features.get(j);
- EStructuralFeature entryFeature = entry.getEStructuralFeature();
- Property property = BasicSequence.getFeatureProperty(entryFeature);
- if (property != null) propertyList.add(entryFeature);
- }
- }
- }
- }
-
- public Property getOpenProperty(EObject dataObject, String featureName)
- {
- for (final Iterator iterator = getBaseTypes().iterator(); iterator.hasNext(); )
- {
- ClassImpl baseType = (ClassImpl)iterator.next();
- Property result = baseType.getOpenProperty(dataObject, featureName);
- if (result != null) return result;
- }
-
- Set openFeatureSet = new HashSet();
- for (final Iterator iter = getExtendedProperties().iterator(); iter.hasNext(); )
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)iter.next();
- //if (isOpenFeatureMap(eStructuralFeature))
- //FB The above check excludes subsitition groups - i.e., doesn't support dObj.get("element.substitution")
- if (FeatureMapUtil.isFeatureMap(eStructuralFeature))
- {
- List features = (List)dataObject.eGet(eStructuralFeature);
- for (int j = 0, size = features.size(); j < size; ++j)
- {
- FeatureMap.Entry entry = (FeatureMap.Entry)features.get(j);
- EStructuralFeature entryFeature = entry.getEStructuralFeature();
- if (openFeatureSet.add(entryFeature))
- {
- Property property = BasicSequence.getFeatureProperty(entryFeature);
- if (property != null)
- {
- if (property.getName().equals(featureName)) return (Property)entryFeature;
- List aliasNames = property.getAliasNames();
- for (int aliasCount = aliasNames.size(); aliasCount > 0; )
- {
- if (aliasNames.get(--aliasCount).equals(featureName)) return (Property)entryFeature;
- }
- }
- }
- }
- }
- }
-
- return null;
- }
-
- /*
- public Property getOpenProperty(DataObject dataObject, String featureName)
- {
- EObject eObject = (EObject)dataObject;
- EClass eClass = eObject.eClass();
- Set openFeatureSet = new HashSet();
- for (int i = 0, count = eClass.getEAllStructuralFeatures().size(); i < count; ++i)
- {
- EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
- if (FeatureMapUtil.isFeatureMap(eStructuralFeature))
- {
- List features = (List)eObject.eGet(eStructuralFeature);
- for (int j = 0, size = features.size(); j < size; ++j)
- {
- FeatureMap.Entry entry = (FeatureMap.Entry)features.get(j);
- EStructuralFeature entryFeature = entry.getEStructuralFeature();
- if (openFeatureSet.add(entryFeature))
- {
- Property property = (Property)entryFeature;
- if (property.getName().equals(featureName)) return (Property)entryFeature;
-
- List aliasNames = property.getAliasNames();
- for (int aliasCount = aliasNames.size(); aliasCount > 0; )
- {
- if (aliasNames.get(--aliasCount).equals(featureName)) return (Property)entryFeature;
- }
- }
- }
- }
- }
- return null;
- }
- */
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getBaseTypes()
- {
- return getESuperTypes();
- }
-
- private void initAliasNames() {
- Map result = new HashMap();
- for (Iterator i = getProperties().iterator(); i.hasNext();)
- {
- Property property = (Property)i.next();
- result.put(property.getName(), property);
-
- List aliasNames = property.getAliasNames();
- for (int count = aliasNames.size(); count > 0;)
- {
- result.put(aliasNames.get(--count), property);
- }
- }
- propertyNameToPropertyMap = result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getProperty(String propertyName)
- {
- if (propertyNameToPropertyMap == null) initAliasNames();
- Property property = (Property)propertyNameToPropertyMap.get(propertyName);
- if (property == null && !isOpen()) {
- initAliasNames();
- property = (Property)propertyNameToPropertyMap.get(propertyName);
- }
- return property;
- }
-
- protected Map propertyNameToPropertyMap;
-
- public List getInstanceProperties() {
- return DataObjectUtil.getMetaObjectInstanceProperties(this);
- }
-
- public Object get(Property property) {
- return DataObjectUtil.getMetaObjectInstanceProperty(this, property);
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // org.apache.tuscany.sdo.model.Type method implementations
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- public List getBaseType() {
- return this.getBaseTypes();
- }
-
- public List getProperty() {
- return this.getProperties();
- }
-
- public List getAliasName() {
- return this.getAliasNames();
- }
-
- public void unsetAbstract() {
- eUnset(EcorePackage.eINSTANCE.getEClass_Abstract());
- }
-
- public boolean isSetAbstract() {
- return eIsSet(EcorePackage.eINSTANCE.getEClass_Abstract());
- }
-
- public Sequence getAny() {
- throw new UnsupportedOperationException();
- }
-
- public Sequence getAnyAttribute() {
- throw new UnsupportedOperationException();
- }
-
- public void setDataType(boolean value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void unsetDataType() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetDataType() {
- return false;
- }
-
- public void setOpen(boolean value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void unsetOpen() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetOpen() {
- return isOpen();
- }
-
- public void setSequenced(boolean value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void unsetSequenced() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetSequenced() {
- return isSequenced();
- }
-
- public void unsetName()
- {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetName()
- {
- return true;
- }
-
- public void unsetUri()
- {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetUri()
- {
- return true;
- }
-
- public void setUri(String value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public String getUri() {
- return getURI();
- }
-
- public Property getChangeSummaryProperty() {
- if (changeSummaryPropertyCache == UNINITIALIZED_PROPERTY) {
- changeSummaryPropertyCache = null;
-
- // Find property of type ChangeSummaryType, if one exists
- Type csType = ((ModelFactoryImpl)ModelFactory.INSTANCE).getChangeSummaryType();
- for (Iterator props = getProperties().iterator(); props.hasNext(); ) {
- Property p = (Property)props.next();
- if(csType == p.getType()) {
- changeSummaryPropertyCache = p;
- break;
- }
- }
- }
-
- return changeSummaryPropertyCache;
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // DataObject method implementations
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- public Object get(int propertyIndex) {
- return DataObjectUtil.get(this, propertyIndex);
- }
-
- public void set(int propertyIndex, Object value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSet(int propertyIndex) {
- return DataObjectUtil.isSet(this, propertyIndex);
- }
-
- public void unset(int propertyIndex) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public Object get(Property property) {
- return DataObjectUtil.get(this, ((EStructuralFeature)property).getFeatureID());
- }
-
- public void set(Property property, Object value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSet(Property property) {
- return DataObjectUtil.isSet(this, ((EStructuralFeature)property).getFeatureID());
- }
-
- public void unset(Property property) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject getContainer() {
- return (DataObject)eContainer();
- }
-
- public Property getContainmentProperty() {
- return (Property)eContainmentFeature();
- }
-
- public Type getType() {
- return (Type)ModelPackageImpl.eINSTANCE.getType();
- }
-
- // Remaining DataObject methods are (will be) implemented as straight delegation to DataObjectUtil
-
- public Object get(String path) {
- return DataObjectUtil.get(this, path);
- }
-
- public void set(String path, Object value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSet(String path) {
- return DataObjectUtil.isSet(this, path);
- }
-
- public void unset(String path) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean getBoolean(String path) {
- return DataObjectUtil.getBoolean(get(path));
- }
-
- public byte getByte(String path) {
- return DataObjectUtil.getByte(get(path));
- }
-
- public char getChar(String path) {
- return DataObjectUtil.getChar(get(path));
- }
-
- public double getDouble(String path) {
- return DataObjectUtil.getDouble(get(path));
- }
-
- public float getFloat(String path) {
- return DataObjectUtil.getFloat(get(path));
- }
-
- public int getInt(String path) {
- return DataObjectUtil.getInt(get(path));
- }
-
- public long getLong(String path) {
- return DataObjectUtil.getLong(get(path));
- }
-
- public short getShort(String path) {
- return DataObjectUtil.getShort(get(path));
- }
-
- public byte[] getBytes(String path) {
- return DataObjectUtil.getBytes(get(path));
- }
-
- public BigDecimal getBigDecimal(String path) {
- return DataObjectUtil.getBigDecimal(get(path));
- }
-
- public BigInteger getBigInteger(String path) {
- return DataObjectUtil.getBigInteger(get(path));
- }
-
- public DataObject getDataObject(String path) {
- return (DataObject)get(path);
- }
-
- public Date getDate(String path) {
- return DataObjectUtil.getDate(get(path));
- }
-
- public String getString(String path) {
- return DataObjectUtil.getString(get(path));
- }
-
- public List getList(String path) {
- return (List)get(path);
- }
-
- public Sequence getSequence(String path) {
- return (Sequence)get(path);
- }
-
- public void setBoolean(String path, boolean value) {
- set(path, new Boolean(value));
- }
-
- public void setByte(String path, byte value) {
- set(path, new Byte(value));
- }
-
- public void setChar(String path, char value) {
- set(path, new Character(value));
- }
-
- public void setDouble(String path, double value) {
- set(path, new Double(value));
- }
-
- public void setFloat(String path, float value) {
- set(path, new Float(value));
- }
-
- public void setInt(String path, int value) {
- set(path, new Integer(value));
- }
-
- public void setLong(String path, long value) {
- set(path, new Long(value));
- }
-
- public void setShort(String path, short value) {
- set(path, new Short(value));
- }
-
- public void setBytes(String path, byte[] value) {
- set(path, value);
- }
-
- public void setBigDecimal(String path, BigDecimal value) {
- set(path, value);
- }
-
- public void setBigInteger(String path, BigInteger value) {
- set(path, value);
- }
-
- public void setDataObject(String path, DataObject value) {
- set(path, value);
- }
-
- public void setDate(String path, Date value) {
- set(path, value);
- }
-
- public void setString(String path, String value) {
- set(path, value);
- }
-
- public void setList(String path, List value) {
- set(path, value);
- }
-
- public boolean getBoolean(int propertyIndex) {
- return DataObjectUtil.getBoolean(this, propertyIndex);
- }
-
- public byte getByte(int propertyIndex) {
- return DataObjectUtil.getByte(this, propertyIndex);
- }
-
- public char getChar(int propertyIndex) {
- return DataObjectUtil.getChar(this, propertyIndex);
- }
-
- public double getDouble(int propertyIndex) {
- return DataObjectUtil.getDouble(this, propertyIndex);
- }
-
- public float getFloat(int propertyIndex) {
- return DataObjectUtil.getFloat(this, propertyIndex);
- }
-
- public int getInt(int propertyIndex) {
- return DataObjectUtil.getInt(this, propertyIndex);
- }
-
- public long getLong(int propertyIndex) {
- return DataObjectUtil.getLong(this, propertyIndex);
- }
-
- public short getShort(int propertyIndex) {
- return DataObjectUtil.getShort(this, propertyIndex);
- }
-
- public byte[] getBytes(int propertyIndex) {
- return DataObjectUtil.getBytes(this, propertyIndex);
- }
-
- public BigDecimal getBigDecimal(int propertyIndex) {
- return DataObjectUtil.getBigDecimal(this, propertyIndex);
- }
-
- public BigInteger getBigInteger(int propertyIndex) {
- return DataObjectUtil.getBigInteger(this, propertyIndex);
- }
-
- public DataObject getDataObject(int propertyIndex) {
- return DataObjectUtil.getDataObject(this, propertyIndex);
- }
-
- public Date getDate(int propertyIndex) {
- return DataObjectUtil.getDate(this, propertyIndex);
- }
-
- public String getString(int propertyIndex) {
- return DataObjectUtil.getString(this, propertyIndex);
- }
-
- public List getList(int propertyIndex) {
- return DataObjectUtil.getList(this, propertyIndex);
- }
-
- public Sequence getSequence(int propertyIndex) {
- return DataObjectUtil.getSequence(this, propertyIndex);
- }
-
- public void setBoolean(int propertyIndex, boolean value) {
- set(propertyIndex, new Boolean(value));
- }
-
- public void setByte(int propertyIndex, byte value) {
- set(propertyIndex, new Byte(value));
- }
-
- public void setChar(int propertyIndex, char value) {
- set(propertyIndex, new Character(value));
- }
-
- public void setDouble(int propertyIndex, double value) {
- set(propertyIndex, new Double(value));
- }
-
- public void setFloat(int propertyIndex, float value) {
- set(propertyIndex, new Float(value));
- }
-
- public void setInt(int propertyIndex, int value) {
- set(propertyIndex, new Integer(value));
- }
-
- public void setLong(int propertyIndex, long value) {
- set(propertyIndex, new Long(value));
- }
-
- public void setShort(int propertyIndex, short value) {
- set(propertyIndex, new Short(value));
- }
-
- public void setBytes(int propertyIndex, byte[] value) {
- set(propertyIndex, value);
- }
-
- public void setBigDecimal(int propertyIndex, BigDecimal value) {
- set(propertyIndex, value);
- }
-
- public void setBigInteger(int propertyIndex, BigInteger value) {
- set(propertyIndex, value);
- }
-
- public void setDataObject(int propertyIndex, DataObject value) {
- set(propertyIndex, value);
- }
-
- public void setDate(int propertyIndex, Date value) {
- set(propertyIndex, value);
- }
-
- public void setString(int propertyIndex, String value) {
- set(propertyIndex, value);
- }
-
- public void setList(int propertyIndex, List value) {
- set(propertyIndex, value);
- }
-
- public boolean getBoolean(Property property) {
- return DataObjectUtil.getBoolean(this, property);
- }
-
- public byte getByte(Property property) {
- return DataObjectUtil.getByte(this, property);
- }
-
- public char getChar(Property property) {
- return DataObjectUtil.getChar(this, property);
- }
-
- public double getDouble(Property property) {
- return DataObjectUtil.getDouble(this, property);
- }
-
- public float getFloat(Property property) {
- return DataObjectUtil.getFloat(this, property);
- }
-
- public int getInt(Property property) {
- return DataObjectUtil.getInt(this, property);
- }
-
- public long getLong(Property property) {
- return DataObjectUtil.getLong(this, property);
- }
-
- public short getShort(Property property) {
- return DataObjectUtil.getShort(this, property);
- }
-
- public byte[] getBytes(Property property) {
- return DataObjectUtil.getBytes(this, property);
- }
-
- public BigDecimal getBigDecimal(Property property) {
- return DataObjectUtil.getBigDecimal(this, property);
- }
-
- public BigInteger getBigInteger(Property property) {
- return DataObjectUtil.getBigInteger(this, property);
- }
-
- public DataObject getDataObject(Property property) {
- return DataObjectUtil.getDataObject(this, property);
- }
-
- public Date getDate(Property property) {
- return DataObjectUtil.getDate(this, property);
- }
-
- public String getString(Property property) {
- return DataObjectUtil.getString(this, property);
- }
-
- public List getList(Property property) {
- return DataObjectUtil.getList(this, property);
- }
-
- public Sequence getSequence(Property property) {
- return DataObjectUtil.getSequence(this, property);
- }
-
- public void setBoolean(Property property, boolean value) {
- set(property, new Boolean(value));
- }
-
- public void setByte(Property property, byte value) {
- set(property, new Byte(value));
- }
-
- public void setChar(Property property, char value) {
- set(property, new Character(value));
- }
-
- public void setDouble(Property property, double value) {
- set(property, new Double(value));
- }
-
- public void setFloat(Property property, float value) {
- set(property, new Float(value));
- }
-
- public void setInt(Property property, int value) {
- set(property, new Integer(value));
- }
-
- public void setLong(Property property, long value) {
- set(property, new Long(value));
- }
-
- public void setShort(Property property, short value) {
- set(property, new Short(value));
- }
-
- public void setBytes(Property property, byte[] value) {
- set(property, value);
- }
-
- public void setBigDecimal(Property property, BigDecimal value) {
- set(property, value);
- }
-
- public void setBigInteger(Property property, BigInteger value) {
- set(property, value);
- }
-
- public void setDataObject(Property property, DataObject value) {
- set(property, value);
- }
-
- public void setDate(Property property, Date value) {
- set(property, value);
- }
-
- public void setString(Property property, String value) {
- set(property, value);
- }
-
- public void setList(Property property, List value) {
- set(property, value);
- }
-
- public DataObject createDataObject(String propertyName) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(String propertyName, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property, Type type) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void delete() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataGraph getDataGraph() {
- return DataObjectUtil.getDataGraph(this);
- }
-
- public Sequence getSequence() {
- EAttribute mixedFeature = BasicExtendedMetaData.INSTANCE.getMixedFeature(eClass());
- return mixedFeature != null ? (Sequence)eGet(mixedFeature, true, false) : null;
- }
-
- public List getInstanceProperties() {
- return DataObjectUtil.getInstanceProperties(this);
- }
-
- public DataObject getRootObject() {
- return DataObjectUtil.getRootObject(this);
- }
-
- public ChangeSummary getChangeSummary() {
- // TODO: implement this method
- throw new UnsupportedOperationException();
- }
-
- public void detach() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- //DataObjectUtil.detach(this);
- }
- */
-
-} //ClassTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataGraphImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataGraphImpl.java
deleted file mode 100644
index d61b7fd05e..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataGraphImpl.java
+++ /dev/null
@@ -1,852 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-import org.apache.tuscany.sdo.lib.SDOObjectInputStream;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>EData Graph</b></em>'.
- * @extends DataGraph, Adapter, Serializable
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.impl.DataGraphImpl#getResourceSet <em>Resource Set</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.impl.DataGraphImpl#getRootResource <em>Root Resource</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.impl.DataGraphImpl#getEChangeSummary <em>EChange Summary</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.impl.DataGraphImpl#getERootObject <em>ERoot Object</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DataGraphImpl extends EObjectImpl implements DataGraph, Adapter, Serializable
-{
- /**
- * The default value of the '{@link #getResourceSet() <em>Resource Set</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getResourceSet()
- * @generated
- * @ordered
- */
- protected static final ResourceSet RESOURCE_SET_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getResourceSet() <em>Resource Set</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getResourceSet()
- * @generated
- * @ordered
- */
- protected ResourceSet resourceSet = RESOURCE_SET_EDEFAULT;
-
- /**
- * The default value of the '{@link #getRootResource() <em>Root Resource</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRootResource()
- * @generated
- * @ordered
- */
- protected static final Resource ROOT_RESOURCE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getEChangeSummary() <em>EChange Summary</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getEChangeSummary()
- * @generated
- * @ordered
- */
- protected ChangeSummary eChangeSummary = null;
-
- /**
- * The cached value of the '{@link #getERootObject() <em>ERoot Object</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getERootObject()
- * @generated
- * @ordered
- */
- protected EObject eRootObject = null;
-
- /**
- * The cached extended metadata to wrap the resource set's package registry.
- */
- protected ExtendedMetaData extendedMetaData;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DataGraphImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getDataGraph();
- }
-
- public boolean isAdapterForType(Object type)
- {
- return type == DataGraph.class;
- }
-
- public void notifyChanged(Notification msg)
- {
- }
-
- public Notifier getTarget()
- {
- return getResourceSet();
- }
-
- public void setTarget(Notifier newTarget)
- {
- }
-
- protected ExtendedMetaData getExtendedMetaData()
- {
- if (extendedMetaData == null)
- {
- getResourceSet();
- }
- return extendedMetaData;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public ResourceSet getResourceSet()
- {
- if (resourceSet == null)
- {
- if (eResource() != null)
- {
- resourceSet = eResource().getResourceSet();
- }
- if (resourceSet == null)
- {
- resourceSet = createResourceSet();
- }
- initializeResourceSet(resourceSet);
- }
- return resourceSet;
- }
-
- protected ResourceSet createResourceSet()
- {
- return DataObjectUtil.createResourceSet();
- }
-
- protected Resource createRootResource()
- {
- Resource result = resourceSet.createResource(URI.createURI("root.xml"));
- result.getContents().clear();
- return result;
- }
-
- protected Resource createChangeSummaryResource()
- {
- Resource result = resourceSet.createResource(URI.createURI("change-summary.xml"));
- result.getContents().clear();
- return result;
- }
-
- protected void initializeResourceSet(ResourceSet resourceSet)
- {
- if (resourceSet == null)
- {
- extendedMetaData = null;
- }
- else
- {
- extendedMetaData = new BasicExtendedMetaData(resourceSet.getPackageRegistry());
- resourceSet.eAdapters().add(this);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setResourceSetGen(ResourceSet newResourceSet)
- {
- ResourceSet oldResourceSet = resourceSet;
- resourceSet = newResourceSet;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.DATA_GRAPH__RESOURCE_SET, oldResourceSet, resourceSet));
- }
-
- public void setResourceSet(ResourceSet newResourceSet)
- {
- if (resourceSet != null)
- {
- resourceSet.eAdapters().remove(this);
- }
- setResourceSetGen(newResourceSet);
- initializeResourceSet(newResourceSet);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Resource getRootResource()
- {
- if (eRootObject == null)
- {
- Resource result = getResourceSet().getResource(URI.createURI("root.xml"), false);
- if (result == null)
- {
- result = createRootResource();
- }
-
- return result;
- }
- else
- {
- return eRootObject.eResource();
- }
- }
-
- public Resource getDataGraphResource()
- {
- Resource result = eResource();
- if (result == null)
- {
- result = getResourceSet().createResource(URI.createURI("all.datagraph"));
- result.getContents().add(this);
- }
- return result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeSummary getEChangeSummary()
- {
- return eChangeSummary;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetEChangeSummary(ChangeSummary newEChangeSummary, NotificationChain msgs)
- {
- ChangeSummary oldEChangeSummary = eChangeSummary;
- eChangeSummary = newEChangeSummary;
- if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY, oldEChangeSummary, newEChangeSummary);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setEChangeSummary(ChangeSummary newEChangeSummary)
- {
- if (newEChangeSummary != eChangeSummary)
- {
- NotificationChain msgs = null;
- if (eChangeSummary != null)
- msgs = ((InternalEObject)eChangeSummary).eInverseRemove(this, SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH, ChangeSummary.class, msgs);
- if (newEChangeSummary != null)
- msgs = ((InternalEObject)newEChangeSummary).eInverseAdd(this, SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH, ChangeSummary.class, msgs);
- msgs = basicSetEChangeSummary(newEChangeSummary, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY, newEChangeSummary, newEChangeSummary));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject getERootObject()
- {
- return eRootObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setERootObjectGen(EObject newERootObject)
- {
- EObject oldERootObject = eRootObject;
- eRootObject = newERootObject;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.DATA_GRAPH__EROOT_OBJECT, oldERootObject, eRootObject));
- }
-
- public void setERootObject(EObject newERootObject)
- {
- // If there is a resource set already...
- //
- if (resourceSet != null)
- {
- // Get the root resource and if there's a root object in it already, clear it.
- // Then set the root object and add it to the root resource.
- //
- List contents = getRootResource().getContents();
- if (eRootObject != null)
- {
- contents.clear();
- }
- setERootObjectGen(newERootObject);
- if (newERootObject != null)
- {
- contents.add(newERootObject);
- }
- }
- else
- {
- // Set the root object and see if it has a resource we can reuse.
- //
- setERootObjectGen(newERootObject);
- Resource rootResource = newERootObject.eResource();
- if (rootResource != null)
- {
- // If there is no resource set
- //
- if (rootResource.getResourceSet() == null)
- {
- // Demand create one and add this resource to it.
- //
- getResourceSet().getResources().add(rootResource);
- }
- else
- {
- // Reuse the existing resource set.
- //
- setResourceSet(rootResource.getResourceSet());
- }
- }
- else
- {
- // Demand create the resource set and the root resource, and add to it's contents.
- //
- getResourceSet();
- createRootResource().getContents().add(newERootObject);
- }
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public EClassifier getEClassifier(String namespaceURI, String typeName)
- {
- ExtendedMetaData extendedMetaData = getExtendedMetaData();
- EPackage ePackage = extendedMetaData.getPackage(namespaceURI);
- if (ePackage != null)
- {
- EClassifier eClassifier = ePackage.getEClassifier(typeName);
- if (eClassifier == null)
- {
- eClassifier = extendedMetaData.getType(ePackage, typeName);
- }
- return eClassifier;
- }
- else
- {
- return null;
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Type getType(String namespaceURI, String typeName)
- {
- return TypeHelper.INSTANCE.getType(namespaceURI, typeName);
- //EClassifier eClassifier = getEClassifier(namespaceURI, typeName);
- //return eClassifier == null ? null : SDOUtil.getType(eClassifier);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
- {
- if (featureID >= 0)
- {
- switch (eDerivedStructuralFeatureID(featureID, baseClass))
- {
- case SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY:
- if (eChangeSummary != null)
- msgs = ((InternalEObject)eChangeSummary).eInverseRemove(this, SDOPackage.CHANGE_SUMMARY__EDATA_GRAPH, ChangeSummary.class, msgs);
- return basicSetEChangeSummary((ChangeSummary)otherEnd, msgs);
- default:
- return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
- }
- }
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return eBasicSetContainer(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
- {
- if (featureID >= 0)
- {
- switch (eDerivedStructuralFeatureID(featureID, baseClass))
- {
- case SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY:
- return basicSetEChangeSummary(null, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case SDOPackage.DATA_GRAPH__RESOURCE_SET:
- return getResourceSet();
- case SDOPackage.DATA_GRAPH__ROOT_RESOURCE:
- return getRootResource();
- case SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY:
- return getEChangeSummary();
- case SDOPackage.DATA_GRAPH__EROOT_OBJECT:
- return getERootObject();
- }
- return eDynamicGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case SDOPackage.DATA_GRAPH__RESOURCE_SET:
- setResourceSet((ResourceSet)newValue);
- return;
- case SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY:
- setEChangeSummary((ChangeSummary)newValue);
- return;
- case SDOPackage.DATA_GRAPH__EROOT_OBJECT:
- setERootObject((EObject)newValue);
- return;
- }
- eDynamicSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.DATA_GRAPH__RESOURCE_SET:
- setResourceSet(RESOURCE_SET_EDEFAULT);
- return;
- case SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY:
- setEChangeSummary((ChangeSummary)null);
- return;
- case SDOPackage.DATA_GRAPH__EROOT_OBJECT:
- setERootObject((EObject)null);
- return;
- }
- eDynamicUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.DATA_GRAPH__RESOURCE_SET:
- return RESOURCE_SET_EDEFAULT == null ? resourceSet != null : !RESOURCE_SET_EDEFAULT.equals(resourceSet);
- case SDOPackage.DATA_GRAPH__ROOT_RESOURCE:
- return ROOT_RESOURCE_EDEFAULT == null ? getRootResource() != null : !ROOT_RESOURCE_EDEFAULT.equals(getRootResource());
- case SDOPackage.DATA_GRAPH__ECHANGE_SUMMARY:
- return eChangeSummary != null;
- case SDOPackage.DATA_GRAPH__EROOT_OBJECT:
- return eRootObject != null;
- }
- return eDynamicIsSet(featureID);
- }
-
- public DataObject createEDataObject(Type type)
- {
- return DataObjectUtil.create(type);
- }
-
- public DataObject getRootObject()
- {
- return (DataObject)getERootObject();
- }
-
- public DataObject createRootObject(String namespaceURI, String typeName)
- {
- Type type = getType(namespaceURI, typeName);
- if (type == null) {
- throw new IllegalArgumentException(
- "createRootObject given invalid parameters: getType("+
- namespaceURI+", "+typeName+") returned null type");
- }
- if (getERootObject() != null) {
- throw new IllegalStateException(
- "createRootObject was called when a root object already exists");
- }
- DataObject dataObject = DataObjectUtil.create(type);
- setERootObject((EObject)dataObject);
- return dataObject;
- }
-
- public DataObject createRootObject(Type type)
- {
- if (type == null) {
- throw new IllegalArgumentException(
- "createRootObject must be provided a non-null type");
- }
- if (getERootObject() != null) {
- throw new IllegalStateException(
- "createRootObject was called when a root object already exists");
- }
- DataObject dataObject = DataObjectUtil.create(type);
- setERootObject((EObject)dataObject);
- return dataObject;
- }
-
- public ChangeSummary getChangeSummary()
- {
- //FB is this the right place to create the resources?
- ChangeSummary changeSummary = getEChangeSummary();
- if (changeSummary == null)
- {
- getRootResource();
- changeSummary = createEChangeSummary();
- setEChangeSummary(changeSummary);
- }
-
- if (((ChangeSummaryImpl)changeSummary).eResource() == null)
- {
- Resource changeSummaryResource = createChangeSummaryResource();
- changeSummaryResource.getContents().add(changeSummary);
- }
-
- return changeSummary;
- }
-
- protected ChangeSummaryImpl createEChangeSummary()
- {
- return (ChangeSummaryImpl)SDOFactory.eINSTANCE.createChangeSummary();
- }
-
- public static class EDataGraphExternalizable implements Externalizable
- {
- protected DataGraphImpl eDataGraph;
- //protected Map writeReplacements = new HashMap();
-
- public EDataGraphExternalizable()
- {
- }
-
- public EDataGraphExternalizable(DataGraphImpl eDataGraph)
- {
- this.eDataGraph = eDataGraph;
- }
-
- public void writeExternal(ObjectOutput objectOutput) throws IOException
- {
- ByteArrayOutputStream byteArrayOutputStream =
- new ByteArrayOutputStream()
- {
- public byte [] toByteArray()
- {
- return super.toByteArray();
- }
- };
-
- eDataGraph.getDataGraphResource().save(byteArrayOutputStream, null);
- objectOutput.writeInt(byteArrayOutputStream.toByteArray().length);
- objectOutput.write(byteArrayOutputStream.toByteArray());
- }
-
- public void readExternal(ObjectInput objectInput) throws IOException
- {
- int length = objectInput.readInt();
- byte [] bytes = new byte [length];
- objectInput.readFully(bytes);
-
- ResourceSet resourceSet = createResourceSet();
- Resource resource = resourceSet.createResource(URI.createURI("all.datagraph"));
-
- HashMap map = null;
- if(objectInput instanceof SDOObjectInputStream)
- {
- TypeHelperImpl th = (TypeHelperImpl)((SDOObjectInputStream)objectInput).getHelperContext().getTypeHelper();
- map = new HashMap();
- map.put("EXTENDED_META_DATA", th.getExtendedMetaData());
- }
- resource.load(new ByteArrayInputStream(bytes), map);
- eDataGraph = (DataGraphImpl)resource.getContents().get(0);
- }
-
- protected ResourceSet createResourceSet()
- {
- return DataObjectUtil.createResourceSet();
- }
-
- /*
- public Object getWriteReplacement(EObject eObject)
- {
- Object result = writeReplacements.get(eObject);
- if (result == null)
- {
- result = new EDataObjectExternalizable(eDataGraph, eObject);
- writeReplacements.put(eObject, result);
- }
- return result;
- }
- */
-
- protected Object readResolve()
- {
- return eDataGraph;
- }
- }
-
- /*
- public static class EDataObjectExternalizable implements Externalizable
- {
- protected EObject eObject;
- protected DataGraphImpl eDataGraph;
-
- public EDataObjectExternalizable()
- {
- }
-
- public EDataObjectExternalizable(DataGraphImpl eDataGraph, EObject eObject)
- {
- this.eDataGraph = eDataGraph;
- this.eObject = eObject;
- }
-
- public void writeExternal(ObjectOutput objectOutput) throws IOException
- {
- // Write the data object reference too.
- String uri = eObject.eResource().getURIFragment(eObject);
- objectOutput.writeUTF(uri);
- objectOutput.writeObject(eDataGraph.getWriteReplacement());
- }
-
- public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException
- {
- String uri = objectInput.readUTF();
- eDataGraph = (DataGraphImpl)objectInput.readObject();
- eObject = eDataGraph.getRootResource().getEObject(uri);
- }
-
- protected Object readResolve()
- {
- return eObject;
- }
- }
- */
-
- protected EDataGraphExternalizable eDataGraphExternalizable;
- //protected Adapter modificationTracker;
-
- public Object getWriteReplacement()
- {
- if (eDataGraphExternalizable == null)
- {
- eDataGraphExternalizable = createEDataGraphExternalizable();
- /*
- getRootResource().setTrackingModification(true);
- modificationTracker =
- new AdapterImpl()
- {
- public void notifyChanged(Notification notification)
- {
- if (notification.getFeatureID(Resource.class) == Resource.RESOURCE__IS_MODIFIED && notification.getNewBooleanValue())
- {
- eDataGraphExternalizable = null;
- modificationTracker = null;
- ((Resource)target).eAdapters().remove(this);
- }
- }
- };
- getRootResource().eAdapters().add(modificationTracker);
- */
- }
- return eDataGraphExternalizable;
- }
-
- protected EDataGraphExternalizable createEDataGraphExternalizable()
- {
- return new EDataGraphExternalizable(this);
- }
-
- /*
- public Object getWriteReplacement(EObject eObject)
- {
- return ((EDataGraphExternalizable)getWriteReplacement()).getWriteReplacement(eObject);
- }
- */
-
- public Object writeReplace()
- {
- return getWriteReplacement();
- }
-
- public EObject eObjectForURIFragmentSegment(String uriFragmentSegment)
- {
- if (uriFragmentSegment.startsWith("@models."))
- {
- if (resourceSet != null)
- {
- int count = Integer.parseInt(uriFragmentSegment.substring(8));
- for (Iterator i = resourceSet.getResources().iterator(); i.hasNext(); )
- {
- Resource ePackageResource = (Resource)i.next();
- List resourceContents = ePackageResource.getContents();
- if (resourceContents.size() == 1 && resourceContents.get(0) instanceof EPackage && count-- == 0)
- {
- return (EObject)resourceContents.get(0);
- }
- }
- }
-
- return null;
- }
- else
- {
- return super.eObjectForURIFragmentSegment(uriFragmentSegment);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (resourceSet: ");
- result.append(resourceSet);
- result.append(')');
- return result.toString();
- }
-
-} //EDataGraphImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java
deleted file mode 100644
index 34216bc1e2..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java
+++ /dev/null
@@ -1,536 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-
-import java.util.List;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.helper.HelperContextImpl;
-import org.apache.tuscany.sdo.util.BasicSequence;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecore.EStructuralFeature.Internal.SettingDelegate;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicFeatureMap;
-import org.eclipse.emf.ecore.util.EDataTypeEList;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.EObjectEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.emf.ecore.util.EObjectWithInverseEList;
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-
-/**
- * Base implementation of the SDO DataObject interface. Used as base class for generated (static) SDO classes
- */
-public abstract class DataObjectBase extends ExtensibleDataObjectImpl
-{
-
- protected int OPPOSITE_FEATURE_BASE = EOPPOSITE_FEATURE_BASE;
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Following methods should be proposed SPI for generated subclasses to use
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- protected boolean isNotifying()
- {
- return changeRecorder != null;
- }
-
- protected interface ChangeKind
- {
- int SET = Notification.SET;
- int UNSET = Notification.UNSET;
- int RESOLVE = Notification.RESOLVE;
- }
-
- /**
- * notify methods for types: boolean, byte, char, double, float, int, long, short, and Object
- */
-
- protected void notify(int changeKind, int property, boolean oldBooleanValue, boolean newBooleanValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldBooleanValue, newBooleanValue));
- }
-
- protected void notify(int changeKind, int property, boolean oldBooleanValue, boolean newBooleanValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldBooleanValue, newBooleanValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, byte oldByteValue, byte newByteValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldByteValue, newByteValue));
- }
-
- protected void notify(int changeKind, int property, byte oldByteValue, byte newByteValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldByteValue, newByteValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, char oldCharValue, char newCharValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldCharValue, newCharValue));
- }
-
- protected void notify(int changeKind, int property, char oldCharValue, char newCharValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldCharValue, newCharValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, double oldDoubleValue, double newDoubleValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldDoubleValue, newDoubleValue));
- }
-
- protected void notify(int changeKind, int property, double oldDoubleValue, double newDoubleValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldDoubleValue, newDoubleValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, float oldFloatValue, float newFloatValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldFloatValue, newFloatValue));
- }
-
- protected void notify(int changeKind, int property, float oldFloatValue, float newFloatValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldFloatValue, newFloatValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, int oldIntValue, int newIntValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldIntValue, newIntValue));
- }
-
- protected void notify(int changeKind, int property, int oldIntValue, int newIntValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldIntValue, newIntValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, long oldLongValue, long newLongValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldLongValue, newLongValue));
- }
-
- protected void notify(int changeKind, int property, long oldLongValue, long newLongValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldLongValue, newLongValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, short oldShortValue, short newShortValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldShortValue, newShortValue));
- }
-
- protected void notify(int changeKind, int property, short oldShortValue, short newShortValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldShortValue, newShortValue, isSetChange));
- }
-
- protected void notify(int changeKind, int property, Object oldValue, Object newValue)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldValue, newValue));
- }
-
- protected void notify(int changeKind, int property, Object oldValue, Object newValue, boolean isSetChange)
- {
- eNotify(new ENotificationImpl(this, Notification.SET, property, oldValue, newValue, isSetChange));
- }
-
- public interface ListKind
- {
- int CONTAINMENT = 0;
- int CONTAINMENT_UNSETTABLE = 1;
- int CONTAINMENT_RESOLVING = 2;
- int CONTAINMENT_RESOLVING_UNSETTABLE = 3;
- int CONTAINMENT_INVERSE = 4;
- int CONTAINMENT_INVERSE_UNSETTABLE = 5;
- int CONTAINMENT_INVERSE_RESOLVING = 6;
- int CONTAINMENT_INVERSE_RESOLVING_UNSETTABLE = 7;
-
- int NONCONTAINMENT = 8;
- int NONCONTAINMENT_UNSETTABLE = 9;
- int NONCONTAINMENT_RESOLVING = 10;
- int NONCONTAINMENT_RESOLVING_UNSETTABLE = 11;
- int NONCONTAINMENT_INVERSE = 12;
- int NONCONTAINMENT_INVERSE_UNSETTABLE = 13;
- int NONCONTAINMENT_MANYINVERSE = 14;
- int NONCONTAINMENT_MANYINVERSE_UNSETTABLE = 15;
- int NONCONTAINMENT_INVERSE_RESOLVING = 16;
- int NONCONTAINMENT_INVERSE_RESOLVING_UNSETTABLE = 17;
- int NONCONTAINMENT_MANYINVERSE_RESOLVING = 18;
- int NONCONTAINMENT_MANYINVERSE_RESOLVING_UNSETTABLE = 19;
-
- int DATATYPE = 20;
- int DATATYPE_UNSETTABLE = 21;
- int DATATYPE_UNIQUE = 22;
- int DATATYPE_UNIQUE_UNSETTABLE = 23;
-
- int BASIC = 24;
- }
-
- /**
- * @deprecated
- */
- protected List createPropertyList(int listKind, Class dataClass, int property)
- {
- return createPropertyList(listKind, dataClass, property, 0);
- }
-
- protected List createPropertyList(int listKind, Class dataClass, int property, int reverseProperty)
- {
- switch (listKind)
- {
- case ListKind.CONTAINMENT:
- return new EObjectContainmentEList(dataClass, this, property);
- case ListKind.CONTAINMENT_INVERSE_RESOLVING_UNSETTABLE:
- return new EObjectContainmentWithInverseEList.Unsettable.Resolving(dataClass, this, property, reverseProperty);
- case ListKind.CONTAINMENT_INVERSE_RESOLVING:
- return new EObjectContainmentWithInverseEList.Resolving(dataClass, this, property, reverseProperty);
- case ListKind.CONTAINMENT_INVERSE_UNSETTABLE:
- return new EObjectContainmentWithInverseEList.Unsettable(dataClass, this, property, reverseProperty);
- case ListKind.CONTAINMENT_INVERSE:
- return new EObjectContainmentWithInverseEList(dataClass, this, property, reverseProperty);
- case ListKind.CONTAINMENT_RESOLVING_UNSETTABLE:
- return new EObjectContainmentEList.Unsettable.Resolving(dataClass, this, property);
- case ListKind.CONTAINMENT_RESOLVING:
- return new EObjectContainmentEList.Resolving(dataClass, this, property);
- case ListKind.CONTAINMENT_UNSETTABLE:
- return new EObjectContainmentEList.Unsettable(dataClass, this, property);
- case ListKind.NONCONTAINMENT_MANYINVERSE_RESOLVING_UNSETTABLE:
- return new EObjectWithInverseResolvingEList.Unsettable.ManyInverse(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_MANYINVERSE_RESOLVING:
- return new EObjectWithInverseResolvingEList.ManyInverse(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_INVERSE_RESOLVING_UNSETTABLE:
- return new EObjectWithInverseResolvingEList.Unsettable(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_INVERSE_RESOLVING:
- return new EObjectWithInverseResolvingEList(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_MANYINVERSE_UNSETTABLE:
- return new EObjectWithInverseEList.Unsettable.ManyInverse(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_MANYINVERSE:
- return new EObjectWithInverseEList.ManyInverse(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_INVERSE_UNSETTABLE:
- return new EObjectWithInverseEList.Unsettable(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_INVERSE:
- return new EObjectWithInverseEList(dataClass, this, property, reverseProperty);
- case ListKind.NONCONTAINMENT_RESOLVING_UNSETTABLE:
- return new EObjectResolvingEList.Unsettable(dataClass, this, property);
- case ListKind.NONCONTAINMENT_RESOLVING:
- return new EObjectResolvingEList(dataClass, this, property);
- case ListKind.NONCONTAINMENT_UNSETTABLE:
- return new EObjectEList.Unsettable(dataClass, this, property);
- case ListKind.NONCONTAINMENT:
- return new EObjectEList(dataClass, this, property);
- case ListKind.DATATYPE_UNIQUE_UNSETTABLE:
- return new EDataTypeUniqueEList.Unsettable(dataClass, this, property);
- case ListKind.DATATYPE_UNIQUE:
- return new EDataTypeUniqueEList(dataClass, this, property);
- case ListKind.DATATYPE_UNSETTABLE:
- return new EDataTypeEList.Unsettable(dataClass, this, property);
- case ListKind.DATATYPE:
- return new EDataTypeEList(dataClass, this, property);
- }
- return null;
- }
-
- protected BasicSequence createSequence(int property) {
- return new BasicSequence(new BasicFeatureMap(this, property));
- }
-
- protected Sequence createSequence(Sequence sequence, Type type, int propertyIndex) {
- return new BasicSequence((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)sequence).featureMap().list(((EClass)type).getEStructuralFeature(propertyIndex)));
- }
-
- protected void createChangeSummary(int property) {
- ChangeSummaryImpl changeSummary = (ChangeSummaryImpl)SDOFactory.eINSTANCE.createChangeSummary();
- set(property, changeSummary);
- changeSummary.setDataObject(this);
- }
-
- /*
- * get the value of the type's property at propertyIndex via the sequence
- * @param seq
- * @param type
- * @param propertyIndex
- * @return
- */
- protected Object get(Sequence seq, Type type, int propertyIndex) {
- return ((FeatureMap.Internal.Wrapper)seq).featureMap().get(((EClass)type).getEStructuralFeature(propertyIndex), true);
- }
-
- protected List getList(Sequence seq, Type type, int propertyIndex) {
- return ((FeatureMap.Internal.Wrapper)seq).featureMap().list(((EClass)type).getEStructuralFeature(propertyIndex));
- }
-
- protected void set(Sequence seq, Type type, int propertyIndex, Object newValue) {
- ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)seq).featureMap()).set(((EClass)type).getEStructuralFeature(propertyIndex), newValue);
- }
-
- protected void unset(Sequence seq, Type type, int propertyIndex) {
- ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)seq).featureMap()).clear(((EClass)type).getEStructuralFeature(propertyIndex));
-
- }
- protected boolean isSet(Sequence seq, Type type, int propertyIndex) {
- return !((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)seq).featureMap()).isEmpty(((EClass)type).getEStructuralFeature(propertyIndex));
- }
-
- protected boolean isSequenceEmpty(Sequence sequence) {
- return ((FeatureMap.Internal.Wrapper)sequence).featureMap().isEmpty();
- }
-
- protected void setSequence(Sequence seq, Object newValue) {
- ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)seq).featureMap()).set(newValue);
- }
-
- protected void unsetSequence(Sequence seq) {
- ((FeatureMap.Internal.Wrapper)seq).featureMap().clear();
- }
-
- protected ChangeContext basicAdd(Sequence seq, Type type, int propertyIndex, Object newValue, ChangeContext changeContext) {
- ChangeContextImpl changeContextImpl = (ChangeContextImpl)changeContext;
- changeContextImpl.notificationChain = ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)seq).featureMap()).basicAdd(((EClass)type).getEStructuralFeature(propertyIndex), newValue, changeContextImpl.notificationChain);
- return changeContextImpl;
- }
-
- private ChangeContextImpl initializeChangeContext(ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl;
- if (changeContext == null)
- {
- changeContextImpl = new ChangeContextImpl(null);
- } else
- {
- changeContextImpl = (ChangeContextImpl)changeContext;
- }
- return changeContextImpl;
- }
-
- protected interface ChangeContext {}
-
-
- protected ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- changeContextImpl.notificationChain = super.eInverseRemove((InternalEObject)otherEnd, propertyIndex, changeContextImpl.notificationChain);
- return changeContextImpl;
- }
-
- protected ChangeContext inverseAdd(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- changeContextImpl.notificationChain = super.eInverseAdd((InternalEObject)otherEnd, propertyIndex, changeContextImpl.notificationChain);
- return changeContextImpl;
- }
-
- protected ChangeContext inverseRemove(Object thisEnd, Object otherEnd, int propertyIndex, Class baseClass, ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- changeContextImpl.notificationChain = ((InternalEObject)thisEnd).eInverseRemove((InternalEObject)otherEnd, propertyIndex, baseClass, changeContextImpl.notificationChain);
- return changeContextImpl;
- }
-
- protected ChangeContext inverseAdd(Object thisEnd, Object otherEnd, int propertyIndex, Class baseClass, ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- changeContextImpl.notificationChain = ((InternalEObject)thisEnd).eInverseAdd((InternalEObject)otherEnd, propertyIndex, baseClass, changeContextImpl.notificationChain);
- return changeContextImpl;
- }
-
- protected ChangeContext addNotification(Object notifier, int eventType, int featureID, Object oldValue, Object newValue, boolean isSetChanged, ChangeContext changeContext)
- {
- ENotificationImpl notification = new ENotificationImpl((InternalEObject)notifier, eventType, featureID, oldValue, newValue, isSetChanged );
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- if (changeContextImpl.notificationChain == null) changeContextImpl.notificationChain = notification; else changeContextImpl.notificationChain.add(notification);
- return changeContextImpl;
- }
-
- protected ChangeContext addNotification(Object notifier, int eventType, int featureID, Object oldValue, Object newValue, ChangeContext changeContext)
- {
- ENotificationImpl notification = new ENotificationImpl((InternalEObject)notifier, eventType, featureID, oldValue, newValue);
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- if (changeContextImpl.notificationChain == null) changeContextImpl.notificationChain = notification; else changeContextImpl.notificationChain.add(notification);
- return changeContextImpl;
- }
-
- protected ChangeContext removeFromList(List propertyList, Object objectToRemove, ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- changeContextImpl.notificationChain = ((InternalEList)propertyList).basicRemove(objectToRemove, changeContextImpl.notificationChain);
- return changeContextImpl;
- }
-
- protected ChangeContext removeFromSequence(Sequence sequence, Object otherEnd, ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- changeContextImpl.notificationChain = ((InternalEList)((FeatureMap.Internal.Wrapper)sequence).featureMap()).basicRemove(otherEnd, changeContextImpl.notificationChain);
- return changeContextImpl;
- }
-
- protected void dispatch(ChangeContext changeContext)
- {
- ChangeContextImpl changeContextImpl = initializeChangeContext(changeContext);
- if (changeContextImpl.notificationChain != null)
- {
- changeContextImpl.notificationChain.dispatch();
- }
- }
-
- protected boolean isProxy() // FB TODO : regen models and then remove this method
- {
- return eIsProxy();
- }
-
- protected boolean isProxy(Object object)
- {
- return ((EObject)object).eIsProxy();
- }
-
- protected Object resolveProxy(Object proxy)
- {
- Resource resource = this.eResource();
- ResourceSet resourceSet = resource != null ? resource.getResourceSet() : null;
- if (resourceSet != null) return EcoreUtil.resolve((EObject)proxy, resourceSet);
-
- URI proxyURI = ((InternalEObject)proxy).eProxyURI();
- if (proxyURI != null)
- {
- EPackage ePackage = HelperContextImpl.getBuiltInModelRegistry().getEPackage(proxyURI.trimFragment().toString());
- if (ePackage != null)
- {
- resource = ePackage.eResource();
- if (resource != null)
- {
- return resource.getEObject(proxyURI.fragment().toString());
- }
- }
- }
- return null;
- }
-
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Following methods override EMF methods to work with pure SDO generated subclasses
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- public EClass eStaticClass()
- {
- return (EClass)getStaticType();
- }
-
- public Type getStaticType() // must be overridden in subclasses
- {
- throw new UnsupportedOperationException();
- }
-
- public int eStaticFeatureCount()
- {
- return getStaticPropertyCount();
- }
-
- public int getStaticPropertyCount() // must be overridden in subclasses
- {
- throw new UnsupportedOperationException();
- }
-
- protected int internalConvertIndex(int internalIndex)
- {
- return internalIndex;
- }
-
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- Object result = get(internalConvertIndex(featureID), resolve);
- if (coreType)
- {
- if (result instanceof FeatureMap.Internal.Wrapper) result = ((FeatureMap.Internal.Wrapper)result).featureMap();
- }
- return result;
- }
-
- public void eSet(int featureID, Object newValue)
- {
- set(internalConvertIndex(featureID), newValue);
- }
-
- public void eUnset(int featureID)
- {
- unset(internalConvertIndex(featureID));
- }
-
- public boolean eIsSet(int featureID)
- {
- return isSet(internalConvertIndex(featureID));
- }
-
- private class ChangeContextImpl implements ChangeContext
- {
- protected NotificationChain notificationChain;
- public ChangeContextImpl(NotificationChain notificationChain) {
- this.notificationChain = notificationChain;
- }
- }
-
- //FB TODO ... review this? ... what about eInverseAdd?
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int internalIndex, NotificationChain msgs)
- {
- return ((ChangeContextImpl)inverseRemove(otherEnd, internalConvertIndex(internalIndex), new ChangeContextImpl(msgs))).notificationChain;
- }
-
- public String toString()
- {
- StringBuffer result = new StringBuffer(getClass().getName());
- result.append('@');
- result.append(Integer.toHexString(hashCode()));
- if (eIsProxy())
- {
- result.append(" (proxyURI: ");
- result.append(eProxyURI());
- result.append(')');
- }
- return result.toString();
- }
-
-} //DataObjectBase
-
-
-
-
-
-
-
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java
deleted file mode 100644
index d97f677d34..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java
+++ /dev/null
@@ -1,1562 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-
-import java.io.ObjectStreamException;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.impl.ChangeSummaryImpl.SDOChangeRecorder;
-import org.apache.tuscany.sdo.lib.UnknownPropertyList;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.apache.tuscany.sdo.util.VirtualSequence;
-import org.apache.tuscany.sdo.util.DataObjectUtil.Accessor;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder;
-import org.eclipse.emf.ecore.impl.BasicEObjectImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EContentsEList;
-import org.eclipse.emf.ecore.util.ECrossReferenceEList;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.impl.ExternalizableDelegator;
-
-
-/**
- * <!-- begin-user-doc -->
- * Base implementation of the SDO DataObject interface. This implementation allocates the minimum storage
- * overhead needed for SDO. It provides a complete implementation of the API, but does not, however, allocate
- * any storage for the actual properties of the data object. It instead requires subclasses for this purpose.
- * The subclass, DynamicDataObjectImpl serves as a concrete implementation class for dynamic data objects.
- * Static data object storage is provided by generated classes, which also directly or indirectly derive from
- * this class.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class DataObjectImpl extends BasicEObjectImpl implements DataObject
-{
- protected InternalEObject eContainer;
- protected int eContainerFeatureID;
- protected SDOChangeRecorder changeRecorder;
- protected Object location; // Resource.Internal (if object is directly contained in a resource) or URI (if it is a proxy)
- protected BasicEList eAdapters;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DataObjectImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object get(int propertyIndex)
- {
- return get(DataObjectUtil.getProperty(this, propertyIndex));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void set(int propertyIndex, Object value)
- {
- set(DataObjectUtil.getProperty(this, propertyIndex), value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isSet(int propertyIndex)
- {
- return isSet(DataObjectUtil.getProperty(this, propertyIndex));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void unset(int propertyIndex)
- {
- unset(DataObjectUtil.getProperty(this, propertyIndex));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object get(Property property)
- {
- return eGet((EStructuralFeature)property, true, false);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void set(Property property, Object value)
- {
- eSet((EStructuralFeature)property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isSet(Property property)
- {
- return eIsSet((EStructuralFeature)property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void unset(Property property)
- {
- eUnset((EStructuralFeature)property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject getContainer()
- {
- return (DataObject)eContainer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getContainmentProperty()
- {
- return (Property)eContainmentFeature();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Type getType()
- {
- return (Type)eClass();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object writeReplace() throws ObjectStreamException
- {
- return new ExternalizableDelegator(this);
- }
-
-
- // Remaining DataObject methods are implemented as straight delegation to DataObjectUtil
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object get(String path)
- {
- return DataObjectUtil.get(this, path);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void set(String path, Object value)
- {
- DataObjectUtil.set(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isSet(String path)
- {
- return DataObjectUtil.isSet(this, path);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void unset(String path)
- {
- DataObjectUtil.unset(this, path);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataGraph getDataGraph()
- {
- return DataObjectUtil.getDataGraph(this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigDecimal getBigDecimal(String path)
- {
- return DataObjectUtil.getBigDecimal(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigInteger getBigInteger(String path)
- {
- return DataObjectUtil.getBigInteger(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean getBoolean(String path)
- {
- return DataObjectUtil.getBoolean(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte getByte(String path)
- {
- return DataObjectUtil.getByte(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte[] getBytes(String path)
- {
- return DataObjectUtil.getBytes(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public char getChar(String path)
- {
- return DataObjectUtil.getChar(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject getDataObject(String path)
- {
- return (DataObject)get(path);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Date getDate(String path)
- {
- return DataObjectUtil.getDate(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public double getDouble(String path)
- {
- return DataObjectUtil.getDouble(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public float getFloat(String path)
- {
- return DataObjectUtil.getFloat(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public int getInt(String path)
- {
- return DataObjectUtil.getInt(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getList(String path)
- {
- List result = (List)get(path);
- if (result == null) {
- result = new UnknownPropertyList(this, path);
- }
-
- return result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public long getLong(String path)
- {
- return DataObjectUtil.getLong(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Sequence getSequence(String path)
- {
- return (Sequence)get(path);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public short getShort(String path)
- {
- return DataObjectUtil.getShort(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getString(String path)
- {
- return DataObjectUtil.getString(get(path));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBigDecimal(String path, BigDecimal value)
- {
- DataObjectUtil.setBigDecimal(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBigInteger(String path, BigInteger value)
- {
- DataObjectUtil.setBigInteger(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBoolean(String path, boolean value)
- {
- DataObjectUtil.setBoolean(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setByte(String path, byte value)
- {
- DataObjectUtil.setByte(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBytes(String path, byte[] value)
- {
- DataObjectUtil.setBytes(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setChar(String path, char value)
- {
- DataObjectUtil.setChar(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDataObject(String path, DataObject value)
- {
- DataObjectUtil.set(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDate(String path, Date value)
- {
- DataObjectUtil.setDate(this,path,value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDouble(String path, double value)
- {
- DataObjectUtil.setDouble(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setFloat(String path, float value)
- {
- DataObjectUtil.setFloat(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setInt(String path, int value)
- {
- DataObjectUtil.setInt(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setList(String path, List value)
- {
- DataObjectUtil.set(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setLong(String path, long value)
- {
- DataObjectUtil.setLong(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setShort(String path, short value)
- {
- DataObjectUtil.setShort(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setString(String path, String value)
- {
- DataObjectUtil.setString(this, path, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigDecimal getBigDecimal(int propertyIndex)
- {
- return DataObjectUtil.getBigDecimal(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigInteger getBigInteger(int propertyIndex)
- {
- return DataObjectUtil.getBigInteger(this,propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean getBoolean(int propertyIndex)
- {
- return DataObjectUtil.getBoolean(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte getByte(int propertyIndex)
- {
- return DataObjectUtil.getByte(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte[] getBytes(int propertyIndex)
- {
- return DataObjectUtil.getBytes(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public char getChar(int propertyIndex)
- {
- return DataObjectUtil.getChar(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject getDataObject(int propertyIndex)
- {
- return DataObjectUtil.getDataObject(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Date getDate(int propertyIndex)
- {
- return DataObjectUtil.getDate(this,propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public double getDouble(int propertyIndex)
- {
- return DataObjectUtil.getDouble(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public float getFloat(int propertyIndex)
- {
- return DataObjectUtil.getFloat(this,propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public int getInt(int propertyIndex)
- {
- return DataObjectUtil.getInt(this,propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getList(int propertyIndex)
- {
- return DataObjectUtil.getList(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public long getLong(int propertyIndex)
- {
- return DataObjectUtil.getLong(this,propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Sequence getSequence(int propertyIndex)
- {
- return DataObjectUtil.getSequence(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public short getShort(int propertyIndex)
- {
- return DataObjectUtil.getShort(this,propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getString(int propertyIndex)
- {
- return DataObjectUtil.getString(this,propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBigDecimal(int propertyIndex, BigDecimal value)
- {
- DataObjectUtil.setBigDecimal(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBigInteger(int propertyIndex, BigInteger value)
- {
- DataObjectUtil.setBigInteger(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBoolean(int propertyIndex, boolean value)
- {
- DataObjectUtil.setBoolean(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setByte(int propertyIndex, byte value)
- {
- DataObjectUtil.setByte(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBytes(int propertyIndex, byte[] value)
- {
- DataObjectUtil.setBytes(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setChar(int propertyIndex, char value)
- {
- DataObjectUtil.setChar(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDataObject(int propertyIndex, DataObject value)
- {
- DataObjectUtil.setDataObject(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDate(int propertyIndex, Date value)
- {
- DataObjectUtil.setDate(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDouble(int propertyIndex, double value)
- {
- DataObjectUtil.setDouble(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setFloat(int propertyIndex, float value)
- {
- DataObjectUtil.setFloat(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setInt(int propertyIndex, int value)
- {
- DataObjectUtil.setInt(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setList(int propertyIndex, List value)
- {
- DataObjectUtil.setList(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setLong(int propertyIndex, long value)
- {
- DataObjectUtil.setLong(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setShort(int propertyIndex, short value)
- {
- DataObjectUtil.setShort(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setString(int propertyIndex, String value)
- {
- DataObjectUtil.setString(this, propertyIndex, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigDecimal getBigDecimal(Property property)
- {
- return DataObjectUtil.getBigDecimal(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigInteger getBigInteger(Property property)
- {
- return DataObjectUtil.getBigInteger(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean getBoolean(Property property)
- {
- return DataObjectUtil.getBoolean(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte getByte(Property property)
- {
- return DataObjectUtil.getByte(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte[] getBytes(Property property)
- {
- return DataObjectUtil.getBytes(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public char getChar(Property property)
- {
- return DataObjectUtil.getChar(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject getDataObject(Property property)
- {
- return (DataObject)DataObjectUtil.getDataObject(this,property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Date getDate(Property property)
- {
- return DataObjectUtil.getDate(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public double getDouble(Property property)
- {
- return DataObjectUtil.getDouble(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public float getFloat(Property property)
- {
- return DataObjectUtil.getFloat(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public int getInt(Property property)
- {
- return DataObjectUtil.getInt(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getList(Property property)
- {
- return (List)DataObjectUtil.getList(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public long getLong(Property property)
- {
- return DataObjectUtil.getLong(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Sequence getSequence(Property property)
- {
- return (Sequence)DataObjectUtil.getSequence(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public short getShort(Property property)
- {
- return DataObjectUtil.getShort(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getString(Property property)
- {
- return DataObjectUtil.getString(this, property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBigDecimal(Property property, BigDecimal value)
- {
- DataObjectUtil.setBigDecimal(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBigInteger(Property property, BigInteger value)
- {
- DataObjectUtil.setBigInteger(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBoolean(Property property, boolean value)
- {
- DataObjectUtil.setBoolean(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setByte(Property property, byte value)
- {
- DataObjectUtil.setByte(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setBytes(Property property, byte[] value)
- {
- DataObjectUtil.setBytes(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setChar(Property property, char value)
- {
- DataObjectUtil.setChar(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDataObject(Property property, DataObject value)
- {
- DataObjectUtil.setDataObject(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDate(Property property, Date value)
- {
- DataObjectUtil.setDate(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDouble(Property property, double value)
- {
- DataObjectUtil.setDouble(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setFloat(Property property, float value)
- {
- DataObjectUtil.setFloat(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setInt(Property property, int value)
- {
- DataObjectUtil.setInt(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setList(Property property, List value)
- {
- DataObjectUtil.setList(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setLong(Property property, long value)
- {
- DataObjectUtil.setLong(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setShort(Property property, short value)
- {
- DataObjectUtil.setShort(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setString(Property property, String value)
- {
- DataObjectUtil.setString(this,property, value);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject createDataObject(String propertyName)
- {
- return DataObjectUtil.createDataObject(this, propertyName);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject createDataObject(int propertyIndex)
- {
- return DataObjectUtil.createDataObject(this, propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject createDataObject(Property property)
- {
- return DataObjectUtil.createDataObject(this,property);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject createDataObject(String propertyName, String namespaceURI, String typeName)
- {
- return DataObjectUtil.createDataObject(this, propertyName, namespaceURI, typeName);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject createDataObject(int propertyIndex, String namespaceURI, String typeName)
- {
- return DataObjectUtil.createDataObject(this, propertyIndex, namespaceURI, typeName);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject createDataObject(Property property, Type type)
- {
- return DataObjectUtil.createDataObject(this, property, type);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void delete()
- {
- DataObjectUtil.delete(this);
- }
-
- protected Sequence sequence = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Sequence getSequence()
- {
- if (sequence == null)
- {
- EStructuralFeature sequenceFeature = ((ClassImpl)eClass()).getSequenceFeature();
- if (sequenceFeature == null) return null;
- if (sequenceFeature == ClassImpl.VIRTUAL_SEQUENCE_FEATURE)
- sequence = new VirtualSequence(this);
- else
- sequence = (Sequence)eGet(sequenceFeature, true, false);
- }
- return sequence;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getInstanceProperties()
- {
- return DataObjectUtil.getInstanceProperties(this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getInstanceProperty(String propertyName)
- {
- return DataObjectUtil.getInstanceProperty(this, propertyName);
- }
-
- /**
- * @deprecated
- */
- public Property getProperty(String propertyName)
- {
- return DataObjectUtil.getInstanceProperty(this, propertyName);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject getRootObject()
- {
- return DataObjectUtil.getRootObject(this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public ChangeSummary getChangeSummary()
- {
- return DataObjectUtil.getChangeSummary(this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void detach()
- {
- DataObjectUtil.detach(this);
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Following methods customize BasicEObjectImpl, optimized for SDO
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getDataObject();
- }
-
- public boolean eNotificationRequired()
- {
- return changeRecorder != null || super.eNotificationRequired();
- }
-
- public boolean eDeliver()
- {
- return true;
- }
-
- public void eNotify(Notification notification)
- {
- if(changeRecorder != null) changeRecorder.notifyChanged(notification);
- super.eNotify(notification);
- }
-
- public void setChangeRecorder(SDOChangeRecorder changeRecorder)
- {
- if (this.changeRecorder != null)
- {
- this.changeRecorder.unsetTarget(this);
- }
-
- if (changeRecorder != null)
- {
- changeRecorder.setTarget(this);
- }
-
- this.changeRecorder = changeRecorder;
- }
-
- public InternalEObject eInternalContainer()
- {
- return eContainer;
- }
-
- public int eContainerFeatureID()
- {
- return eContainerFeatureID;
- }
-
- protected void eBasicSetContainer(InternalEObject newContainer, int newContainerFeatureID)
- {
- eContainer = newContainer;
- eContainerFeatureID = newContainerFeatureID;
- }
-
- public EClass eClass()
- {
- return eStaticClass();
- }
-
- public EList eContents()
- {
- return new EContentsEList(this);
- }
-
- public EList eCrossReferences()
- {
- return new ECrossReferenceEList(this);
- }
-
- public Resource.Internal eDirectResource()
- {
- return location instanceof Resource.Internal ? (Resource.Internal)location : null;
- }
-
- protected EClass eDynamicClass()
- {
- return null;
- }
-
- protected boolean eHasSettings()
- {
- return false;
- }
-
- public boolean eIsProxy()
- {
- return location instanceof URI;
- }
-
- public URI eProxyURI()
- {
- return location instanceof URI ? (URI)location : null;
- }
-
- public void eSetClass(EClass eClass)
- {
- throw new UnsupportedOperationException();
- }
-
- protected void eSetDirectResource(Resource.Internal resource)
- {
- location = resource;
- }
-
- public void eSetProxyURI(URI uri)
- {
- location = uri;
- }
-
- protected DynamicValueHolder eSettings()
- {
- return null;
- }
-
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- return eDynamicGet(featureID, resolve, coreType);
- }
-
- public void eSet(int featureID, Object newValue)
- {
- eDynamicSet(featureID, newValue);
- }
-
- public void eUnset(int featureID)
- {
- eDynamicUnset(featureID);
- }
-
- public boolean eIsSet(int featureID)
- {
- return eDynamicIsSet(featureID);
- }
-
- public Object eDynamicGet(int featureID, boolean resolve, boolean coreType)
- {
- return eOpenGet(DataObjectUtil.getOpenFeature(this, featureID), resolve);
- }
-
- public void eDynamicSet(int featureID, Object newValue)
- {
- eOpenSet(DataObjectUtil.getOpenFeature(this, featureID), newValue);
- }
-
- public void eDynamicUnset(int featureID)
- {
- eOpenUnset(DataObjectUtil.getOpenFeature(this, featureID));
- }
-
- public boolean eDynamicIsSet(int featureID)
- {
- return eOpenIsSet(DataObjectUtil.getOpenFeature(this, featureID));
- }
-
- public EList eAdapters()
- {
- if (eAdapters == null)
- {
- eAdapters = new EAdapterList(this);
- }
- return eAdapters;
- }
-
- public BasicEList eBasicAdapters()
- {
- return eAdapters;
- }
-
-
- /*
- public int eDerivedStructuralFeatureID(EStructuralFeature eStructuralFeature)
- {
- Class containerClass = eStructuralFeature.getContainerClass();
- return
- containerClass == null ?
- eClass().getFeatureID(eStructuralFeature) :
- containerClass.isInstance(this) ?
- eDerivedStructuralFeatureID(eStructuralFeature.getFeatureID(), containerClass) :
- -1;
- }
-
- public void eOpenSet(EStructuralFeature eFeature, Object newValue)
- {
- EStructuralFeature openFeature = ExtendedMetaData.INSTANCE.getAffiliation(eClass(), eFeature);
- if (openFeature == null)
- {
- openFeature = (EStructuralFeature)eClass().getEStructuralFeature("any");
- }
- if (openFeature != null)
- {
- if (!FeatureMapUtil.isFeatureMap(openFeature))
- {
- openFeature = ExtendedMetaData.INSTANCE.getGroup(openFeature);
- }
- FeatureMap featureMap = (FeatureMap)eGet(openFeature);
- ((FeatureMap.Internal)featureMap).set(eFeature, newValue);
- }
- else
- {
- throw new IllegalArgumentException("The feature '" + eFeature.getName() + "' is not a valid changeable feature");
- }
- }
- */
-
-} //DataObjectImpl
-
-
-
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataTypeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataTypeImpl.java
deleted file mode 100644
index dee124429f..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataTypeImpl.java
+++ /dev/null
@@ -1,781 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.impl.EDataTypeImpl;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Data Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class DataTypeImpl extends EDataTypeImpl implements Type, org.apache.tuscany.sdo.model.Type/*, DataObject*/
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DataTypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getDataType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getURI()
- {
- return getEPackage().getNsURI();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isDataType()
- {
- return true;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isOpen()
- {
- return false;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isSequenced()
- {
- return false;
- }
-
- protected List aliasNames = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getAliasNames()
- {
- if (aliasNames == null)
- {
- aliasNames = DataObjectUtil.getAliasNames(this);
- }
- return aliasNames;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getDeclaredProperties()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getProperties()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getBaseTypes()
- {
- EDataType dataType = ExtendedMetaData.INSTANCE.getBaseType(this);
- if (dataType == null)
- {
- return Collections.EMPTY_LIST;
- }
- else
- {
- return Collections.singletonList(dataType);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getProperty(String propertyName)
- {
- return null;
- }
-
- public List getInstanceProperties() {
- return DataObjectUtil.getMetaObjectInstanceProperties(this);
- }
-
- public Object get(Property property) {
- return DataObjectUtil.getMetaObjectInstanceProperty(this, property);
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // org.apache.tuscany.sdo.model.Type method implementations
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- public List getBaseType() {
- return this.getBaseTypes();
- }
-
- public List getProperty() {
- return this.getProperties();
- }
-
- public List getAliasName() {
- return this.getAliasNames();
- }
-
- public Sequence getAny() {
- throw new UnsupportedOperationException();
- }
-
- public Sequence getAnyAttribute() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isAbstract()
- {
- return false;
- }
-
- public void setAbstract(boolean value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetAbstract() {
- return false;
- }
-
- public void unsetAbstract() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void setDataType(boolean value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void unsetDataType() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetDataType() {
- return true;
- }
-
- public void setOpen(boolean value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void unsetOpen() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetOpen() {
- return false;
- }
-
- public void setSequenced(boolean value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void unsetSequenced() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetSequenced() {
- return false;
- }
-
- public void unsetName()
- {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetName()
- {
- return true;
- }
-
- public void unsetUri()
- {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSetUri()
- {
- return true;
- }
-
- public void setUri(String value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public String getUri() {
- return getURI();
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // DataObject method implementations
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- public Object get(int propertyIndex) {
- Object ret = DataObjectUtil.get(this, propertyIndex);
- return (ret != null) ?
- ret : eGet(propertyIndex, true, false);
- }
-
- public void set(int propertyIndex, Object value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSet(int propertyIndex) {
- return eIsSet(propertyIndex);
- }
-
- public void unset(int propertyIndex) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public Object get(Property property) {
- Object ret = DataObjectUtil.get(this, ((EStructuralFeature)property).getFeatureID());
- return (ret != null) ?
- ret : eGet((EStructuralFeature)property, true, false);
- }
-
- public void set(Property property, Object value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSet(Property property) {
- return eIsSet((EStructuralFeature)property);
- }
-
- public void unset(Property property) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject getContainer() {
- return (DataObject)eContainer();
- }
-
- public Property getContainmentProperty() {
- return (Property)eContainmentFeature();
- }
-
- public Type getType() {
- return (Type)ModelPackageImpl.eINSTANCE.getType();
- }
-
- // Remaining DataObject methods are (will be) implemented as straight delegation to DataObjectUtil
-
- public Object get(String path) {
- return DataObjectUtil.get(this, path);
- }
-
- public void set(String path, Object value) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean isSet(String path) {
- return DataObjectUtil.isSet(this, path);
- }
-
- public void unset(String path) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public boolean getBoolean(String path) {
- return DataObjectUtil.getBoolean(get(path));
- }
-
- public byte getByte(String path) {
- return DataObjectUtil.getByte(get(path));
- }
-
- public char getChar(String path) {
- return DataObjectUtil.getChar(get(path));
- }
-
- public double getDouble(String path) {
- return DataObjectUtil.getDouble(get(path));
- }
-
- public float getFloat(String path) {
- return DataObjectUtil.getFloat(get(path));
- }
-
- public int getInt(String path) {
- return DataObjectUtil.getInt(get(path));
- }
-
- public long getLong(String path) {
- return DataObjectUtil.getLong(get(path));
- }
-
- public short getShort(String path) {
- return DataObjectUtil.getShort(get(path));
- }
-
- public byte[] getBytes(String path) {
- return DataObjectUtil.getBytes(get(path));
- }
-
- public BigDecimal getBigDecimal(String path) {
- return DataObjectUtil.getBigDecimal(get(path));
- }
-
- public BigInteger getBigInteger(String path) {
- return DataObjectUtil.getBigInteger(get(path));
- }
-
- public DataObject getDataObject(String path) {
- return (DataObject)get(path);
- }
-
- public Date getDate(String path) {
- return DataObjectUtil.getDate(get(path));
- }
-
- public String getString(String path) {
- return DataObjectUtil.getString(get(path));
- }
-
- public List getList(String path) {
- return (List)get(path);
- }
-
- public Sequence getSequence(String path) {
- return (Sequence)get(path);
- }
-
- public void setBoolean(String path, boolean value) {
- set(path, new Boolean(value));
- }
-
- public void setByte(String path, byte value) {
- set(path, new Byte(value));
- }
-
- public void setChar(String path, char value) {
- set(path, new Character(value));
- }
-
- public void setDouble(String path, double value) {
- set(path, new Double(value));
- }
-
- public void setFloat(String path, float value) {
- set(path, new Float(value));
- }
-
- public void setInt(String path, int value) {
- set(path, new Integer(value));
- }
-
- public void setLong(String path, long value) {
- set(path, new Long(value));
- }
-
- public void setShort(String path, short value) {
- set(path, new Short(value));
- }
-
- public void setBytes(String path, byte[] value) {
- set(path, value);
- }
-
- public void setBigDecimal(String path, BigDecimal value) {
- set(path, value);
- }
-
- public void setBigInteger(String path, BigInteger value) {
- set(path, value);
- }
-
- public void setDataObject(String path, DataObject value) {
- set(path, value);
- }
-
- public void setDate(String path, Date value) {
- set(path, value);
- }
-
- public void setString(String path, String value) {
- set(path, value);
- }
-
- public void setList(String path, List value) {
- set(path, value);
- }
-
- public boolean getBoolean(int propertyIndex) {
- return DataObjectUtil.getBoolean(this, propertyIndex);
- }
-
- public byte getByte(int propertyIndex) {
- return DataObjectUtil.getByte(this, propertyIndex);
- }
-
- public char getChar(int propertyIndex) {
- return DataObjectUtil.getChar(this, propertyIndex);
- }
-
- public double getDouble(int propertyIndex) {
- return DataObjectUtil.getDouble(this, propertyIndex);
- }
-
- public float getFloat(int propertyIndex) {
- return DataObjectUtil.getFloat(this, propertyIndex);
- }
-
- public int getInt(int propertyIndex) {
- return DataObjectUtil.getInt(this, propertyIndex);
- }
-
- public long getLong(int propertyIndex) {
- return DataObjectUtil.getLong(this, propertyIndex);
- }
-
- public short getShort(int propertyIndex) {
- return DataObjectUtil.getShort(this, propertyIndex);
- }
-
- public byte[] getBytes(int propertyIndex) {
- return DataObjectUtil.getBytes(this, propertyIndex);
- }
-
- public BigDecimal getBigDecimal(int propertyIndex) {
- return DataObjectUtil.getBigDecimal(this, propertyIndex);
- }
-
- public BigInteger getBigInteger(int propertyIndex) {
- return DataObjectUtil.getBigInteger(this, propertyIndex);
- }
-
- public DataObject getDataObject(int propertyIndex) {
- return DataObjectUtil.getDataObject(this, propertyIndex);
- }
-
- public Date getDate(int propertyIndex) {
- return DataObjectUtil.getDate(this, propertyIndex);
- }
-
- public String getString(int propertyIndex) {
- return DataObjectUtil.getString(this, propertyIndex);
- }
-
- public List getList(int propertyIndex) {
- return DataObjectUtil.getList(this, propertyIndex);
- }
-
- public Sequence getSequence(int propertyIndex) {
- return DataObjectUtil.getSequence(this, propertyIndex);
- }
-
- public void setBoolean(int propertyIndex, boolean value) {
- set(propertyIndex, new Boolean(value));
- }
-
- public void setByte(int propertyIndex, byte value) {
- set(propertyIndex, new Byte(value));
- }
-
- public void setChar(int propertyIndex, char value) {
- set(propertyIndex, new Character(value));
- }
-
- public void setDouble(int propertyIndex, double value) {
- set(propertyIndex, new Double(value));
- }
-
- public void setFloat(int propertyIndex, float value) {
- set(propertyIndex, new Float(value));
- }
-
- public void setInt(int propertyIndex, int value) {
- set(propertyIndex, new Integer(value));
- }
-
- public void setLong(int propertyIndex, long value) {
- set(propertyIndex, new Long(value));
- }
-
- public void setShort(int propertyIndex, short value) {
- set(propertyIndex, new Short(value));
- }
-
- public void setBytes(int propertyIndex, byte[] value) {
- set(propertyIndex, value);
- }
-
- public void setBigDecimal(int propertyIndex, BigDecimal value) {
- set(propertyIndex, value);
- }
-
- public void setBigInteger(int propertyIndex, BigInteger value) {
- set(propertyIndex, value);
- }
-
- public void setDataObject(int propertyIndex, DataObject value) {
- set(propertyIndex, value);
- }
-
- public void setDate(int propertyIndex, Date value) {
- set(propertyIndex, value);
- }
-
- public void setString(int propertyIndex, String value) {
- set(propertyIndex, value);
- }
-
- public void setList(int propertyIndex, List value) {
- set(propertyIndex, value);
- }
-
- public boolean getBoolean(Property property) {
- return DataObjectUtil.getBoolean(this, property);
- }
-
- public byte getByte(Property property) {
- return DataObjectUtil.getByte(this, property);
- }
-
- public char getChar(Property property) {
- return DataObjectUtil.getChar(this, property);
- }
-
- public double getDouble(Property property) {
- return DataObjectUtil.getDouble(this, property);
- }
-
- public float getFloat(Property property) {
- return DataObjectUtil.getFloat(this, property);
- }
-
- public int getInt(Property property) {
- return DataObjectUtil.getInt(this, property);
- }
-
- public long getLong(Property property) {
- return DataObjectUtil.getLong(this, property);
- }
-
- public short getShort(Property property) {
- return DataObjectUtil.getShort(this, property);
- }
-
- public byte[] getBytes(Property property) {
- return DataObjectUtil.getBytes(this, property);
- }
-
- public BigDecimal getBigDecimal(Property property) {
- return DataObjectUtil.getBigDecimal(this, property);
- }
-
- public BigInteger getBigInteger(Property property) {
- return DataObjectUtil.getBigInteger(this, property);
- }
-
- public DataObject getDataObject(Property property) {
- return DataObjectUtil.getDataObject(this, property);
- }
-
- public Date getDate(Property property) {
- return DataObjectUtil.getDate(this, property);
- }
-
- public String getString(Property property) {
- return DataObjectUtil.getString(this, property);
- }
-
- public List getList(Property property) {
- return DataObjectUtil.getList(this, property);
- }
-
- public Sequence getSequence(Property property) {
- return DataObjectUtil.getSequence(this, property);
- }
-
- public void setBoolean(Property property, boolean value) {
- set(property, new Boolean(value));
- }
-
- public void setByte(Property property, byte value) {
- set(property, new Byte(value));
- }
-
- public void setChar(Property property, char value) {
- set(property, new Character(value));
- }
-
- public void setDouble(Property property, double value) {
- set(property, new Double(value));
- }
-
- public void setFloat(Property property, float value) {
- set(property, new Float(value));
- }
-
- public void setInt(Property property, int value) {
- set(property, new Integer(value));
- }
-
- public void setLong(Property property, long value) {
- set(property, new Long(value));
- }
-
- public void setShort(Property property, short value) {
- set(property, new Short(value));
- }
-
- public void setBytes(Property property, byte[] value) {
- set(property, value);
- }
-
- public void setBigDecimal(Property property, BigDecimal value) {
- set(property, value);
- }
-
- public void setBigInteger(Property property, BigInteger value) {
- set(property, value);
- }
-
- public void setDataObject(Property property, DataObject value) {
- set(property, value);
- }
-
- public void setDate(Property property, Date value) {
- set(property, value);
- }
-
- public void setString(Property property, String value) {
- set(property, value);
- }
-
- public void setList(Property property, List value) {
- set(property, value);
- }
-
- public DataObject createDataObject(String propertyName) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(String propertyName, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property, Type type) {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public void delete() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
-
- public DataGraph getDataGraph() {
- return DataObjectUtil.getDataGraph(this);
- }
-
- public Sequence getSequence() {
- EAttribute mixedFeature = BasicExtendedMetaData.INSTANCE.getMixedFeature(eClass());
- return mixedFeature != null ? (Sequence)eGet(mixedFeature, true, false) : null;
- }
-
- public List getInstanceProperties() {
- return DataObjectUtil.getInstanceProperties(this);
- }
-
- public DataObject getRootObject() {
- return DataObjectUtil.getRootObject(this);
- }
-
- public ChangeSummary getChangeSummary() {
- // TODO: implement this method
- throw new UnsupportedOperationException();
- }
-
- public void detach() {
- throw new UnsupportedOperationException("Type is frozen and cannot be modified");
- }
- */
-
-} //DataTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicDataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicDataObjectImpl.java
deleted file mode 100644
index 153ef18444..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicDataObjectImpl.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Dynamic Data Object</b></em>'.
- * @extends EStructuralFeature.Internal.DynamicValueHolder
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class DynamicDataObjectImpl extends DataObjectImpl implements DataObject, EStructuralFeature.Internal.DynamicValueHolder
-{
- protected EClass eClass;
- protected Object [] eSettings;
-
- protected static final Object [] ENO_SETTINGS = new Object [0];
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DynamicDataObjectImpl()
- {
- super();
- }
-
- /**
- * Creates a dynamic DataObject.
- */
- public DynamicDataObjectImpl(EClass eClass)
- {
- super();
- eSetClass(eClass);
- Property csp = ((ClassImpl)eClass).getChangeSummaryProperty();
- if (csp != null)
- {
- ChangeSummaryImpl changeSummary = (ChangeSummaryImpl)SDOFactory.eINSTANCE.createChangeSummary();
- set(csp, changeSummary);
- changeSummary.setDataObject(this);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getDynamicDataObject();
- }
-
- protected int eStaticFeatureCount()
- {
- return 0;
- }
-
- public int eDerivedStructuralFeatureID(EStructuralFeature eStructuralFeature)
- {
- return eClass().getFeatureID(eStructuralFeature);
- }
-
- protected boolean eHasSettings()
- {
- return eSettings != null;
- }
-
- protected EStructuralFeature.Internal.DynamicValueHolder eSettings()
- {
- if (eSettings == null)
- {
- int size = eClass().getFeatureCount() - eStaticFeatureCount();
- eSettings = size == 0 ? ENO_SETTINGS : new Object [size];
- }
-
- return this;
- }
-
- protected EClass eDynamicClass()
- {
- return eClass;
- }
-
- public EClass eClass()
- {
- return eClass;
- }
-
- public void eSetClass(EClass eClass)
- {
- this.eClass = eClass;
- }
-
- public Object dynamicGet(int dynamicFeatureID)
- {
- return eSettings[dynamicFeatureID];
- }
-
- public void dynamicSet(int dynamicFeatureID, Object value)
- {
- eSettings[dynamicFeatureID] = value;
- }
-
- public void dynamicUnset(int dynamicFeatureID)
- {
- eSettings[dynamicFeatureID] = null;
- }
-
- public Object eDynamicGet(int featureID, boolean resolve, boolean coreType)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- return eSettingDelegate(eFeature).dynamicGet(this, eSettings(), featureID, resolve, coreType);
- }
- else
- {
- return super.eDynamicGet(featureID, resolve, coreType);
- }
- }
-
- public void eDynamicSet(int featureID, Object newValue)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- try {
- eDynamicSet(featureID, eFeature, newValue);
- } catch (IllegalArgumentException e) {
- throw new UnsupportedOperationException(e.getMessage());
- }
- }
- else
- {
- super.eDynamicSet(featureID, newValue);
- }
- }
-
- public void eDynamicUnset(int featureID)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- try {
- eDynamicUnset(featureID, eFeature);
- } catch (IllegalArgumentException e) {
- throw new UnsupportedOperationException(e.getMessage());
- }
- }
- else
- {
- super.eDynamicUnset(featureID);
- }
- }
-
- public boolean eDynamicIsSet(int featureID)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- return eSettingDelegate(eFeature).dynamicIsSet(this, eSettings(), featureID);
- }
- else
- {
- return super.eDynamicIsSet(featureID);
- }
- }
-
- /**
- * An EFactoryImpl that creates DynamicEDataObjectImpl instances.
- */
- public static class FactoryImpl extends EFactoryImpl
- {
- public FactoryImpl()
- {
- }
-
- public EObject basicCreate(EClass eClass)
- {
- return new DynamicDataObjectImpl(eClass);
- }
- }
-
-} //DynamicDataObjectImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicStoreDataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicStoreDataObjectImpl.java
deleted file mode 100644
index d9d39bad49..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DynamicStoreDataObjectImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import commonj.sdo.DataObject;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Dynamic Store Data Object</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class DynamicStoreDataObjectImpl extends StoreDataObjectImpl implements DataObject
-{
- protected EClass eClass;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DynamicStoreDataObjectImpl()
- {
- super();
- }
-
- public DynamicStoreDataObjectImpl(InternalEObject.EStore eStore)
- {
- super(eStore);
- }
-
- public DynamicStoreDataObjectImpl(EClass eClass)
- {
- super(eClass);
- }
-
- public DynamicStoreDataObjectImpl(EClass eClass, InternalEObject.EStore eStore)
- {
- super(eClass, eStore);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getDynamicStoreDataObject();
- }
-
- protected EClass eDynamicClass()
- {
- return eClass;
- }
-
- public EClass eClass()
- {
- return eClass;
- }
-
- public void eSetClass(EClass eClass)
- {
- this.eClass = eClass;
- }
-
-} //DynamicStoreDataObjectImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EnumImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EnumImpl.java
deleted file mode 100644
index 54f642d8cf..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EnumImpl.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import java.util.Collections;
-import java.util.List;
-
-//import org.apache.tuscany.sdo.SDOPackage;
-
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EEnumImpl;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Enum</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- * @deprecated SDO doesn't support Enum types
- */
-public class EnumImpl extends EEnumImpl implements Type
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EnumImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- protected EClass eStaticClass()
- {
- return EcorePackage.eINSTANCE.getEEnum();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getURI()
- {
- return getEPackage().getNsURI();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isDataType()
- {
- return true;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isOpen()
- {
- return false;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isSequenced()
- {
- return false;
- }
-
- protected List aliasNames = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getAliasNames()
- {
- if (aliasNames == null)
- {
- aliasNames = DataObjectUtil.getAliasNames(this);
- }
- return aliasNames;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getDeclaredProperties()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getProperties()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getBaseTypes()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getProperty(String propertyName)
- {
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isAbstract()
- {
- return false;
- }
-
- public List getInstanceProperties()
- {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Property property)
- {
- throw new UnsupportedOperationException();
- }
-
-} //EnumTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java
deleted file mode 100644
index 206a3c1fbf..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.api.Event;
-import org.eclipse.emf.common.notify.Notification;
-
-import commonj.sdo.Property;
-
-
-public class EventImpl implements Event {
-
- protected Notification emfEvent;
- protected Object notifier;
-
- public EventImpl(Notification notification)
- {
- this.emfEvent = notification;
- }
-
- public Object getNotifier()
- {
- return notifier == null ? emfEvent.getNotifier() : notifier;
- }
-
- public int getEventType()
- {
- return emfEvent.getEventType();
- }
-
-
- public Property getProperty()
- {
- return (Property)emfEvent.getFeature();
- }
-
- public Object getOldValue()
- {
- return emfEvent.getOldValue();
- }
-
- public Object getNewValue()
- {
- return emfEvent.getNewValue();
- }
-
- public boolean wasSet()
- {
- return emfEvent.wasSet();
- }
-
- public boolean isTouch()
- {
- return emfEvent.isTouch();
- }
-
- public int getPosition()
- {
- return emfEvent.getPosition();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java
deleted file mode 100644
index 93825f7873..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Extensible Data Object</b></em>'.
- * @extends EStructuralFeature.Internal.DynamicValueHolder
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class ExtensibleDataObjectImpl extends DataObjectImpl implements DataObject, EStructuralFeature.Internal.DynamicValueHolder
-{
- protected EClass eClass;
- protected Object [] eSettings;
-
- protected static final Object [] ENO_SETTINGS = new Object [0];
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ExtensibleDataObjectImpl()
- {
- super();
- }
-
- /**
- * Creates an extensible DataObject.
- */
- public ExtensibleDataObjectImpl(EClass eClass)
- {
- super();
- eSetClass(eClass);
- Property csp = ((ClassImpl)eClass).getChangeSummaryProperty();
- if (csp != null)
- {
- ChangeSummaryImpl changeSummary = (ChangeSummaryImpl)SDOFactory.eINSTANCE.createChangeSummary();
- set(csp, changeSummary);
- changeSummary.setDataObject(this);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getExtensibleDataObject();
- }
-
- public int eDerivedStructuralFeatureID(EStructuralFeature eStructuralFeature)
- {
- return eClass().getFeatureID(eStructuralFeature);
- }
-
- protected boolean eHasSettings()
- {
- return eSettings != null;
- }
-
- protected EStructuralFeature.Internal.DynamicValueHolder eSettings()
- {
- if (eSettings == null)
- {
- int size = eClass().getFeatureCount() - eStaticFeatureCount();
- eSettings = size == 0 ? ENO_SETTINGS : new Object [size];
- }
-
- return this;
- }
-
- protected EClass eDynamicClass()
- {
- return eClass;
- }
-
- protected boolean isDynamic()
- {
- return (eClass != null);
- }
-
- public Object get(int featureID, boolean resolve)
- {
- return get(featureID, resolve, true);
- }
-
- public Object get(int featureID, boolean resolve, boolean coreType)
- {
- Object result = null;
- if (isDynamic() || featureID >= eStaticFeatureCount())
- {
- result = super.eGet(featureID, resolve, coreType);
- }
- else
- {
- result = super.get(featureID);
- }
- return result;
- }
-
- public void set(int featureID, Object newValue)
- {
- if (isDynamic() || featureID >= eStaticFeatureCount())
- {
- super.eSet(featureID, newValue);
- }
- else
- {
- super.set(featureID, newValue);
- }
- }
-
- public void unset(int featureID)
- {
- if (isDynamic() || featureID >= eStaticFeatureCount())
- {
- super.eUnset(featureID);
- }
- else
- {
- super.unset(featureID);
- }
- }
-
- public boolean isSet(int featureID)
- {
- if (isDynamic() || featureID >= eStaticFeatureCount())
- {
- return super.eIsSet(featureID);
- }
- else
- {
- return super.isSet(featureID);
- }
- }
-
- public EClass eClass()
- {
- return isDynamic() ? eClass : eStaticClass();
- }
-
- public void eSetClass(EClass eClass)
- {
- this.eClass = eClass;
- }
-
- public Object dynamicGet(int dynamicFeatureID)
- {
- return eSettings[dynamicFeatureID];
- }
-
- public void dynamicSet(int dynamicFeatureID, Object value)
- {
- eSettings[dynamicFeatureID] = value;
- }
-
- public void dynamicUnset(int dynamicFeatureID)
- {
- eSettings[dynamicFeatureID] = null;
- }
-
- public Object eDynamicGet(int featureID, boolean resolve, boolean coreType)
- {
- int dynamicFeatureID = featureID - eStaticFeatureCount();
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- return eSettingDelegate(eFeature).dynamicGet(this, eSettings(), dynamicFeatureID, resolve, coreType);
- }
- else
- {
- return super.eDynamicGet(dynamicFeatureID, resolve, coreType);
- }
- }
-
- public void eDynamicSet(int featureID, Object newValue)
- {
- int dynamicFeatureID = featureID - eStaticFeatureCount();
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- eDynamicSet(dynamicFeatureID, eFeature, newValue);
- }
- else
- {
- super.eDynamicSet(dynamicFeatureID, newValue);
- }
- }
-
- public void eDynamicUnset(int featureID)
- {
- int dynamicFeatureID = featureID - eStaticFeatureCount();
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- eDynamicUnset(dynamicFeatureID, eFeature);
- }
- else
- {
- super.eDynamicUnset(dynamicFeatureID);
- }
- }
-
- public boolean eDynamicIsSet(int featureID)
- {
- int dynamicFeatureID = featureID - eStaticFeatureCount();
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- return eSettingDelegate(eFeature).dynamicIsSet(this, eSettings(), dynamicFeatureID);
- }
- else
- {
- return super.eDynamicIsSet(dynamicFeatureID);
- }
- }
-
- /**
- * An EFactoryImpl that creates ExtensibleDataObjectImpl instances.
- */
- public static class FactoryImpl extends EFactoryImpl
- {
- public FactoryImpl()
- {
- }
-
- public EObject basicCreate(EClass eClass)
- {
- return new ExtensibleDataObjectImpl(eClass);
- }
- }
-
-} //ExtensibleDataObjectImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/FactoryBase.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/FactoryBase.java
deleted file mode 100644
index e344a6ffde..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/FactoryBase.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.impl.SDOFactoryImpl.SDOEcoreFactory;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EClassImpl;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-/**
- * Base class for generated (static) SDO factories
- */
-public class FactoryBase extends EPackageImpl
-{
-
- public static final boolean IS_ATTRIBUTE = true;
-
- protected FactoryBase(String namespaceURI, String namespacePrefix)
- {
- super(new SDOEFactoryImpl());
- ecoreFactory = new SDOEcoreFactory();
-
- int index = namespacePrefix.lastIndexOf(".");
- setName(index != -1 ? namespacePrefix.substring(index + 1) : namespacePrefix);
- setNsPrefix(namespacePrefix);
-
- createResource(namespaceURI);
- setNsURI(namespaceURI);
-
- ((SDOEFactoryImpl)getEFactoryInstance()).sdoFactory = this;
- }
-
- protected FactoryBase(String namespaceURI, String namespacePrefix, String interfacePackage)
- {
- super(new SDOEFactoryImpl());
- ecoreFactory = new SDOEcoreFactory();
-
- int index = interfacePackage.lastIndexOf(".");
- setName(index != -1 ? interfacePackage.substring(index + 1) : interfacePackage);
- setNsPrefix(namespacePrefix);
-
- createResource(namespaceURI);
- setNsURI(namespaceURI);
-
- ((SDOEFactoryImpl)getEFactoryInstance()).sdoFactory = this;
- }
-
-
-
- public DataObject create(int typeNumber)
- {
- return null;
- }
-
- public Object createFromString(int typeNumber, String stringValue)
- {
- return ((SDOEFactoryImpl)getEFactoryInstance()).createFromString(typeNumber, stringValue);
- }
-
- public String convertToString(int typeNumber, Object objectValue)
- {
- return ((SDOEFactoryImpl)getEFactoryInstance()).convertToString(typeNumber, objectValue);
- }
-
- protected Type createType(boolean isDataType, int typeNumber)
- {
- if (isDataType)
- return (Type)createEDataType(typeNumber);
- else
- return (Type)createEClass(typeNumber);
- }
-
- protected void createProperty(boolean isDataType, Type containingType, int internalPropertyNumber)
- {
- if (isDataType)
- createEAttribute((EClass)containingType, internalPropertyNumber);
- else
- createEReference((EClass)containingType, internalPropertyNumber);
- }
-
- /**
- * @deprecated - use getLocalProperty instead, since getProperty causes
- * caching of structural features.
- */
- protected Property getProperty(Type type, int internalPropertyNumber)
- {
- return (Property)((EClass)type).getEAllStructuralFeatures().get(internalPropertyNumber);
- }
-
- protected Property getLocalProperty(Type type, int localPropertyIndex)
- {
- return (Property)((EClass)type).getEStructuralFeatures().get(localPropertyIndex);
- }
-
-
- protected void initializeType(Type type, Class instanceClass, String name)
- {
- initEClass((EClass)type, instanceClass, name, !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- }
-
- protected void initializeType(Type type, Class instanceClass, String name, boolean isAbstract)
- {
- initEClass((EClass)type, instanceClass, name, isAbstract, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- }
-
- protected void initializeType(Type type, Class instanceClass, String name, boolean isSerializable, boolean isGenerated)
- {
- initEDataType((EDataType)type, instanceClass, name, isSerializable, isGenerated);
- }
-
- protected void initializeProperty(Property property, Type type, String name, String defaultValue, int lower, int upper, Class containerClass, boolean isReadonly, boolean isUnsettable, boolean isDerived)
- {
- initEAttribute((EAttribute)property, type != sequence ? (EClassifier)type : ecorePackage.getEFeatureMapEntry(), name, defaultValue, lower, upper, containerClass, isDerived, isDerived, !isReadonly, isUnsettable, !IS_ID, !IS_UNIQUE, isDerived, IS_ORDERED);
- }
-
- protected void initializeProperty(Property property, Type type, String name, String defaultValue, int lower, int upper, Class containerClass, boolean isReadonly, boolean isUnsettable, boolean isDerived, boolean isComposite, Property oppositeProperty)
- {
- initEReference((EReference)property, (EClassifier)type, (EReference)oppositeProperty, name, defaultValue, lower, upper, containerClass, isDerived, isDerived, !isReadonly, isComposite, !isComposite /*resolve*/, isUnsettable, IS_UNIQUE, isDerived, IS_ORDERED);
- }
-
- protected void initXSD()
- {
- createDocumentRoot();
- }
-
- protected void addXSDMapping(String[] xsdMappings, String annotationSource)
- {
- addAnnotation((ENamedElement)this, annotationSource, xsdMappings);
- }
-
- protected void addXSDMapping(Type type, String[] xsdMappings)
- {
- addAnnotation((ENamedElement)type, ANNOTATION_SOURCE, xsdMappings);
- }
-
- protected void addXSDMapping(Property property, String[] xsdMappings)
- {
- addAnnotation((ENamedElement)property, ANNOTATION_SOURCE, xsdMappings);
- }
-
- protected void setInstanceProperty(Type type, String namespaceURI, String propertyName, String propertyValue)
- {
- setInstanceProperty((ENamedElement)type, namespaceURI, propertyName, propertyValue);
- }
-
- protected void setInstanceProperty(Property property, String namespaceURI, String propertyName, String propertyValue)
- {
- setInstanceProperty((ENamedElement)property, namespaceURI, propertyName, propertyValue);
- }
-
- private void setInstanceProperty(ENamedElement eNamedElement, String namespaceURI, String propertyName, String propertyValue)
- {
- EAnnotation annotation = eNamedElement.getEAnnotation(namespaceURI);
- if (annotation == null)
- {
- addAnnotation(eNamedElement, namespaceURI, new String[]{propertyName, propertyValue});
- } else
- {
- annotation.getDetails().put(propertyName, propertyValue);
- }
- }
-
- protected Property createGlobalProperty(String name, Type type, String[] xsdMappings)
- {
- return createGlobalProperty(name, type, xsdMappings, false);
- }
-
- protected Property createGlobalProperty(String name, Type type, String[] xsdMappings, boolean asAttribute)
- {
- return createGlobalProperty(name, type, xsdMappings, asAttribute, ANNOTATION_SOURCE);
- }
-
- protected Property createGlobalProperty(String name, Type type, String[] xsdMappings, boolean asAttribute, String annotationSource)
- {
- int propertyNumber = documentRootEClass.getEStructuralFeatures().size();
-
- EStructuralFeature globalProperty;
- if(asAttribute) {
- createEAttribute(documentRootEClass, propertyNumber);
- EAttribute gatt = (EAttribute)documentRootEClass.getEStructuralFeatures().get(propertyNumber);
- initEAttribute(gatt, (EDataType)type, name, null, 0, -2, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
- globalProperty = gatt;
- } else {
- createEReference(documentRootEClass, propertyNumber);
- EReference gref = (EReference)documentRootEClass.getEStructuralFeatures().get(propertyNumber);
- initEReference(gref, (EClass)type, null, name, null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
- globalProperty = gref;
- }
- addAnnotation((ENamedElement)globalProperty, annotationSource, xsdMappings);
- return (Property) globalProperty;
- }
-
- private static final Type sequence = SDOFactory.eINSTANCE.createDataType(); // dummy type
-
- protected Type getSequence()
- {
- return sequence;
- }
-
- protected void addSuperType(Type subType, Type superType)
- {
- ((EClass)subType).getESuperTypes().add((EClass)superType);
- }
-
- /***
- * @param namespaceURI
- * @return Static factory (from the global scope) for the provided URI
- *
- * @deprecated - Use of the global scope is no longer encouraged. This method uses the
- * global scope for retrieving the URI's factory. Instead, it is now possible to simply
- * access SomeFactoryInterface.INSTANCE object directly.
- *
- */
- public static Object getStaticFactory(String namespaceURI)
- {
- EPackage ePackage = EPackage.Registry.INSTANCE.getEPackage(namespaceURI);
- //return (FactoryBase)ePackage;
- return ePackage instanceof FactoryBase ? (Object)ePackage : (Object)ePackage.getEFactoryInstance();
- }
-
- // private EMF-specific methods
-
- private static class SDOEFactoryImpl extends DynamicDataObjectImpl.FactoryImpl
- {
- protected FactoryBase sdoFactory;
-
- public SDOEFactoryImpl()
- {
- super();
- }
-
- public EObject create(EClass eClass)
- {
- DataObject result = sdoFactory.create(eClass.getClassifierID());
- if (result == null) {
- if (eClass.isAbstract()) {
- Class instanceClass = eClass.getInstanceClass();
- try {
- Class concreteInstanceClass = DataObjectUtil.getImplementationClass(instanceClass, true);
- return (EObject)concreteInstanceClass.newInstance();
- }
- catch (Exception e)
- {
- //System.out.println("Error: " + e);
- }
- }
- return super.create(eClass);
- }
- return (EObject)result;
- }
-
- public Object createFromString(EDataType eDataType, String stringValue)
- {
- return sdoFactory.createFromString(eDataType.getClassifierID(), stringValue);
- }
-
- public String convertToString(EDataType eDataType, Object objectValue)
- {
- return sdoFactory.convertToString(eDataType.getClassifierID(), objectValue);
- }
-
- protected Object createFromString(int typeNumber, String stringValue)
- {
- return super.createFromString((EDataType)sdoFactory.getEClassifiers().get(typeNumber), stringValue);
- }
-
- protected String convertToString(int typeNumber, Object objectValue)
- {
- return super.convertToString((EDataType)sdoFactory.getEClassifiers().get(typeNumber), objectValue);
- }
- }
-
- private static final int DOCUMENT_ROOT = 0;
- private static final int DOCUMENT_ROOT__MIXED = 0;
- private static final int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
- private static final int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
- private static final String ANNOTATION_SOURCE = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
- private EClass documentRootEClass = null;
-
- private void createDocumentRoot()
- {
- documentRootEClass = ecoreFactory.createEClass();
- ((EClassImpl)documentRootEClass).setClassifierID(DOCUMENT_ROOT);
- getEClassifiers().add(DOCUMENT_ROOT, documentRootEClass);
-
- createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
- createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
- createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
-
- initEClass(documentRootEClass, null, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
- initEAttribute((EAttribute)documentRootEClass.getEStructuralFeatures().get(DOCUMENT_ROOT__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((EReference)documentRootEClass.getEStructuralFeatures().get(DOCUMENT_ROOT__XMLNS_PREFIX_MAP), 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((EReference)documentRootEClass.getEStructuralFeatures().get(DOCUMENT_ROOT__XSI_SCHEMA_LOCATION), 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);
-
- addAnnotation
- (documentRootEClass,
- ANNOTATION_SOURCE,
- new String[]
- {
- "name", "",
- "kind", "mixed"
- });
- addAnnotation
- ((EAttribute)documentRootEClass.getEStructuralFeatures().get(DOCUMENT_ROOT__MIXED),
- ANNOTATION_SOURCE,
- new String[]
- {
- "kind", "elementWildcard",
- "name", ":mixed"
- });
- addAnnotation
- ((EReference)documentRootEClass.getEStructuralFeatures().get(DOCUMENT_ROOT__XMLNS_PREFIX_MAP),
- ANNOTATION_SOURCE,
- new String[]
- {
- "kind", "attribute",
- "name", "xmlns:prefix"
- });
- addAnnotation
- ((EReference)documentRootEClass.getEStructuralFeatures().get(DOCUMENT_ROOT__XSI_SCHEMA_LOCATION),
- ANNOTATION_SOURCE,
- new String[]
- {
- "kind", "attribute",
- "name", "xsi:schemaLocation"
- });
- }
-
- /**
- * Initialize SDO runtime.
- */
- static
- {
- DataObjectUtil.initRuntime();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ListenerBase.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ListenerBase.java
deleted file mode 100644
index 986628bbc9..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ListenerBase.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.api.Event;
-import org.apache.tuscany.sdo.api.EventListener;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-
-public abstract class ListenerBase extends AdapterImpl implements EventListener {
-
- public void notifyChanged(Notification msg) {
- Event e = new EventImpl(msg);
- eventNotification(e);
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ReferenceImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ReferenceImpl.java
deleted file mode 100644
index 19fb89bbd3..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ReferenceImpl.java
+++ /dev/null
@@ -1,785 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.EReferenceImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Reference</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class ReferenceImpl extends EReferenceImpl implements Property,/* DataObject,*/ org.apache.tuscany.sdo.model.Property
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ReferenceImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getReference();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object getDefault()
- {
- return getDefaultValue();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isReadOnly()
- {
- //return "true".equals(EcoreUtil.getAnnotation(this, "commonj.sdo", "readOnly"));
- return !isChangeable(); //TODO semantics don't exactly match?
- }
-
- /**
- * Single-valued SDO properties behave as EMF unsettable, multi-valued properties as EMF !unsettable
- */
- public boolean isUnsettable()
- {
- return !isMany();
- }
-
- protected List aliasNames = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List getAliasNames()
- {
- if (aliasNames == null)
- {
- aliasNames = DataObjectUtil.getAliasNames(this);
- }
- return aliasNames;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Type getType()
- {
- return (Type)getEType();
- /*
- EClassifier eType = getEType();
- //FB More temporary hacks
- return eType instanceof Type ? (Type)getEType() : null;
- */
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Type getContainingType()
- {
- return (Type)getEContainingClass();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Property getOpposite()
- {
- return (Property)getEOpposite();
- }
-
- public boolean isNullable()
- {
- String isNillable = EcoreUtil.getAnnotation(this, ExtendedMetaData.ANNOTATION_URI, "nillable");
- return isNillable != null && "true".equals(isNillable);
- }
-
- public boolean isOpenContent()
- {
- return SDOUtil.isDocumentRoot(getContainingType());
- }
-
- public List getInstanceProperties() {
- return DataObjectUtil.getMetaObjectInstanceProperties(this);
- }
-
- public Object get(Property property) {
- return DataObjectUtil.getMetaObjectInstanceProperty(this, property);
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // org.apache.tuscany.sdo.model.Property methods
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- public List getAliasName() {
- return this.getAliasNames();
- }
-
- public Sequence getAny() {
- throw new UnsupportedOperationException();
- }
-
- public void setMany(boolean value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void unsetMany() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetMany() {
- return isMany();
- }
-
- public void setReadOnly(boolean value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void unsetReadOnly() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetReadOnly() {
- return isReadOnly();
- }
-
- public org.apache.tuscany.sdo.model.Type getType_() {
- return (org.apache.tuscany.sdo.model.Type)getType();
- }
-
- public void setType(org.apache.tuscany.sdo.model.Type value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public Sequence getAnyAttribute() {
- throw new UnsupportedOperationException();
- }
-
- public String getDefault_() {
- return (String) this.getDefault();
- }
-
- public void setDefault_(String value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public org.apache.tuscany.sdo.model.Property getOpposite_() {
- return (org.apache.tuscany.sdo.model.Property) getOpposite();
- }
-
- public void setOpposite_(org.apache.tuscany.sdo.model.Property value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void unsetContainment() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetContainment() {
- return isContainment();
- }
-
- public void setNullable(boolean value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void unsetNullable() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetNullable() {
- return isNullable();
- }
-
- public void unsetName()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetName()
- {
- return true;
- }
-
- public void unsetOpposite()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetOpposite()
- {
- return getOpposite() != null;
- }
-
- public void unsetType()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetType()
- {
- return true;
- }
-
- public void unsetDefault()
- {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSetDefault()
- {
- return getDefault() != null;
- }
-
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- // DataObject method implementations
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- public Object get(int propertyIndex) {
- return DataObjectUtil.get(this, propertyIndex);
- }
-
- public void set(int propertyIndex, Object value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSet(int propertyIndex) {
- return DataObjectUtil.isSet(this, propertyIndex);
- }
-
- public void unset(int propertyIndex) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public Object get(Property property) {
- return DataObjectUtil.get(this, ((EStructuralFeature)property).getFeatureID());
- }
-
- public void set(Property property, Object value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSet(Property property) {
- return DataObjectUtil.isSet(this, ((EStructuralFeature)property).getFeatureID());
- }
-
- public void unset(Property property) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject getContainer() {
- return (DataObject)eContainer();
- }
-
- public Property getContainmentProperty() {
- return (Property)eContainmentFeature();
- }
-
- // Remaining DataObject methods are (will be) implemented as straight delegation to DataObjectUtil
-
- public Object get(String path) {
- return DataObjectUtil.get(this, path);
- }
-
- public void set(String path, Object value) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean isSet(String path) {
- return DataObjectUtil.isSet(this, path);
- }
-
- public void unset(String path) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public boolean getBoolean(String path) {
- return DataObjectUtil.getBoolean(get(path));
- }
-
- public byte getByte(String path) {
- return DataObjectUtil.getByte(get(path));
- }
-
- public char getChar(String path) {
- return DataObjectUtil.getChar(get(path));
- }
-
- public double getDouble(String path) {
- return DataObjectUtil.getDouble(get(path));
- }
-
- public float getFloat(String path) {
- return DataObjectUtil.getFloat(get(path));
- }
-
- public int getInt(String path) {
- return DataObjectUtil.getInt(get(path));
- }
-
- public long getLong(String path) {
- return DataObjectUtil.getLong(get(path));
- }
-
- public short getShort(String path) {
- return DataObjectUtil.getShort(get(path));
- }
-
- public byte[] getBytes(String path) {
- return DataObjectUtil.getBytes(get(path));
- }
-
- public BigDecimal getBigDecimal(String path) {
- return DataObjectUtil.getBigDecimal(get(path));
- }
-
- public BigInteger getBigInteger(String path) {
- return DataObjectUtil.getBigInteger(get(path));
- }
-
- public DataObject getDataObject(String path) {
- return (DataObject)get(path);
- }
-
- public Date getDate(String path) {
- return DataObjectUtil.getDate(get(path));
- }
-
- public String getString(String path) {
- return DataObjectUtil.getString(get(path));
- }
-
- public List getList(String path) {
- return (List)get(path);
- }
-
- public Sequence getSequence(String path) {
- return (Sequence)get(path);
- }
-
- public void setBoolean(String path, boolean value) {
- set(path, new Boolean(value));
- }
-
- public void setByte(String path, byte value) {
- set(path, new Byte(value));
- }
-
- public void setChar(String path, char value) {
- set(path, new Character(value));
- }
-
- public void setDouble(String path, double value) {
- set(path, new Double(value));
- }
-
- public void setFloat(String path, float value) {
- set(path, new Float(value));
- }
-
- public void setInt(String path, int value) {
- set(path, new Integer(value));
- }
-
- public void setLong(String path, long value) {
- set(path, new Long(value));
- }
-
- public void setShort(String path, short value) {
- set(path, new Short(value));
- }
-
- public void setBytes(String path, byte[] value) {
- set(path, value);
- }
-
- public void setBigDecimal(String path, BigDecimal value) {
- set(path, value);
- }
-
- public void setBigInteger(String path, BigInteger value) {
- set(path, value);
- }
-
- public void setDataObject(String path, DataObject value) {
- set(path, value);
- }
-
- public void setDate(String path, Date value) {
- set(path, value);
- }
-
- public void setString(String path, String value) {
- set(path, value);
- }
-
- public void setList(String path, List value) {
- set(path, value);
- }
-
- public boolean getBoolean(int propertyIndex) {
- return DataObjectUtil.getBoolean(this, propertyIndex);
- }
-
- public byte getByte(int propertyIndex) {
- return DataObjectUtil.getByte(this, propertyIndex);
- }
-
- public char getChar(int propertyIndex) {
- return DataObjectUtil.getChar(this, propertyIndex);
- }
-
- public double getDouble(int propertyIndex) {
- return DataObjectUtil.getDouble(this, propertyIndex);
- }
-
- public float getFloat(int propertyIndex) {
- return DataObjectUtil.getFloat(this, propertyIndex);
- }
-
- public int getInt(int propertyIndex) {
- return DataObjectUtil.getInt(this, propertyIndex);
- }
-
- public long getLong(int propertyIndex) {
- return DataObjectUtil.getLong(this, propertyIndex);
- }
-
- public short getShort(int propertyIndex) {
- return DataObjectUtil.getShort(this, propertyIndex);
- }
-
- public byte[] getBytes(int propertyIndex) {
- return DataObjectUtil.getBytes(this, propertyIndex);
- }
-
- public BigDecimal getBigDecimal(int propertyIndex) {
- return DataObjectUtil.getBigDecimal(this, propertyIndex);
- }
-
- public BigInteger getBigInteger(int propertyIndex) {
- return DataObjectUtil.getBigInteger(this, propertyIndex);
- }
-
- public DataObject getDataObject(int propertyIndex) {
- return DataObjectUtil.getDataObject(this, propertyIndex);
- }
-
- public Date getDate(int propertyIndex) {
- return DataObjectUtil.getDate(this, propertyIndex);
- }
-
- public String getString(int propertyIndex) {
- return DataObjectUtil.getString(this, propertyIndex);
- }
-
- public List getList(int propertyIndex) {
- return DataObjectUtil.getList(this, propertyIndex);
- }
-
- public Sequence getSequence(int propertyIndex) {
- return DataObjectUtil.getSequence(this, propertyIndex);
- }
-
- public void setBoolean(int propertyIndex, boolean value) {
- set(propertyIndex, new Boolean(value));
- }
-
- public void setByte(int propertyIndex, byte value) {
- set(propertyIndex, new Byte(value));
- }
-
- public void setChar(int propertyIndex, char value) {
- set(propertyIndex, new Character(value));
- }
-
- public void setDouble(int propertyIndex, double value) {
- set(propertyIndex, new Double(value));
- }
-
- public void setFloat(int propertyIndex, float value) {
- set(propertyIndex, new Float(value));
- }
-
- public void setInt(int propertyIndex, int value) {
- set(propertyIndex, new Integer(value));
- }
-
- public void setLong(int propertyIndex, long value) {
- set(propertyIndex, new Long(value));
- }
-
- public void setShort(int propertyIndex, short value) {
- set(propertyIndex, new Short(value));
- }
-
- public void setBytes(int propertyIndex, byte[] value) {
- set(propertyIndex, value);
- }
-
- public void setBigDecimal(int propertyIndex, BigDecimal value) {
- set(propertyIndex, value);
- }
-
- public void setBigInteger(int propertyIndex, BigInteger value) {
- set(propertyIndex, value);
- }
-
- public void setDataObject(int propertyIndex, DataObject value) {
- set(propertyIndex, value);
- }
-
- public void setDate(int propertyIndex, Date value) {
- set(propertyIndex, value);
- }
-
- public void setString(int propertyIndex, String value) {
- set(propertyIndex, value);
- }
-
- public void setList(int propertyIndex, List value) {
- set(propertyIndex, value);
- }
-
- public boolean getBoolean(Property property) {
- return DataObjectUtil.getBoolean(this, property);
- }
-
- public byte getByte(Property property) {
- return DataObjectUtil.getByte(this, property);
- }
-
- public char getChar(Property property) {
- return DataObjectUtil.getChar(this, property);
- }
-
- public double getDouble(Property property) {
- return DataObjectUtil.getDouble(this, property);
- }
-
- public float getFloat(Property property) {
- return DataObjectUtil.getFloat(this, property);
- }
-
- public int getInt(Property property) {
- return DataObjectUtil.getInt(this, property);
- }
-
- public long getLong(Property property) {
- return DataObjectUtil.getLong(this, property);
- }
-
- public short getShort(Property property) {
- return DataObjectUtil.getShort(this, property);
- }
-
- public byte[] getBytes(Property property) {
- return DataObjectUtil.getBytes(this, property);
- }
-
- public BigDecimal getBigDecimal(Property property) {
- return DataObjectUtil.getBigDecimal(this, property);
- }
-
- public BigInteger getBigInteger(Property property) {
- return DataObjectUtil.getBigInteger(this, property);
- }
-
- public DataObject getDataObject(Property property) {
- return DataObjectUtil.getDataObject(this, property);
- }
-
- public Date getDate(Property property) {
- return DataObjectUtil.getDate(this, property);
- }
-
- public String getString(Property property) {
- return DataObjectUtil.getString(this, property);
- }
-
- public List getList(Property property) {
- return DataObjectUtil.getList(this, property);
- }
-
- public Sequence getSequence(Property property) {
- return DataObjectUtil.getSequence(this, property);
- }
-
- public void setBoolean(Property property, boolean value) {
- set(property, new Boolean(value));
- }
-
- public void setByte(Property property, byte value) {
- set(property, new Byte(value));
- }
-
- public void setChar(Property property, char value) {
- set(property, new Character(value));
- }
-
- public void setDouble(Property property, double value) {
- set(property, new Double(value));
- }
-
- public void setFloat(Property property, float value) {
- set(property, new Float(value));
- }
-
- public void setInt(Property property, int value) {
- set(property, new Integer(value));
- }
-
- public void setLong(Property property, long value) {
- set(property, new Long(value));
- }
-
- public void setShort(Property property, short value) {
- set(property, new Short(value));
- }
-
- public void setBytes(Property property, byte[] value) {
- set(property, value);
- }
-
- public void setBigDecimal(Property property, BigDecimal value) {
- set(property, value);
- }
-
- public void setBigInteger(Property property, BigInteger value) {
- set(property, value);
- }
-
- public void setDataObject(Property property, DataObject value) {
- set(property, value);
- }
-
- public void setDate(Property property, Date value) {
- set(property, value);
- }
-
- public void setString(Property property, String value) {
- set(property, value);
- }
-
- public void setList(Property property, List value) {
- set(property, value);
- }
-
- public DataObject createDataObject(String propertyName) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(String propertyName, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(int propertyIndex, String namespaceURI, String typeName) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataObject createDataObject(Property property, Type type) {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public void delete() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- }
-
- public DataGraph getDataGraph() {
- return DataObjectUtil.getDataGraph(this);
- }
-
- public Sequence getSequence() {
- EAttribute mixedFeature = BasicExtendedMetaData.INSTANCE.getMixedFeature(eClass());
- return mixedFeature != null ? (Sequence)eGet(mixedFeature, true, false) : null;
- }
-
- public List getInstanceProperties() {
- return DataObjectUtil.getInstanceProperties(this);
- }
-
- public DataObject getRootObject() {
- return DataObjectUtil.getRootObject(this);
- }
-
- public ChangeSummary getChangeSummary() {
- // TODO: implement this method
- throw new UnsupportedOperationException();
- }
-
- public void detach() {
- throw new UnsupportedOperationException("Property is frozen and cannot be modified");
- //DataObjectUtil.detach(this);
- }
-
- public Property getProperty(String propertyName) {
- return DataObjectUtil.getProperty(this, propertyName);
- }
- */
-
-} //ReferenceImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOFactoryImpl.java
deleted file mode 100644
index bb0f5ccd2a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOFactoryImpl.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.AnyTypeDataObject;
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.SimpleAnyTypeDataObject;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.impl.EcoreFactoryImpl;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class SDOFactoryImpl extends EFactoryImpl implements SDOFactory
-{
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public static SDOFactory init()
- {
- try
- {
- SDOFactory theSDOFactory = (SDOFactory)EPackage.Registry.INSTANCE.getEFactory(SDOPackage.eNS_URI);
- if (theSDOFactory != null)
- {
- return theSDOFactory;
- }
- }
- catch (Exception exception)
- {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new SDOFactoryImpl();
- }
-
- public static class SDOEcoreFactory extends EcoreFactoryImpl
- {
- public EClass createEClass() { return new ClassImpl(); }
- public EDataType createEDataType() { return new DataTypeImpl(); }
- //public EEnum createEEnum() { return new EnumImpl(); }
- public EAttribute createEAttribute() { return new AttributeImpl(); }
- public EReference createEReference() { return new ReferenceImpl(); }
-
-// public EFactory createEFactory()
-// {
-// EFactoryImpl eFactory = new EFactoryImpl() { OVERRIDE basicCreate(); } // TODO think about doing this
-// return eFactory;
-// }
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SDOFactoryImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject create(EClass eClass)
- {
- switch (eClass.getClassifierID())
- {
- case SDOPackage.CHANGE_SUMMARY: return (EObject)createChangeSummary();
- case SDOPackage.CHANGE_SUMMARY_SETTING: return (EObject)createChangeSummarySetting();
- case SDOPackage.DATA_GRAPH: return (EObject)createDataGraph();
- case SDOPackage.ANY_TYPE_DATA_OBJECT: return createAnyTypeDataObject();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT: return createSimpleAnyTypeDataObject();
- case SDOPackage.CLASS: return (EObject)createClass();
- case SDOPackage.DATA_TYPE: return (EObject)createDataType();
- case SDOPackage.ATTRIBUTE: return (EObject)createAttribute();
- case SDOPackage.REFERENCE: return (EObject)createReference();
- case SDOPackage.ENUM: return (EObject)createEnum();
- case SDOPackage.DYNAMIC_DATA_OBJECT: return (EObject)createDynamicDataObject();
- case SDOPackage.STORE_DATA_OBJECT: return (EObject)createStoreDataObject();
- case SDOPackage.DYNAMIC_STORE_DATA_OBJECT: return (EObject)createDynamicStoreDataObject();
- case SDOPackage.EXTENSIBLE_DATA_OBJECT: return (EObject)createExtensibleDataObject();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(EDataType eDataType, String initialValue)
- {
- switch (eDataType.getClassifierID())
- {
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(EDataType eDataType, Object instanceValue)
- {
- switch (eDataType.getClassifierID())
- {
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeSummary createChangeSummary()
- {
- ChangeSummaryImpl changeSummary = new ChangeSummaryImpl();
- return changeSummary;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeSummary.Setting createChangeSummarySetting()
- {
- ChangeSummarySettingImpl changeSummarySetting = new ChangeSummarySettingImpl();
- return changeSummarySetting;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataGraph createDataGraph()
- {
- DataGraphImpl dataGraph = new DataGraphImpl();
- return dataGraph;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public AnyTypeDataObject createAnyTypeDataObject()
- {
- AnyTypeDataObjectImpl anyTypeDataObject = new AnyTypeDataObjectImpl();
- return anyTypeDataObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SimpleAnyTypeDataObject createSimpleAnyTypeDataObject()
- {
- SimpleAnyTypeDataObjectImpl simpleAnyTypeDataObject = new SimpleAnyTypeDataObjectImpl();
- return simpleAnyTypeDataObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type createClass()
- {
- ClassImpl class_ = new ClassImpl();
- return class_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type createDataType()
- {
- DataTypeImpl dataType = new DataTypeImpl();
- return dataType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Property createAttribute()
- {
- AttributeImpl attribute = new AttributeImpl();
- return attribute;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Property createReference()
- {
- ReferenceImpl reference = new ReferenceImpl();
- return reference;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type createEnum()
- {
- EnumImpl enum_ = new EnumImpl();
- return enum_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject createDynamicDataObject()
- {
- DynamicDataObjectImpl dynamicDataObject = new DynamicDataObjectImpl();
- return dynamicDataObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject createStoreDataObject()
- {
- StoreDataObjectImpl storeDataObject = new StoreDataObjectImpl();
- return storeDataObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject createDynamicStoreDataObject()
- {
- DynamicStoreDataObjectImpl dynamicStoreDataObject = new DynamicStoreDataObjectImpl();
- return dynamicStoreDataObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject createExtensibleDataObject()
- {
- ExtensibleDataObjectImpl extensibleDataObject = new ExtensibleDataObjectImpl();
- return extensibleDataObject;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SDOPackage getSDOPackage()
- {
- return (SDOPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- public static SDOPackage getPackage()
- {
- return SDOPackage.eINSTANCE;
- }
-
- public ChangeSummary.Setting createChangeSummarySetting(EStructuralFeature eStructuralFeature, Object value, boolean isSet)
- {
- ChangeSummarySettingImpl eChangeSummarySetting = new ChangeSummarySettingImpl(eStructuralFeature, value, isSet);
- return eChangeSummarySetting;
- }
-
-} //SDOFactoryImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOPackageImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOPackageImpl.java
deleted file mode 100644
index 25bdab16fe..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SDOPackageImpl.java
+++ /dev/null
@@ -1,2207 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import java.io.ObjectStreamException;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.tuscany.sdo.AnyTypeDataObject;
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.SimpleAnyTypeDataObject;
-import org.apache.tuscany.sdo.impl.SDOFactoryImpl.SDOEcoreFactory;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.change.ChangePackage;
-import org.eclipse.emf.ecore.change.impl.ChangePackageImpl;
-import org.eclipse.emf.ecore.impl.EClassImpl;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class SDOPackageImpl extends EPackageImpl implements SDOPackage
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass changeSummaryEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass changeSummarySettingEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass dataGraphEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass dataObjectEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass propertyEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass sequenceEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass typeEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass anyTypeDataObjectEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass simpleAnyTypeDataObjectEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass classEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass dataTypeEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass attributeEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass referenceEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass enumEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass dynamicDataObjectEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass storeDataObjectEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass dynamicStoreDataObjectEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass extensibleDataObjectEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EDataType eJavaListEDataType = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EDataType eObjectStreamExceptionEDataType = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>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.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.apache.tuscany.sdo.SDOPackage#eNS_URI
- * @see #init()
- * @generated NOT
- */
- private SDOPackageImpl()
- {
- super(eNS_URI, SDOFactory.eINSTANCE);
- ecoreFactory = new SDOEcoreFactory();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> 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.
- * <p>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.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static SDOPackage init()
- {
- if (isInited) return (SDOPackage)EPackage.Registry.INSTANCE.getEPackage(SDOPackage.eNS_URI);
-
- // Obtain or create and register package
- SDOPackageImpl theSDOPackage = (SDOPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof SDOPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new SDOPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- EcorePackageImpl.init();
- XMLTypePackageImpl.init();
- ChangePackageImpl.init();
-
- // Create package meta-data objects
- theSDOPackage.createPackageContents();
-
- // Initialize created meta-data
- theSDOPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theSDOPackage.freeze();
-
- return theSDOPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getChangeSummary()
- {
- return changeSummaryEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getChangeSummary_EDataGraph()
- {
- return (EReference)changeSummaryEClass.getEStructuralFeatures().get(0);
- }
-
-// /**
-// * <!-- begin-user-doc -->
-// * <!-- end-user-doc -->
-// * <hand coded but could be generated>
-// */
-// public EReference getChangeSummary_EDataObject()
-// {
-// return (EReference)changeSummaryEClass.getEStructuralFeatures().get(1);
-// }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getChangeSummarySetting()
- {
- return changeSummarySettingEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getDataGraph()
- {
- return dataGraphEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getDataGraph_ResourceSet()
- {
- return (EAttribute)dataGraphEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getDataGraph_RootResource()
- {
- return (EAttribute)dataGraphEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getDataGraph_EChangeSummary()
- {
- return (EReference)dataGraphEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getDataGraph_ERootObject()
- {
- return (EReference)dataGraphEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getDataObject()
- {
- return dataObjectEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getProperty()
- {
- return propertyEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getSequence()
- {
- return sequenceEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getType()
- {
- return typeEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getAnyTypeDataObject()
- {
- return anyTypeDataObjectEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getSimpleAnyTypeDataObject()
- {
- return simpleAnyTypeDataObjectEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getClass_()
- {
- return classEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getDataType()
- {
- return dataTypeEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getAttribute()
- {
- return attributeEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getReference()
- {
- return referenceEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getEnum()
- {
- return enumEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getDynamicDataObject()
- {
- return dynamicDataObjectEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getStoreDataObject()
- {
- return storeDataObjectEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getDynamicStoreDataObject()
- {
- return dynamicStoreDataObjectEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getExtensibleDataObject()
- {
- return extensibleDataObjectEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EDataType getEJavaList()
- {
- return eJavaListEDataType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EDataType getEObjectStreamException()
- {
- return eObjectStreamExceptionEDataType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SDOFactory getSDOFactory()
- {
- return (SDOFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @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.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- changeSummaryEClass = createEClass(CHANGE_SUMMARY);
- createEReference(changeSummaryEClass, CHANGE_SUMMARY__EDATA_GRAPH);
-
- changeSummarySettingEClass = createEClass(CHANGE_SUMMARY_SETTING);
-
- dataGraphEClass = createEClass(DATA_GRAPH);
- createEAttribute(dataGraphEClass, DATA_GRAPH__RESOURCE_SET);
- createEAttribute(dataGraphEClass, DATA_GRAPH__ROOT_RESOURCE);
- createEReference(dataGraphEClass, DATA_GRAPH__ECHANGE_SUMMARY);
- createEReference(dataGraphEClass, DATA_GRAPH__EROOT_OBJECT);
-
- dataObjectEClass = createEClass(DATA_OBJECT);
-
- propertyEClass = createEClass(PROPERTY);
-
- sequenceEClass = createEClass(SEQUENCE);
-
- typeEClass = createEClass(TYPE);
-
- anyTypeDataObjectEClass = createEClass(ANY_TYPE_DATA_OBJECT);
-
- simpleAnyTypeDataObjectEClass = createEClass(SIMPLE_ANY_TYPE_DATA_OBJECT);
-
- classEClass = createEClass(CLASS);
-
- dataTypeEClass = createEClass(DATA_TYPE);
-
- attributeEClass = createEClass(ATTRIBUTE);
-
- referenceEClass = createEClass(REFERENCE);
-
- enumEClass = createEClass(ENUM);
-
- dynamicDataObjectEClass = createEClass(DYNAMIC_DATA_OBJECT);
-
- storeDataObjectEClass = createEClass(STORE_DATA_OBJECT);
-
- dynamicStoreDataObjectEClass = createEClass(DYNAMIC_STORE_DATA_OBJECT);
-
- extensibleDataObjectEClass = createEClass(EXTENSIBLE_DATA_OBJECT);
-
- // Create data types
- eJavaListEDataType = createEDataType(EJAVA_LIST);
- eObjectStreamExceptionEDataType = createEDataType(EOBJECT_STREAM_EXCEPTION);
- }
-
- protected EClass createEClass(int id)
- {
- EClassImpl c;
- switch(id) {
- case ANY_TYPE_DATA_OBJECT:
- c = new ClassImpl() {
- List baseTypes = null;
- public List getBaseTypes() {
- if (baseTypes == null)
- baseTypes = Collections.singletonList(getDataObject());
- return baseTypes;
- }
- public List getTypeFeatures() {
- return getEAllStructuralFeatures();
- }
- };
- break;
- case SIMPLE_ANY_TYPE_DATA_OBJECT:
- c = new ClassImpl() {
- List baseTypes = null;
- public List getBaseTypes() {
- if (baseTypes == null)
- baseTypes = Collections.singletonList(getAnyTypeDataObject());
- return baseTypes;
- }
- };
- break;
- default:
- c = (EClassImpl)ecoreFactory.createEClass();
- }
- c.setClassifierID(id);
- getEClassifiers().add(c);
- return c;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @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.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- ChangePackageImpl theChangePackage = (ChangePackageImpl)EPackage.Registry.INSTANCE.getEPackage(ChangePackage.eNS_URI);
- EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
- XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
-
- // Add supertypes to classes
- changeSummaryEClass.getESuperTypes().add(theChangePackage.getChangeDescription());
- changeSummarySettingEClass.getESuperTypes().add(theChangePackage.getFeatureChange());
- dataGraphEClass.getESuperTypes().add(theEcorePackage.getEObject());
- anyTypeDataObjectEClass.getESuperTypes().add(this.getDataObject());
- anyTypeDataObjectEClass.getESuperTypes().add(theXMLTypePackage.getAnyType());
- simpleAnyTypeDataObjectEClass.getESuperTypes().add(this.getAnyTypeDataObject());
- simpleAnyTypeDataObjectEClass.getESuperTypes().add(theXMLTypePackage.getSimpleAnyType());
- classEClass.getESuperTypes().add(theEcorePackage.getEClass());
- classEClass.getESuperTypes().add(this.getType());
- dataTypeEClass.getESuperTypes().add(theEcorePackage.getEDataType());
- dataTypeEClass.getESuperTypes().add(this.getType());
- attributeEClass.getESuperTypes().add(theEcorePackage.getEAttribute());
- attributeEClass.getESuperTypes().add(this.getProperty());
- referenceEClass.getESuperTypes().add(theEcorePackage.getEReference());
- referenceEClass.getESuperTypes().add(this.getProperty());
- enumEClass.getESuperTypes().add(theEcorePackage.getEEnum());
- enumEClass.getESuperTypes().add(this.getType());
- dynamicDataObjectEClass.getESuperTypes().add(this.getDataObject());
- storeDataObjectEClass.getESuperTypes().add(this.getDataObject());
- dynamicStoreDataObjectEClass.getESuperTypes().add(this.getStoreDataObject());
- extensibleDataObjectEClass.getESuperTypes().add(this.getDataObject());
-
- // Initialize classes and features; add operations and parameters
- initEClass(changeSummaryEClass, ChangeSummary.class, "ChangeSummary", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
- initEReference(getChangeSummary_EDataGraph(), this.getDataGraph(), this.getDataGraph_EChangeSummary(), "eDataGraph", null, 1, 1, ChangeSummary.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(changeSummaryEClass, null, "beginLogging");
-
- addEOperation(changeSummaryEClass, null, "endLogging");
-
- EOperation op = addEOperation(changeSummaryEClass, ecorePackage.getEBoolean(), "isCreated");
- addEParameter(op, this.getDataObject(), "dataObject");
-
- op = addEOperation(changeSummaryEClass, ecorePackage.getEBoolean(), "isDeleted");
- addEParameter(op, this.getDataObject(), "dataObject");
-
- op = addEOperation(changeSummaryEClass, this.getEJavaList(), "getOldValues");
- addEParameter(op, this.getDataObject(), "dataObject");
-
- op = addEOperation(changeSummaryEClass, ecorePackage.getEBoolean(), "isModified");
- addEParameter(op, this.getDataObject(), "dataObject");
-
- op = addEOperation(changeSummaryEClass, this.getChangeSummarySetting(), "getOldValue");
- addEParameter(op, this.getDataObject(), "dataObject");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(changeSummaryEClass, this.getDataObject(), "getOldContainer");
- addEParameter(op, this.getDataObject(), "dataObject");
-
- op = addEOperation(changeSummaryEClass, this.getProperty(), "getOldContainmentProperty");
- addEParameter(op, this.getDataObject(), "dataObject");
-
- op = addEOperation(changeSummaryEClass, this.getSequence(), "getOldSequence");
- addEParameter(op, this.getDataObject(), "dataObject");
-
- addEOperation(changeSummaryEClass, null, "undoChanges");
-
- addEOperation(changeSummaryEClass, ecorePackage.getEBoolean(), "isLogging");
-
- addEOperation(changeSummaryEClass, this.getDataGraph(), "getDataGraph");
-
- addEOperation(changeSummaryEClass, this.getEJavaList(), "getChangedObjects");
-
- addEOperation(changeSummaryEClass, this.getDataObject(), "getRootObject");
-
- initEClass(changeSummarySettingEClass, ChangeSummary.Setting.class, "ChangeSummarySetting", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- addEOperation(changeSummarySettingEClass, ecorePackage.getEBoolean(), "isSet");
-
- addEOperation(changeSummarySettingEClass, theEcorePackage.getEJavaObject(), "getValue");
-
- addEOperation(changeSummarySettingEClass, this.getProperty(), "getProperty");
-
- initEClass(dataGraphEClass, DataGraph.class, "DataGraph", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getDataGraph_ResourceSet(), theEcorePackage.getEResourceSet(), "resourceSet", null, 0, 1, DataGraph.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getDataGraph_RootResource(), theEcorePackage.getEResource(), "rootResource", null, 0, 1, DataGraph.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
- initEReference(getDataGraph_EChangeSummary(), this.getChangeSummary(), this.getChangeSummary_EDataGraph(), "eChangeSummary", null, 1, 1, DataGraph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getDataGraph_ERootObject(), theEcorePackage.getEObject(), null, "eRootObject", null, 1, 1, DataGraph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- op = addEOperation(dataGraphEClass, this.getDataObject(), "createRootObject");
- addEParameter(op, ecorePackage.getEString(), "namespaceURI");
- addEParameter(op, ecorePackage.getEString(), "typeName");
-
- op = addEOperation(dataGraphEClass, this.getDataObject(), "createRootObject");
- addEParameter(op, this.getType(), "type");
-
- op = addEOperation(dataGraphEClass, this.getType(), "getType");
- addEParameter(op, ecorePackage.getEString(), "namespaceURI");
- addEParameter(op, ecorePackage.getEString(), "typeName");
-
- addEOperation(dataGraphEClass, this.getDataObject(), "getRootObject");
-
- addEOperation(dataGraphEClass, this.getChangeSummary(), "getChangeSummary");
-
- initEClass(dataObjectEClass, DataObject.class, "DataObject", IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEJavaObject(), "get");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, null, "set");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEBoolean(), "isSet");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, null, "unset");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEJavaObject(), "get");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, null, "set");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEBoolean(), "isSet");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, null, "unset");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEJavaObject(), "get");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, null, "set");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEBoolean(), "isSet");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, null, "unset");
- addEParameter(op, this.getProperty(), "property");
-
- addEOperation(dataObjectEClass, this.getDataObject(), "getContainer");
-
- addEOperation(dataObjectEClass, this.getProperty(), "getContainmentProperty");
-
- addEOperation(dataObjectEClass, this.getDataGraph(), "getDataGraph");
-
- addEOperation(dataObjectEClass, this.getType(), "getType");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEBigDecimal(), "getBigDecimal");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEBigInteger(), "getBigInteger");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEBoolean(), "getBoolean");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEByte(), "getByte");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEByteArray(), "getBytes");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEChar(), "getChar");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "getDataObject");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEDate(), "getDate");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEDouble(), "getDouble");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEFloat(), "getFloat");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEInt(), "getInt");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, this.getEJavaList(), "getList");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getELong(), "getLong");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, this.getSequence(), "getSequence");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEShort(), "getShort");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEString(), "getString");
- addEParameter(op, ecorePackage.getEString(), "path");
-
- op = addEOperation(dataObjectEClass, null, "setBigDecimal");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, theEcorePackage.getEBigDecimal(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBigInteger");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, theEcorePackage.getEBigInteger(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBoolean");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEBoolean(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setByte");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEByte(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBytes");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, theEcorePackage.getEByteArray(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setChar");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEChar(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDataObject");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, this.getDataObject(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDate");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, theEcorePackage.getEDate(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDouble");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEDouble(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setFloat");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEFloat(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setInt");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEInt(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setList");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, this.getEJavaList(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setLong");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getELong(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setShort");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEShort(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setString");
- addEParameter(op, ecorePackage.getEString(), "path");
- addEParameter(op, ecorePackage.getEString(), "value");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEBigDecimal(), "getBigDecimal");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEBigInteger(), "getBigInteger");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEBoolean(), "getBoolean");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEByte(), "getByte");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEByteArray(), "getBytes");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEChar(), "getChar");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "getDataObject");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEDate(), "getDate");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEDouble(), "getDouble");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEFloat(), "getFloat");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEInt(), "getInt");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, this.getEJavaList(), "getList");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getELong(), "getLong");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, this.getSequence(), "getSequence");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEShort(), "getShort");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEString(), "getString");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, null, "setBigDecimal");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, theEcorePackage.getEBigDecimal(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBigInteger");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, theEcorePackage.getEBigInteger(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBoolean");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEBoolean(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setByte");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEByte(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBytes");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, theEcorePackage.getEByteArray(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setChar");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEChar(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDataObject");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, this.getDataObject(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDate");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, theEcorePackage.getEDate(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDouble");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEDouble(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setFloat");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEFloat(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setInt");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEInt(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setList");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, this.getEJavaList(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setLong");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getELong(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setShort");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEShort(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setString");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEString(), "value");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEBigDecimal(), "getBigDecimal");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEBigInteger(), "getBigInteger");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEBoolean(), "getBoolean");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEByte(), "getByte");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEByteArray(), "getBytes");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEChar(), "getChar");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "getDataObject");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, theEcorePackage.getEDate(), "getDate");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEDouble(), "getDouble");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEFloat(), "getFloat");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEInt(), "getInt");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, this.getEJavaList(), "getList");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getELong(), "getLong");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, this.getSequence(), "getSequence");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEShort(), "getShort");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, ecorePackage.getEString(), "getString");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, null, "setBigDecimal");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, theEcorePackage.getEBigDecimal(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBigInteger");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, theEcorePackage.getEBigInteger(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBoolean");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEBoolean(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setByte");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEByte(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setBytes");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, theEcorePackage.getEByteArray(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setChar");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEChar(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDataObject");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, this.getDataObject(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDate");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, theEcorePackage.getEDate(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setDouble");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEDouble(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setFloat");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEFloat(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setInt");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEInt(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setList");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, this.getEJavaList(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setLong");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getELong(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setShort");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEShort(), "value");
-
- op = addEOperation(dataObjectEClass, null, "setString");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, ecorePackage.getEString(), "value");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "createDataObject");
- addEParameter(op, ecorePackage.getEString(), "propertyName");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "createDataObject");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "createDataObject");
- addEParameter(op, this.getProperty(), "property");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "createDataObject");
- addEParameter(op, ecorePackage.getEString(), "propertyName");
- addEParameter(op, ecorePackage.getEString(), "namespaceURI");
- addEParameter(op, ecorePackage.getEString(), "typeName");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "createDataObject");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, ecorePackage.getEString(), "namespaceURI");
- addEParameter(op, ecorePackage.getEString(), "typeName");
-
- op = addEOperation(dataObjectEClass, this.getDataObject(), "createDataObject");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, this.getType(), "type");
-
- addEOperation(dataObjectEClass, null, "delete");
-
- addEOperation(dataObjectEClass, this.getSequence(), "getSequence");
-
- addEOperation(dataObjectEClass, this.getEJavaList(), "getInstanceProperties");
-
- op = addEOperation(dataObjectEClass, this.getProperty(), "getProperty");
- addEParameter(op, ecorePackage.getEString(), "propertyName");
-
- addEOperation(dataObjectEClass, this.getDataObject(), "getRootObject");
-
- addEOperation(dataObjectEClass, this.getChangeSummary(), "getChangeSummary");
-
- addEOperation(dataObjectEClass, null, "detach");
-
- initEClass(propertyEClass, Property.class, "Property", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- addEOperation(propertyEClass, ecorePackage.getEString(), "getName");
-
- addEOperation(propertyEClass, this.getType(), "getType");
-
- addEOperation(propertyEClass, ecorePackage.getEBoolean(), "isMany");
-
- addEOperation(propertyEClass, ecorePackage.getEBoolean(), "isContainment");
-
- addEOperation(propertyEClass, ecorePackage.getEBoolean(), "isReadOnly");
-
- addEOperation(propertyEClass, this.getType(), "getContainingType");
-
- addEOperation(propertyEClass, this.getEJavaList(), "getAliasNames");
-
- addEOperation(propertyEClass, this.getProperty(), "getOpposite");
-
- addEOperation(propertyEClass, theEcorePackage.getEJavaObject(), "getDefault");
-
- initEClass(sequenceEClass, Sequence.class, "Sequence", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- addEOperation(sequenceEClass, ecorePackage.getEInt(), "size");
-
- op = addEOperation(sequenceEClass, this.getProperty(), "getProperty");
- addEParameter(op, ecorePackage.getEInt(), "index");
-
- op = addEOperation(sequenceEClass, theEcorePackage.getEJavaObject(), "getValue");
- addEParameter(op, ecorePackage.getEInt(), "index");
-
- op = addEOperation(sequenceEClass, theEcorePackage.getEJavaObject(), "setValue");
- addEParameter(op, ecorePackage.getEInt(), "index");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(sequenceEClass, ecorePackage.getEBoolean(), "add");
- addEParameter(op, ecorePackage.getEString(), "propertyName");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(sequenceEClass, ecorePackage.getEBoolean(), "add");
- addEParameter(op, ecorePackage.getEInt(), "propertIndex");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(sequenceEClass, ecorePackage.getEBoolean(), "add");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(sequenceEClass, null, "add");
- addEParameter(op, ecorePackage.getEInt(), "index");
- addEParameter(op, ecorePackage.getEString(), "propertyName");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(sequenceEClass, null, "add");
- addEParameter(op, ecorePackage.getEInt(), "index");
- addEParameter(op, ecorePackage.getEInt(), "propertyIndex");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(sequenceEClass, null, "add");
- addEParameter(op, ecorePackage.getEInt(), "index");
- addEParameter(op, this.getProperty(), "property");
- addEParameter(op, theEcorePackage.getEJavaObject(), "value");
-
- op = addEOperation(sequenceEClass, null, "add");
- addEParameter(op, ecorePackage.getEString(), "text");
-
- op = addEOperation(sequenceEClass, null, "add");
- addEParameter(op, ecorePackage.getEInt(), "index");
- addEParameter(op, ecorePackage.getEString(), "text");
-
- initEClass(typeEClass, Type.class, "Type", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- addEOperation(typeEClass, ecorePackage.getEString(), "getName");
-
- addEOperation(typeEClass, ecorePackage.getEString(), "getURI");
-
- addEOperation(typeEClass, theEcorePackage.getEJavaClass(), "getInstanceClass");
-
- op = addEOperation(typeEClass, ecorePackage.getEBoolean(), "isInstance");
- addEParameter(op, theEcorePackage.getEJavaObject(), "object");
-
- addEOperation(typeEClass, ecorePackage.getEBoolean(), "isDataType");
-
- addEOperation(typeEClass, ecorePackage.getEBoolean(), "isSequenced");
-
- addEOperation(typeEClass, ecorePackage.getEBoolean(), "isOpen");
-
- addEOperation(typeEClass, ecorePackage.getEBoolean(), "isAbstract");
-
- addEOperation(typeEClass, this.getEJavaList(), "getBaseTypes");
-
- addEOperation(typeEClass, this.getEJavaList(), "getAliasNames");
-
- addEOperation(typeEClass, this.getEJavaList(), "getProperties");
-
- addEOperation(typeEClass, this.getEJavaList(), "getDeclaredProperties");
-
- op = addEOperation(typeEClass, this.getProperty(), "getProperty");
- addEParameter(op, ecorePackage.getEString(), "propertyName");
-
- initEClass(anyTypeDataObjectEClass, AnyTypeDataObject.class, "AnyTypeDataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(simpleAnyTypeDataObjectEClass, SimpleAnyTypeDataObject.class, "SimpleAnyTypeDataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(classEClass, Type.class, "Class", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(dataTypeEClass, Type.class, "DataType", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(attributeEClass, Property.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(referenceEClass, Property.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(enumEClass, Type.class, "Enum", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(dynamicDataObjectEClass, DataObject.class, "DynamicDataObject", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(storeDataObjectEClass, DataObject.class, "StoreDataObject", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(dynamicStoreDataObjectEClass, DataObject.class, "DynamicStoreDataObject", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(extensibleDataObjectEClass, DataObject.class, "ExtensibleDataObject", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
-
- // Initialize data types
- initEDataType(eJavaListEDataType, List.class, "EJavaList", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
- initEDataType(eObjectStreamExceptionEDataType, ObjectStreamException.class, "EObjectStreamException", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
-
- // Create resource
- createResource(eNS_URI);
-
- // Create annotations
- // http://www.eclipse.org/emf/2002/GenModel
- createGenModelAnnotations();
- // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
- createExtendedMetaDataAnnotations();
- }
-
- /**
- * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/GenModel</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void createGenModelAnnotations()
- {
- String source = "http://www.eclipse.org/emf/2002/GenModel";
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(0),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.get(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(1),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.set(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(2),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.isSet(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(3),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.unset(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(4),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.get(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(5),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.set(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(6),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.isSet(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(7),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.unset(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(8),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.get(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(9),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.set(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(10),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.isSet(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(11),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.unset(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(12),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getContainer(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(13),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getContainmentProperty(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(14),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDataGraph(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(15),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getType(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(16),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBigDecimal(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(17),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBigInteger(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(18),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBoolean(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(19),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getByte(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(20),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBytes(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(21),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getChar(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(22),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDataObject(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(23),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDate(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(24),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDouble(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(25),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getFloat(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(26),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getInt(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(27),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getList(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(28),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getLong(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(29),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getSequence(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(30),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getShort(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(31),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getString(this, path);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(32),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBigDecimal(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(33),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBigInteger(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(34),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBoolean(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(35),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setByte(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(36),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBytes(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(37),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setChar(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(38),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDataObject(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(39),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDate(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(40),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDouble(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(41),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setFloat(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(42),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setInt(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(43),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setList(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(44),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setLong(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(45),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setShort(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(46),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setString(this, path, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(47),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBigDecimal(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(48),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBigInteger(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(49),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBoolean(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(50),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getByte(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(51),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBytes(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(52),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getChar(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(53),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDataObject(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(54),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDate(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(55),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDouble(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(56),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getFloat(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(57),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getInt(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(58),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getList(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(59),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getLong(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(60),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getSequence(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(61),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getShort(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(62),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getString(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(63),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBigDecimal(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(64),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBigInteger(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(65),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBoolean(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(66),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setByte(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(67),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBytes(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(68),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setChar(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(69),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDataObject(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(70),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDate(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(71),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDouble(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(72),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setFloat(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(73),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setInt(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(74),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setList(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(75),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setLong(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(76),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setShort(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(77),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setString(this, propertyIndex, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(78),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBigDecimal(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(79),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBigInteger(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(80),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBoolean(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(81),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getByte(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(82),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getBytes(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(83),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getChar(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(84),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDataObject(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(85),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDate(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(86),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getDouble(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(87),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getFloat(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(88),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getInt(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(89),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getList(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(90),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getLong(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(91),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getSequence(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(92),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getShort(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(93),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getString(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(94),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBigDecimal(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(95),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBigInteger(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(96),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBoolean(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(97),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setByte(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(98),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setBytes(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(99),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setChar(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(100),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDataObject(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(101),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDate(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(102),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setDouble(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(103),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setFloat(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(104),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setInt(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(105),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setList(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(106),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setLong(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(107),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setShort(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(108),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.setString(this, property, value);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(109),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.createDataObject(this, propertyName);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(110),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.createDataObject(this, propertyIndex);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(111),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.createDataObject(this, property);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(112),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.createDataObject(this, propertyName, namespaceURI, typeName);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(113),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.createDataObject(this, propertyIndex, namespaceURI, typeName);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(114),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.createDataObject(this, property, type);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(115),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.delete(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(116),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getSequence(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(117),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getInstanceProperties(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(118),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getProperty(this, propertyName);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(119),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getRootObject(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(120),
- source,
- new String[]
- {
- "body", "return <%org.apache.sdo.util.SDOUtil%>.getChangeSummary(this);"
- });
- addAnnotation
- ((EOperation)dataObjectEClass.getEOperations().get(121),
- source,
- new String[]
- {
- "body", "<%org.apache.sdo.util.SDOUtil%>.detach(this);"
- });
- }
-
- /**
- * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void createExtendedMetaDataAnnotations()
- {
- String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
- addAnnotation
- (anyTypeDataObjectEClass,
- source,
- new String[]
- {
- "kind", "mixed"
- });
- addAnnotation
- (simpleAnyTypeDataObjectEClass,
- source,
- new String[]
- {
- "kind", "simple"
- });
- }
-
-} //SDOPackageImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SimpleAnyTypeDataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SimpleAnyTypeDataObjectImpl.java
deleted file mode 100644
index e257e30d27..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/SimpleAnyTypeDataObjectImpl.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import java.util.Iterator;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.SimpleAnyTypeDataObject;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.xml.type.SimpleAnyType;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>EData Object Simple Any Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.impl.SimpleAnyTypeDataObjectImpl#getRawValue <em>Raw Value</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.impl.SimpleAnyTypeDataObjectImpl#getValue <em>Value</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.impl.SimpleAnyTypeDataObjectImpl#getInstanceType <em>Instance Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class SimpleAnyTypeDataObjectImpl extends AnyTypeDataObjectImpl implements SimpleAnyTypeDataObject
-{
- /**
- * The default value of the '{@link #getRawValue() <em>Raw Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRawValue()
- * @generated
- * @ordered
- */
- protected static final String RAW_VALUE_EDEFAULT = null;
-
- /**
- * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValue()
- * @generated
- * @ordered
- */
- protected static final Object VALUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getInstanceType() <em>Instance Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInstanceType()
- * @generated
- * @ordered
- */
- protected EDataType instanceType = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected SimpleAnyTypeDataObjectImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getSimpleAnyTypeDataObject();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getRawValue()
- {
- StringBuffer value = new StringBuffer();
- for (Iterator i = getMixed().iterator(); i.hasNext(); )
- {
- FeatureMap.Entry entry = (FeatureMap.Entry)i.next();
- if (entry.getEStructuralFeature() == XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Text())
- {
- value.append(entry.getValue());
- }
- }
- return value.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setRawValue(String newRawValue)
- {
- getMixed().clear();
- if (newRawValue != null)
- {
- getMixed().add(XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Text(), newRawValue);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object getValue()
- {
- return EcoreUtil.createFromString(instanceType, getRawValue());
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setValue(Object newValue)
- {
- setRawValue(EcoreUtil.convertToString(instanceType, newValue));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EDataType getInstanceType()
- {
- return instanceType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setInstanceType(EDataType newInstanceType)
- {
- EDataType oldInstanceType = instanceType;
- instanceType = newInstanceType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE, oldInstanceType, instanceType));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__MIXED:
- if (coreType) return getMixed();
- return ((FeatureMap.Internal)getMixed()).getWrapper();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY:
- if (coreType) return getAny();
- return ((FeatureMap.Internal)getAny()).getWrapper();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- if (coreType) return getAnyAttribute();
- return ((FeatureMap.Internal)getAnyAttribute()).getWrapper();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__RAW_VALUE:
- return getRawValue();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__VALUE:
- return getValue();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE:
- return getInstanceType();
- }
- return eDynamicGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__MIXED:
- ((FeatureMap.Internal)getMixed()).set(newValue);
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY:
- ((FeatureMap.Internal)getAny()).set(newValue);
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- ((FeatureMap.Internal)getAnyAttribute()).set(newValue);
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__RAW_VALUE:
- setRawValue((String)newValue);
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__VALUE:
- setValue((Object)newValue);
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE:
- setInstanceType((EDataType)newValue);
- return;
- }
- eDynamicSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__MIXED:
- getMixed().clear();
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY:
- getAny().clear();
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- getAnyAttribute().clear();
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__RAW_VALUE:
- setRawValue(RAW_VALUE_EDEFAULT);
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__VALUE:
- setValue(VALUE_EDEFAULT);
- return;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE:
- setInstanceType((EDataType)null);
- return;
- }
- eDynamicUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__MIXED:
- return mixed != null && !mixed.isEmpty();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY:
- return !getAny().isEmpty();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__ANY_ATTRIBUTE:
- return anyAttribute != null && !anyAttribute.isEmpty();
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__RAW_VALUE:
- return RAW_VALUE_EDEFAULT == null ? getRawValue() != null : !RAW_VALUE_EDEFAULT.equals(getRawValue());
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__VALUE:
- return VALUE_EDEFAULT == null ? getValue() != null : !VALUE_EDEFAULT.equals(getValue());
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE:
- return instanceType != null;
- }
- return eDynamicIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
- {
- if (baseClass == SimpleAnyType.class)
- {
- switch (derivedFeatureID)
- {
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__RAW_VALUE: return XMLTypePackage.SIMPLE_ANY_TYPE__RAW_VALUE;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__VALUE: return XMLTypePackage.SIMPLE_ANY_TYPE__VALUE;
- case SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE: return XMLTypePackage.SIMPLE_ANY_TYPE__INSTANCE_TYPE;
- default: return -1;
- }
- }
- return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
- {
- if (baseClass == SimpleAnyType.class)
- {
- switch (baseFeatureID)
- {
- case XMLTypePackage.SIMPLE_ANY_TYPE__RAW_VALUE: return SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__RAW_VALUE;
- case XMLTypePackage.SIMPLE_ANY_TYPE__VALUE: return SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__VALUE;
- case XMLTypePackage.SIMPLE_ANY_TYPE__INSTANCE_TYPE: return SDOPackage.SIMPLE_ANY_TYPE_DATA_OBJECT__INSTANCE_TYPE;
- default: return -1;
- }
- }
- return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
- }
-
-} //EDataObjectSimpleAnyTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/StoreDataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/StoreDataObjectImpl.java
deleted file mode 100644
index 0cf7f3586c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/StoreDataObjectImpl.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.impl;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EStoreEObjectImpl.EStoreEList;
-import org.eclipse.emf.ecore.impl.EStoreEObjectImpl.EStoreFeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-
-import commonj.sdo.DataObject;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Store Data Object</b></em>'.
- * @extends EStructuralFeature.Internal.DynamicValueHolder
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class StoreDataObjectImpl extends DataObjectImpl implements DataObject, EStructuralFeature.Internal.DynamicValueHolder
-{
- //TODO consider factoring the eSettings code into a new base class that this and DynamicDataObjectImpl could extend
-
- protected static final Object [] ENO_SETTINGS = new Object [0];
- protected static final InternalEObject EUNINITIALIZED_CONTAINER = new DynamicDataObjectImpl();
-
- protected Object [] eSettings;
- protected InternalEObject.EStore eStore;
-
- /**
- * Creates a store-based DataObject.
- */
- public StoreDataObjectImpl()
- {
- super();
- eContainer = EUNINITIALIZED_CONTAINER;
- }
-
- /**
- * Creates a store-based DataObject.
- */
- public StoreDataObjectImpl(InternalEObject.EStore eStore)
- {
- super();
- eSetStore(eStore);
- eContainer = EUNINITIALIZED_CONTAINER;
- }
-
- /**
- * Creates a store-based DataObject.
- */
- public StoreDataObjectImpl(EClass eClass)
- {
- super();
- eSetClass(eClass);
- eContainer = EUNINITIALIZED_CONTAINER;
- }
-
- /**
- * Creates a store-based DataObject.
- */
- public StoreDataObjectImpl(EClass eClass, InternalEObject.EStore eStore)
- {
- super();
- eSetClass(eClass);
- eSetStore(eStore);
- eContainer = EUNINITIALIZED_CONTAINER;
- }
-
- protected boolean eIsCaching()
- {
- return true;
- }
-
- public Object dynamicGet(int dynamicFeatureID)
- {
- Object result = eSettings[dynamicFeatureID];
- if (result == null)
- {
- EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);
- if (!eStructuralFeature.isTransient())
- {
- if (FeatureMapUtil.isFeatureMap(eStructuralFeature))
- {
- eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature);
- }
- else if (eStructuralFeature.isMany())
- {
- eSettings[dynamicFeatureID] = result = createList(eStructuralFeature);
- }
- else
- {
- result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX);
- if (eIsCaching())
- {
- eSettings[dynamicFeatureID] = result;
- }
- }
- }
- }
- return result;
- }
-
- public void dynamicSet(int dynamicFeatureID, Object value)
- {
- EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);
- if (eStructuralFeature.isTransient())
- {
- eSettings[dynamicFeatureID] = value;
- }
- else
- {
- eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value == NIL ? null : value);
- if (eIsCaching())
- {
- eSettings[dynamicFeatureID] = value;
- }
- }
- }
-
- public void dynamicUnset(int dynamicFeatureID)
- {
- eStore().unset(this, eDynamicFeature(dynamicFeatureID));
- eSettings[dynamicFeatureID] = null;
- }
-
- public Object eDynamicGet(int featureID, boolean resolve, boolean coreType)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- return eSettingDelegate(eFeature).dynamicGet(this, eSettings(), featureID, resolve, coreType);
- }
- else
- {
- return super.eDynamicGet(featureID, resolve, coreType);
- }
- }
-
- public void eDynamicSet(int featureID, Object newValue)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- eDynamicSet(featureID, eFeature, newValue);
- }
- else
- {
- super.eDynamicSet(featureID, newValue);
- }
- }
-
- public void eDynamicUnset(int featureID)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- eDynamicUnset(featureID, eFeature);
- }
- else
- {
- super.eDynamicUnset(featureID);
- }
- }
-
- public boolean eDynamicIsSet(int featureID)
- {
- if (featureID < eClass().getFeatureCount())
- {
- EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
- return eFeature.isTransient() ?
- eSettingDelegate(eFeature).dynamicIsSet(this, eSettings(), featureID) :
- eStore().isSet(this, eFeature);
- }
- else
- {
- return super.eDynamicIsSet(featureID);
- }
- }
-
- /*
- public boolean eDynamicIsSet(EStructuralFeature eStructuralFeature)
- {
- return
- eStructuralFeature.isTransient() ?
- super.eDynamicIsSet(eStructuralFeature) :
- eStore().isSet(this, eStructuralFeature);
- }
- */
-
- protected EList createList(EStructuralFeature eStructuralFeature)
- {
- return new EStoreEList(this, eStructuralFeature, eStore());
- }
-
- protected FeatureMap createFeatureMap(EStructuralFeature eStructuralFeature)
- {
- return new EStoreFeatureMap(this, eStructuralFeature, eStore());
- }
-
- public EObject eContainer()
- {
- if (eContainer == EUNINITIALIZED_CONTAINER)
- {
- eInitializeContainer();
- }
-
- return eContainer;
- }
-
- public int eContainerFeatureID()
- {
- if (eContainer == EUNINITIALIZED_CONTAINER)
- {
- eInitializeContainer();
- }
-
- return eContainerFeatureID;
- }
-
- protected void eInitializeContainer()
- {
- eContainer = eStore().getContainer(this);
- if (eContainer != null)
- {
- EStructuralFeature eContainingFeature = eStore().getContainingFeature(this);
- if (eContainingFeature instanceof EReference)
- {
- EReference eContainingReference = (EReference)eContainingFeature;
- EReference eOpposite = eContainingReference.getEOpposite();
- if (eOpposite != null)
- {
- eContainerFeatureID = eClass().getFeatureID(eOpposite);
- return;
- }
- }
-
- eContainerFeatureID = EOPPOSITE_FEATURE_BASE - eContainer.eClass().getFeatureID(eContainingFeature);
- }
- }
-
- public InternalEObject.EStore eStore()
- {
- return eStore;
- }
-
- public void eSetStore(InternalEObject.EStore store)
- {
- this.eStore = store;
- }
-
- protected int eStaticFeatureCount()
- {
- return 0;
- }
-
- public int eDerivedStructuralFeatureID(EStructuralFeature eStructuralFeature)
- {
- return eClass().getFeatureID(eStructuralFeature);
- }
-
- protected boolean eHasSettings()
- {
- return eSettings != null;
- }
-
- protected EStructuralFeature.Internal.DynamicValueHolder eSettings()
- {
- if (eSettings == null)
- {
- int size = eClass().getFeatureCount() - eStaticFeatureCount();
- eSettings = size == 0 ? ENO_SETTINGS : new Object [size];
- }
-
- return this;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass()
- {
- return SDOPackage.eINSTANCE.getStoreDataObject();
- }
-
-} //StoreDataObjectImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/BaseDataGraphType.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/BaseDataGraphType.java
deleted file mode 100644
index e57b11474b..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/BaseDataGraphType.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.Sequence;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Base Data Graph Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getModels <em>Models</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getXsd <em>Xsd</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getChangeSummary <em>Change Summary</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getAnyAttribute <em>Any Attribute</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface BaseDataGraphType extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Models</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Models</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Models</em>' containment reference.
- * @see #isSetModels()
- * @see #unsetModels()
- * @see #setModels(ModelsType)
- * @generated
- */
- ModelsType getModels();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getModels <em>Models</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Models</em>' containment reference.
- * @see #isSetModels()
- * @see #unsetModels()
- * @see #getModels()
- * @generated
- */
- void setModels(ModelsType value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getModels <em>Models</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetModels()
- * @see #getModels()
- * @see #setModels(ModelsType)
- * @generated
- */
- void unsetModels();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getModels <em>Models</em>}' containment reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Models</em>' containment reference is set.
- * @see #unsetModels()
- * @see #getModels()
- * @see #setModels(ModelsType)
- * @generated
- */
- boolean isSetModels();
-
- /**
- * Returns the value of the '<em><b>Xsd</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Xsd</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Xsd</em>' containment reference.
- * @see #isSetXsd()
- * @see #unsetXsd()
- * @see #setXsd(XSDType)
- * @generated
- */
- XSDType getXsd();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getXsd <em>Xsd</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Xsd</em>' containment reference.
- * @see #isSetXsd()
- * @see #unsetXsd()
- * @see #getXsd()
- * @generated
- */
- void setXsd(XSDType value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getXsd <em>Xsd</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetXsd()
- * @see #getXsd()
- * @see #setXsd(XSDType)
- * @generated
- */
- void unsetXsd();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getXsd <em>Xsd</em>}' containment reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Xsd</em>' containment reference is set.
- * @see #unsetXsd()
- * @see #getXsd()
- * @see #setXsd(XSDType)
- * @generated
- */
- boolean isSetXsd();
-
- /**
- * Returns the value of the '<em><b>Change Summary</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Change Summary</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Change Summary</em>' attribute.
- * @see #isSetChangeSummary()
- * @see #unsetChangeSummary()
- * @see #setChangeSummary(ChangeSummary)
- * @generated
- */
- ChangeSummary getChangeSummary();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getChangeSummary <em>Change Summary</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Change Summary</em>' attribute.
- * @see #isSetChangeSummary()
- * @see #unsetChangeSummary()
- * @see #getChangeSummary()
- * @generated
- */
- void setChangeSummary(ChangeSummary value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getChangeSummary <em>Change Summary</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetChangeSummary()
- * @see #getChangeSummary()
- * @see #setChangeSummary(ChangeSummary)
- * @generated
- */
- void unsetChangeSummary();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.BaseDataGraphType#getChangeSummary <em>Change Summary</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Change Summary</em>' attribute is set.
- * @see #unsetChangeSummary()
- * @see #getChangeSummary()
- * @see #setChangeSummary(ChangeSummary)
- * @generated
- */
- boolean isSetChangeSummary();
-
- /**
- * Returns the value of the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any Attribute</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any Attribute</em>' attribute list.
- * @generated
- */
- Sequence getAnyAttribute();
-
-} // BaseDataGraphType
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataGraphType.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataGraphType.java
deleted file mode 100644
index 2c83244789..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataGraphType.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import commonj.sdo.Sequence;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Data Graph Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.DataGraphType#getAny <em>Any</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public interface DataGraphType extends BaseDataGraphType
-{
- /**
- * Returns the value of the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any</em>' attribute list.
- * @generated
- */
- Sequence getAny();
-
-} // DataGraphType
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataObject.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataObject.java
deleted file mode 100644
index 9e3b2a1386..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/DataObject.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Data Object</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @extends Serializable
- * @generated
- */
-public interface DataObject extends Serializable
-{
-} // DataObject
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelFactory.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelFactory.java
deleted file mode 100644
index c8fe69167e..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelFactory.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import commonj.sdo.helper.HelperContext;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface ModelFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ModelFactory INSTANCE = org.apache.tuscany.sdo.model.impl.ModelFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Data Graph Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Data Graph Type</em>'.
- * @generated
- */
- DataGraphType createDataGraphType();
-
- /**
- * Returns a new object of class '<em>Models Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Models Type</em>'.
- * @generated
- */
- ModelsType createModelsType();
-
- /**
- * Returns a new object of class '<em>Property</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Property</em>'.
- * @generated
- */
- Property createProperty();
-
- /**
- * Returns a new object of class '<em>Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Type</em>'.
- * @generated
- */
- Type createType();
-
- /**
- * Returns a new object of class '<em>Types</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Types</em>'.
- * @generated
- */
- Types createTypes();
-
- /**
- * Returns a new object of class '<em>XSD Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>XSD Type</em>'.
- * @generated
- */
- XSDType createXSDType();
-
- /**
- * Registers the types supported by this Factory within the supplied scope.argument
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param scope an instance of HelperContext used to manage the scoping of types.
- * @generated
- */
- public void register(HelperContext scope);
-
-} //ModelFactory
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelsType.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelsType.java
deleted file mode 100644
index 4159ac9dc1..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/ModelsType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import commonj.sdo.Sequence;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Models Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- *
- * Expected type is emof:Package.
- *
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.ModelsType#getAny <em>Any</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface ModelsType extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any</em>' attribute list.
- * @generated
- */
- Sequence getAny();
-
-} // ModelsType
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Property.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Property.java
deleted file mode 100644
index 15ee4c2f99..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Property.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import commonj.sdo.Sequence;
-
-import java.io.Serializable;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.Property#getAliasName <em>Alias Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#getAny <em>Any</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#getName <em>Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#isMany <em>Many</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#isContainment <em>Containment</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#getDefault <em>Default</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#isReadOnly <em>Read Only</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#getType_ <em>Type</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#getOpposite <em>Opposite</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#isNullable <em>Nullable</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Property#getAnyAttribute <em>Any Attribute</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface Property extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Alias Name</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Alias Name</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Alias Name</em>' attribute list.
- * @generated
- */
- List getAliasName();
-
- /**
- * Returns the value of the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any</em>' attribute list.
- * @generated
- */
- Sequence getAny();
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #isSetName()
- * @see #unsetName()
- * @see #setName(String)
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #isSetName()
- * @see #unsetName()
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetName()
- * @see #getName()
- * @see #setName(String)
- * @generated
- */
- void unsetName();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#getName <em>Name</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Name</em>' attribute is set.
- * @see #unsetName()
- * @see #getName()
- * @see #setName(String)
- * @generated
- */
- boolean isSetName();
-
- /**
- * Returns the value of the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Many</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Many</em>' attribute.
- * @see #isSetMany()
- * @see #unsetMany()
- * @see #setMany(boolean)
- * @generated
- */
- boolean isMany();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#isMany <em>Many</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Many</em>' attribute.
- * @see #isSetMany()
- * @see #unsetMany()
- * @see #isMany()
- * @generated
- */
- void setMany(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#isMany <em>Many</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetMany()
- * @see #isMany()
- * @see #setMany(boolean)
- * @generated
- */
- void unsetMany();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#isMany <em>Many</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Many</em>' attribute is set.
- * @see #unsetMany()
- * @see #isMany()
- * @see #setMany(boolean)
- * @generated
- */
- boolean isSetMany();
-
- /**
- * Returns the value of the '<em><b>Containment</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Containment</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Containment</em>' attribute.
- * @see #isSetContainment()
- * @see #unsetContainment()
- * @see #setContainment(boolean)
- * @generated
- */
- boolean isContainment();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#isContainment <em>Containment</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Containment</em>' attribute.
- * @see #isSetContainment()
- * @see #unsetContainment()
- * @see #isContainment()
- * @generated
- */
- void setContainment(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#isContainment <em>Containment</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetContainment()
- * @see #isContainment()
- * @see #setContainment(boolean)
- * @generated
- */
- void unsetContainment();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#isContainment <em>Containment</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Containment</em>' attribute is set.
- * @see #unsetContainment()
- * @see #isContainment()
- * @see #setContainment(boolean)
- * @generated
- */
- boolean isSetContainment();
-
- /**
- * Returns the value of the '<em><b>Default</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Default</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Default</em>' attribute.
- * @see #isSetDefault()
- * @see #unsetDefault()
- * @see #setDefault_(String)
- * @generated
- */
- String getDefault_();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#getDefault <em>Default</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Default</em>' attribute.
- * @see #isSetDefault()
- * @see #unsetDefault()
- * @see #getDefault_()
- * @generated
- */
- void setDefault_(String value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#getDefault <em>Default</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDefault()
- * @see #getDefault_()
- * @see #setDefault_(String)
- * @generated
- */
- void unsetDefault();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#getDefault <em>Default</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Default</em>' attribute is set.
- * @see #unsetDefault()
- * @see #getDefault_()
- * @see #setDefault_(String)
- * @generated
- */
- boolean isSetDefault();
-
- /**
- * Returns the value of the '<em><b>Read Only</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Read Only</em>' attribute.
- * @see #isSetReadOnly()
- * @see #unsetReadOnly()
- * @see #setReadOnly(boolean)
- * @generated
- */
- boolean isReadOnly();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#isReadOnly <em>Read Only</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Read Only</em>' attribute.
- * @see #isSetReadOnly()
- * @see #unsetReadOnly()
- * @see #isReadOnly()
- * @generated
- */
- void setReadOnly(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#isReadOnly <em>Read Only</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetReadOnly()
- * @see #isReadOnly()
- * @see #setReadOnly(boolean)
- * @generated
- */
- void unsetReadOnly();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#isReadOnly <em>Read Only</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Read Only</em>' attribute is set.
- * @see #unsetReadOnly()
- * @see #isReadOnly()
- * @see #setReadOnly(boolean)
- * @generated
- */
- boolean isSetReadOnly();
-
- /**
- * Returns the value of the '<em><b>Type</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Type</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Type</em>' reference.
- * @see #isSetType()
- * @see #unsetType()
- * @see #setType(Type)
- * @generated
- */
- Type getType_();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#getType_ <em>Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' reference.
- * @see #isSetType()
- * @see #unsetType()
- * @see #getType_()
- * @generated
- */
- void setType(Type value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#getType_ <em>Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetType()
- * @see #getType_()
- * @see #setType(Type)
- * @generated
- */
- void unsetType();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#getType_ <em>Type</em>}' reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Type</em>' reference is set.
- * @see #unsetType()
- * @see #getType_()
- * @see #setType(Type)
- * @generated
- */
- boolean isSetType();
-
- /**
- * Returns the value of the '<em><b>Opposite</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Opposite</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Opposite</em>' reference.
- * @see #isSetOpposite()
- * @see #unsetOpposite()
- * @see #setOpposite_(Property)
- * @generated
- */
- Property getOpposite_();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#getOpposite <em>Opposite</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Opposite</em>' reference.
- * @see #isSetOpposite()
- * @see #unsetOpposite()
- * @see #getOpposite_()
- * @generated
- */
- void setOpposite_(Property value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#getOpposite <em>Opposite</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetOpposite()
- * @see #getOpposite_()
- * @see #setOpposite_(Property)
- * @generated
- */
- void unsetOpposite();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#getOpposite <em>Opposite</em>}' reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Opposite</em>' reference is set.
- * @see #unsetOpposite()
- * @see #getOpposite_()
- * @see #setOpposite_(Property)
- * @generated
- */
- boolean isSetOpposite();
-
- /**
- * Returns the value of the '<em><b>Nullable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Nullable</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Nullable</em>' attribute.
- * @see #isSetNullable()
- * @see #unsetNullable()
- * @see #setNullable(boolean)
- * @generated
- */
- boolean isNullable();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Property#isNullable <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Nullable</em>' attribute.
- * @see #isSetNullable()
- * @see #unsetNullable()
- * @see #isNullable()
- * @generated
- */
- void setNullable(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Property#isNullable <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetNullable()
- * @see #isNullable()
- * @see #setNullable(boolean)
- * @generated
- */
- void unsetNullable();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Property#isNullable <em>Nullable</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Nullable</em>' attribute is set.
- * @see #unsetNullable()
- * @see #isNullable()
- * @see #setNullable(boolean)
- * @generated
- */
- boolean isSetNullable();
-
- /**
- * Returns the value of the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any Attribute</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any Attribute</em>' attribute list.
- * @generated
- */
- Sequence getAnyAttribute();
-
-} // Property
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/TextType.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/TextType.java
deleted file mode 100644
index 741343e5a8..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/TextType.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import java.io.Serializable;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Text Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.TextType#getText <em>Text</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface TextType extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Text</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Text</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Text</em>' attribute list.
- * @generated
- */
- List getText();
-
-} // TextType
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Type.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Type.java
deleted file mode 100644
index 26a02f7cc0..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Type.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import commonj.sdo.Sequence;
-
-import java.io.Serializable;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.Type#getBaseType <em>Base Type</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#getProperty <em>Property</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#getAliasName <em>Alias Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#getAny <em>Any</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#getName <em>Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#getUri <em>Uri</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#isDataType <em>Data Type</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#isOpen <em>Open</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#isSequenced <em>Sequenced</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#isAbstract <em>Abstract</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.Type#getAnyAttribute <em>Any Attribute</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface Type extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Base Type</b></em>' reference list.
- * The list contents are of type {@link org.apache.tuscany.sdo.model.Type}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Base Type</em>' reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Base Type</em>' reference list.
- * @generated
- */
- List getBaseType();
-
- /**
- * Returns the value of the '<em><b>Property</b></em>' containment reference list.
- * The list contents are of type {@link org.apache.tuscany.sdo.model.Property}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Property</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Property</em>' containment reference list.
- * @generated
- */
- List getProperty();
-
- /**
- * Returns the value of the '<em><b>Alias Name</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Alias Name</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Alias Name</em>' attribute list.
- * @generated
- */
- List getAliasName();
-
- /**
- * Returns the value of the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any</em>' attribute list.
- * @generated
- */
- Sequence getAny();
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #isSetName()
- * @see #unsetName()
- * @see #setName(String)
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Type#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #isSetName()
- * @see #unsetName()
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Type#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetName()
- * @see #getName()
- * @see #setName(String)
- * @generated
- */
- void unsetName();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Type#getName <em>Name</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Name</em>' attribute is set.
- * @see #unsetName()
- * @see #getName()
- * @see #setName(String)
- * @generated
- */
- boolean isSetName();
-
- /**
- * Returns the value of the '<em><b>Uri</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Uri</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Uri</em>' attribute.
- * @see #isSetUri()
- * @see #unsetUri()
- * @see #setUri(String)
- * @generated
- */
- String getUri();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Type#getUri <em>Uri</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Uri</em>' attribute.
- * @see #isSetUri()
- * @see #unsetUri()
- * @see #getUri()
- * @generated
- */
- void setUri(String value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Type#getUri <em>Uri</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetUri()
- * @see #getUri()
- * @see #setUri(String)
- * @generated
- */
- void unsetUri();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Type#getUri <em>Uri</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Uri</em>' attribute is set.
- * @see #unsetUri()
- * @see #getUri()
- * @see #setUri(String)
- * @generated
- */
- boolean isSetUri();
-
- /**
- * Returns the value of the '<em><b>Data Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Data Type</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Data Type</em>' attribute.
- * @see #isSetDataType()
- * @see #unsetDataType()
- * @see #setDataType(boolean)
- * @generated
- */
- boolean isDataType();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Type#isDataType <em>Data Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Data Type</em>' attribute.
- * @see #isSetDataType()
- * @see #unsetDataType()
- * @see #isDataType()
- * @generated
- */
- void setDataType(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Type#isDataType <em>Data Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDataType()
- * @see #isDataType()
- * @see #setDataType(boolean)
- * @generated
- */
- void unsetDataType();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Type#isDataType <em>Data Type</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Data Type</em>' attribute is set.
- * @see #unsetDataType()
- * @see #isDataType()
- * @see #setDataType(boolean)
- * @generated
- */
- boolean isSetDataType();
-
- /**
- * Returns the value of the '<em><b>Open</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Open</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Open</em>' attribute.
- * @see #isSetOpen()
- * @see #unsetOpen()
- * @see #setOpen(boolean)
- * @generated
- */
- boolean isOpen();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Type#isOpen <em>Open</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Open</em>' attribute.
- * @see #isSetOpen()
- * @see #unsetOpen()
- * @see #isOpen()
- * @generated
- */
- void setOpen(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Type#isOpen <em>Open</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetOpen()
- * @see #isOpen()
- * @see #setOpen(boolean)
- * @generated
- */
- void unsetOpen();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Type#isOpen <em>Open</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Open</em>' attribute is set.
- * @see #unsetOpen()
- * @see #isOpen()
- * @see #setOpen(boolean)
- * @generated
- */
- boolean isSetOpen();
-
- /**
- * Returns the value of the '<em><b>Sequenced</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Sequenced</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Sequenced</em>' attribute.
- * @see #isSetSequenced()
- * @see #unsetSequenced()
- * @see #setSequenced(boolean)
- * @generated
- */
- boolean isSequenced();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Type#isSequenced <em>Sequenced</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Sequenced</em>' attribute.
- * @see #isSetSequenced()
- * @see #unsetSequenced()
- * @see #isSequenced()
- * @generated
- */
- void setSequenced(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Type#isSequenced <em>Sequenced</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetSequenced()
- * @see #isSequenced()
- * @see #setSequenced(boolean)
- * @generated
- */
- void unsetSequenced();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Type#isSequenced <em>Sequenced</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Sequenced</em>' attribute is set.
- * @see #unsetSequenced()
- * @see #isSequenced()
- * @see #setSequenced(boolean)
- * @generated
- */
- boolean isSetSequenced();
-
- /**
- * Returns the value of the '<em><b>Abstract</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Abstract</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Abstract</em>' attribute.
- * @see #isSetAbstract()
- * @see #unsetAbstract()
- * @see #setAbstract(boolean)
- * @generated
- */
- boolean isAbstract();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.Type#isAbstract <em>Abstract</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Abstract</em>' attribute.
- * @see #isSetAbstract()
- * @see #unsetAbstract()
- * @see #isAbstract()
- * @generated
- */
- void setAbstract(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.Type#isAbstract <em>Abstract</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetAbstract()
- * @see #isAbstract()
- * @see #setAbstract(boolean)
- * @generated
- */
- void unsetAbstract();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.Type#isAbstract <em>Abstract</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Abstract</em>' attribute is set.
- * @see #unsetAbstract()
- * @see #isAbstract()
- * @see #setAbstract(boolean)
- * @generated
- */
- boolean isSetAbstract();
-
- /**
- * Returns the value of the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any Attribute</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any Attribute</em>' attribute list.
- * @generated
- */
- Sequence getAnyAttribute();
-
- String getInstanceClassName();
-
-} // Type
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Types.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Types.java
deleted file mode 100644
index 26fb9c57ce..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/Types.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import java.io.Serializable;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Types</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.Types#getType_ <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface Types extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Type</b></em>' containment reference list.
- * The list contents are of type {@link org.apache.tuscany.sdo.model.Type}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Type</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Type</em>' containment reference list.
- * @generated
- */
- List getType_();
-
- List getTypeList();
-
-} // Types
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/XSDType.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/XSDType.java
deleted file mode 100644
index 32cde02086..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/XSDType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model;
-
-import commonj.sdo.Sequence;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>XSD Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- *
- * Expected type is xsd:schema.
- *
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.XSDType#getAny <em>Any</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface XSDType extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Any</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Any</em>' attribute list.
- * @generated
- */
- Sequence getAny();
-
-} // XSDType
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/BaseDataGraphTypeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/BaseDataGraphTypeImpl.java
deleted file mode 100644
index e8824974a0..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/BaseDataGraphTypeImpl.java
+++ /dev/null
@@ -1,625 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.BaseDataGraphType;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.ModelsType;
-import org.apache.tuscany.sdo.model.XSDType;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Base Data Graph Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.BaseDataGraphTypeImpl#getModels <em>Models</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.BaseDataGraphTypeImpl#getXsd <em>Xsd</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.BaseDataGraphTypeImpl#getChangeSummary <em>Change Summary</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.BaseDataGraphTypeImpl#getAnyAttribute <em>Any Attribute</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class BaseDataGraphTypeImpl extends DataObjectBase implements BaseDataGraphType
-{
-
- public final static int MODELS = 0;
-
- public final static int XSD = 1;
-
- public final static int CHANGE_SUMMARY = 2;
-
- public final static int ANY_ATTRIBUTE = -1;
-
- public final static int SDO_PROPERTY_COUNT = 3;
-
- public final static int EXTENDED_PROPERTY_COUNT = -1;
-
-
- /**
- * The internal feature id for the '<em><b>Models</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_MODELS = 0;
-
- /**
- * The internal feature id for the '<em><b>Xsd</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_XSD = 1;
-
- /**
- * The internal feature id for the '<em><b>Change Summary</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_CHANGE_SUMMARY = 2;
-
- /**
- * The internal feature id for the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY_ATTRIBUTE = 3;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 4;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_MODELS: return MODELS;
- case INTERNAL_XSD: return XSD;
- case INTERNAL_CHANGE_SUMMARY: return CHANGE_SUMMARY;
- case INTERNAL_ANY_ATTRIBUTE: return ANY_ATTRIBUTE;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getModels() <em>Models</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getModels()
- * @generated
- * @ordered
- */
-
- protected ModelsType models = null;
-
- /**
- * This is true if the Models containment reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean models_set_ = false;
-
- /**
- * The cached value of the '{@link #getXsd() <em>Xsd</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getXsd()
- * @generated
- * @ordered
- */
-
- protected XSDType xsd = null;
-
- /**
- * This is true if the Xsd containment reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean xsd_set_ = false;
-
- /**
- * The default value of the '{@link #getChangeSummary() <em>Change Summary</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getChangeSummary()
- * @generated
- * @ordered
- */
- protected static final ChangeSummary CHANGE_SUMMARY_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getChangeSummary() <em>Change Summary</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getChangeSummary()
- * @generated
- * @ordered
- */
- protected ChangeSummary changeSummary = CHANGE_SUMMARY_DEFAULT_;
-
- /**
- * This is true if the Change Summary attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean changeSummary_set_ = false;
-
- /**
- * The cached value of the '{@link #getAnyAttribute() <em>Any Attribute</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAnyAttribute()
- * @generated
- * @ordered
- */
-
- protected Sequence anyAttribute = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BaseDataGraphTypeImpl()
- {
- super();
- createChangeSummary(CHANGE_SUMMARY);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getBaseDataGraphType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelsType getModels()
- {
- return models;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext basicSetModels(ModelsType newModels, ChangeContext changeContext)
- {
- ModelsType oldModels = models;
- models = newModels;
- boolean oldModels_set_ = models_set_;
- models_set_ = true;
- if (isNotifying())
- {
- addNotification(this, ChangeKind.SET, INTERNAL_MODELS, oldModels, newModels, !oldModels_set_, changeContext);
- }
- return changeContext;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setModels(ModelsType newModels)
- {
- if (newModels != models)
- {
- ChangeContext changeContext = null;
- if (models != null)
- changeContext = inverseRemove(models, this, OPPOSITE_FEATURE_BASE - INTERNAL_MODELS, null, changeContext);
- if (newModels != null)
- changeContext = inverseAdd(newModels, this, OPPOSITE_FEATURE_BASE - INTERNAL_MODELS, null, changeContext);
- changeContext = basicSetModels(newModels, changeContext);
- if (changeContext != null) dispatch(changeContext);
- }
- else
- {
- boolean oldModels_set_ = models_set_;
- models_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_MODELS, newModels, newModels, !oldModels_set_);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext basicUnsetModels(ChangeContext changeContext)
- {
- ModelsType oldModels = models;
- models = null;
- boolean oldModels_set_ = models_set_;
- models_set_ = false;
- if (isNotifying())
- {
- addNotification(this, ChangeKind.UNSET, INTERNAL_MODELS, oldModels, null, !oldModels_set_, changeContext);
- }
- return changeContext;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetModels()
- {
- if (models != null)
- {
- ChangeContext changeContext = null;
- changeContext = inverseRemove(models, this, EOPPOSITE_FEATURE_BASE - INTERNAL_MODELS, null, changeContext);
- changeContext = basicUnsetModels(changeContext);
- if (changeContext != null) dispatch(changeContext);
- }
- else
- {
- boolean oldModels_set_ = models_set_;
- models_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_MODELS, null, null, oldModels_set_);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetModels()
- {
- return models_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public XSDType getXsd()
- {
- return xsd;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext basicSetXsd(XSDType newXsd, ChangeContext changeContext)
- {
- XSDType oldXsd = xsd;
- xsd = newXsd;
- boolean oldXsd_set_ = xsd_set_;
- xsd_set_ = true;
- if (isNotifying())
- {
- addNotification(this, ChangeKind.SET, INTERNAL_XSD, oldXsd, newXsd, !oldXsd_set_, changeContext);
- }
- return changeContext;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setXsd(XSDType newXsd)
- {
- if (newXsd != xsd)
- {
- ChangeContext changeContext = null;
- if (xsd != null)
- changeContext = inverseRemove(xsd, this, OPPOSITE_FEATURE_BASE - INTERNAL_XSD, null, changeContext);
- if (newXsd != null)
- changeContext = inverseAdd(newXsd, this, OPPOSITE_FEATURE_BASE - INTERNAL_XSD, null, changeContext);
- changeContext = basicSetXsd(newXsd, changeContext);
- if (changeContext != null) dispatch(changeContext);
- }
- else
- {
- boolean oldXsd_set_ = xsd_set_;
- xsd_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_XSD, newXsd, newXsd, !oldXsd_set_);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext basicUnsetXsd(ChangeContext changeContext)
- {
- XSDType oldXsd = xsd;
- xsd = null;
- boolean oldXsd_set_ = xsd_set_;
- xsd_set_ = false;
- if (isNotifying())
- {
- addNotification(this, ChangeKind.UNSET, INTERNAL_XSD, oldXsd, null, !oldXsd_set_, changeContext);
- }
- return changeContext;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetXsd()
- {
- if (xsd != null)
- {
- ChangeContext changeContext = null;
- changeContext = inverseRemove(xsd, this, EOPPOSITE_FEATURE_BASE - INTERNAL_XSD, null, changeContext);
- changeContext = basicUnsetXsd(changeContext);
- if (changeContext != null) dispatch(changeContext);
- }
- else
- {
- boolean oldXsd_set_ = xsd_set_;
- xsd_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_XSD, null, null, oldXsd_set_);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetXsd()
- {
- return xsd_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeSummary getChangeSummary()
- {
- return changeSummary;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setChangeSummary(ChangeSummary newChangeSummary)
- {
- ChangeSummary oldChangeSummary = changeSummary;
- changeSummary = newChangeSummary;
- boolean oldChangeSummary_set_ = changeSummary_set_;
- changeSummary_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_CHANGE_SUMMARY, oldChangeSummary, changeSummary, !oldChangeSummary_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetChangeSummary()
- {
- ChangeSummary oldChangeSummary = changeSummary;
- boolean oldChangeSummary_set_ = changeSummary_set_;
- changeSummary = CHANGE_SUMMARY_DEFAULT_;
- changeSummary_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_CHANGE_SUMMARY, oldChangeSummary, CHANGE_SUMMARY_DEFAULT_, oldChangeSummary_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetChangeSummary()
- {
- return changeSummary_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAnyAttribute()
- {
- if (anyAttribute == null)
- {
- anyAttribute = createSequence(INTERNAL_ANY_ATTRIBUTE);
- }
- return anyAttribute;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case MODELS:
- return basicUnsetModels(changeContext);
- case XSD:
- return basicUnsetXsd(changeContext);
- case ANY_ATTRIBUTE:
- return removeFromSequence(getAnyAttribute(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case MODELS:
- return getModels();
- case XSD:
- return getXsd();
- case CHANGE_SUMMARY:
- return getChangeSummary();
- case ANY_ATTRIBUTE:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAnyAttribute();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case MODELS:
- setModels((ModelsType)newValue);
- return;
- case XSD:
- setXsd((XSDType)newValue);
- return;
- case CHANGE_SUMMARY:
- setChangeSummary((ChangeSummary)newValue);
- return;
- case ANY_ATTRIBUTE:
- setSequence(getAnyAttribute(), newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case MODELS:
- unsetModels();
- return;
- case XSD:
- unsetXsd();
- return;
- case CHANGE_SUMMARY:
- unsetChangeSummary();
- return;
- case ANY_ATTRIBUTE:
- unsetSequence(getAnyAttribute());
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case MODELS:
- return isSetModels();
- case XSD:
- return isSetXsd();
- case CHANGE_SUMMARY:
- return isSetChangeSummary();
- case ANY_ATTRIBUTE:
- return anyAttribute != null && !isSequenceEmpty(getAnyAttribute());
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (changeSummary: ");
- if (changeSummary_set_) result.append(changeSummary); else result.append("<unset>");
- result.append(", anyAttribute: ");
- result.append(anyAttribute);
- result.append(')');
- return result.toString();
- }
-
-} //BaseDataGraphTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataGraphTypeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataGraphTypeImpl.java
deleted file mode 100644
index ef13797850..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataGraphTypeImpl.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.model.DataGraphType;
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Data Graph Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.DataGraphTypeImpl#getAny <em>Any</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DataGraphTypeImpl extends BaseDataGraphTypeImpl implements DataGraphType
-{
-
- public final static int ANY = BaseDataGraphTypeImpl.EXTENDED_PROPERTY_COUNT + -1;
-
- public final static int SDO_PROPERTY_COUNT = BaseDataGraphTypeImpl.SDO_PROPERTY_COUNT + 0;
-
- public final static int EXTENDED_PROPERTY_COUNT = BaseDataGraphTypeImpl.EXTENDED_PROPERTY_COUNT - 1;
-
-
- /**
- * The internal feature id for the '<em><b>Models</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_MODELS = BaseDataGraphTypeImpl.INTERNAL_MODELS;
-
- /**
- * The internal feature id for the '<em><b>Xsd</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_XSD = BaseDataGraphTypeImpl.INTERNAL_XSD;
-
- /**
- * The internal feature id for the '<em><b>Change Summary</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_CHANGE_SUMMARY = BaseDataGraphTypeImpl.INTERNAL_CHANGE_SUMMARY;
-
- /**
- * The internal feature id for the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY_ATTRIBUTE = BaseDataGraphTypeImpl.INTERNAL_ANY_ATTRIBUTE;
-
- /**
- * The internal feature id for the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY = BaseDataGraphTypeImpl.INTERNAL_PROPERTY_COUNT + 0;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = BaseDataGraphTypeImpl.INTERNAL_PROPERTY_COUNT + 1;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_MODELS: return MODELS;
- case INTERNAL_XSD: return XSD;
- case INTERNAL_CHANGE_SUMMARY: return CHANGE_SUMMARY;
- case INTERNAL_ANY_ATTRIBUTE: return ANY_ATTRIBUTE;
- case INTERNAL_ANY: return ANY;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAny()
- * @generated
- * @ordered
- */
-
- protected Sequence any = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataGraphTypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getDataGraphType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAny()
- {
- if (any == null)
- {
- any = createSequence(INTERNAL_ANY);
- }
- return any;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case ANY:
- return removeFromSequence(getAny(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case ANY:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAny();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case ANY:
- setSequence(getAny(), newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ANY:
- unsetSequence(getAny());
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ANY:
- return any != null && !isSequenceEmpty(getAny());
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (any: ");
- result.append(any);
- result.append(')');
- return result.toString();
- }
-
-} //DataGraphTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataObjectImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataObjectImpl.java
deleted file mode 100644
index 0dc673907c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/DataObjectImpl.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.DataObject;
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Data Object</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class DataObjectImpl extends DataObjectBase implements DataObject
-{
-
- public final static int SDO_PROPERTY_COUNT = 0;
-
- public final static int EXTENDED_PROPERTY_COUNT = 0;
-
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 0;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObjectImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getDataObject();
- }
-
-} //DataObjectImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
deleted file mode 100644
index 761efb4217..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
+++ /dev/null
@@ -1,2401 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.helper.DataHelper;
-import commonj.sdo.helper.HelperContext;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.TimeZone;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.*;
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-import org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the commonj.sdo model factory.
- * This model is generated from sdoModel.xsd, in the sdo-api project.
- * Until the SDO code generator supports name conflicts and regen/merge, follow the following steps to regenerate this model:
- * 1. Regenerate the model into a temporary directory:
- * XSD2JavaGenerator -generateBuiltIn commonj.sdo -targetDirectory <temp-dir> -javaPackage org.apache.tuscany.sdo.model <sdo-api-dir>/src/main/resources/xml/sdoModel.xsd
- * 2. Rename the following methods in the generated Property/PropertyImpl interface and implementation class:
- * getDefault() to getDefault_();
- * setDefault() to setDefault_();
- * getOpposite() to getOpposite_();
- * setOpposite() to setOpposite_();
- * 3. Copy the following method from the old to new generated Type/TypeImpl interface and implemention class (resolve any missing imports):
- * String getInstanceClassName();
- * 4. Copy the following method from the old to new generated Types/TypesImpl interface and implemention class (resolve any missing imports):
- * List getTypeList();
- * 5. Delete all the createXXXFromString() and convertXXXToString() methods in the newly generated ModelFactoryImpl and
- * replace them with the ones from this file (resolve any missing imports).
- * 6. Comment out the call to registerStaticTypes of ModelFactory.class in the init() method
- * 7. Change org.apache.tuscany.sdo.model.DataObject.class to commonj.sdo.DataObject.class for the following method found in method initializeMetaData();
- * initializeType(dataObjectType, commonj.sdo.DataObject.class, "DataObject", true); // generated as org.apache.tuscany.sdo.model.DataObject.class
- * 8. Add the following case to the generated create() method:
- * case DATA_OBJECT: return SDOFactory.eINSTANCE.createAnyTypeDataObject();
- * 9. Make sure the top of each generated file contains the ASF License.
- * 10. Move this JavaDoc comment into the newly generated ModelFactoryImpl class.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ModelFactoryImpl extends FactoryBase implements ModelFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "commonj.sdo";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "sdo";
-
- /**
- * The version of the generator pattern used to generate this class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String PATTERN_VERSION = "1.2";
-
- public static final int BASE_DATA_GRAPH_TYPE = 1;
- public static final int DATA_GRAPH_TYPE = 2;
- public static final int DATA_OBJECT = 3;
- public static final int MODELS_TYPE = 4;
- public static final int PROPERTY = 5;
- public static final int TEXT_TYPE = 6;
- public static final int TYPE = 7;
- public static final int TYPES = 8;
- public static final int XSD_TYPE = 9;
- public static final int BOOLEAN = 10;
- public static final int BOOLEAN_OBJECT = 11;
- public static final int BYTE = 12;
- public static final int BYTE_OBJECT = 13;
- public static final int BYTES = 14;
- public static final int CHANGE_SUMMARY_TYPE = 15;
- public static final int CHARACTER = 16;
- public static final int CHARACTER_OBJECT = 17;
- public static final int DATE = 18;
- public static final int DATE_TIME = 19;
- public static final int DAY = 20;
- public static final int DECIMAL = 21;
- public static final int DOUBLE = 22;
- public static final int DOUBLE_OBJECT = 23;
- public static final int DURATION = 24;
- public static final int FLOAT = 25;
- public static final int FLOAT_OBJECT = 26;
- public static final int INT = 27;
- public static final int INTEGER = 28;
- public static final int INT_OBJECT = 29;
- public static final int LONG = 30;
- public static final int LONG_OBJECT = 31;
- public static final int MONTH = 32;
- public static final int MONTH_DAY = 33;
- public static final int OBJECT = 34;
- public static final int SHORT = 35;
- public static final int SHORT_OBJECT = 36;
- public static final int STRING = 37;
- public static final int STRINGS = 38;
- public static final int TIME = 39;
- public static final int URI = 40;
- public static final int YEAR = 41;
- public static final int YEAR_MONTH = 42;
- public static final int YEAR_MONTH_DAY = 43;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX, "org.apache.tuscany.sdo.model");
- }
-
- /**
- * Registers the Factory instance so that it is available within the supplied scope.
- * @argument scope a HelperContext instance that will make the types supported by this Factory available.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void register(HelperContext scope)
- {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
-
- //Register dependent packages with provided scope
-
- // Initialize this package
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- case DATA_GRAPH_TYPE: return (DataObject)createDataGraphType();
- case MODELS_TYPE: return (DataObject)createModelsType();
- case PROPERTY: return (DataObject)createProperty();
- case TYPE: return (DataObject)createType();
- case TYPES: return (DataObject)createTypes();
- case XSD_TYPE: return (DataObject)createXSDType();
- case DATA_OBJECT: return SDOFactory.eINSTANCE.createAnyTypeDataObject();
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(int typeNumber, String initialValue)
- {
- switch (typeNumber)
- {
- case BOOLEAN:
- return createBooleanFromString(initialValue);
- case BOOLEAN_OBJECT:
- return createBooleanObjectFromString(initialValue);
- case BYTE:
- return createByteFromString(initialValue);
- case BYTE_OBJECT:
- return createByteObjectFromString(initialValue);
- case BYTES:
- return createBytesFromString(initialValue);
- case CHANGE_SUMMARY_TYPE:
- return createChangeSummaryTypeFromString(initialValue);
- case CHARACTER:
- return createCharacterFromString(initialValue);
- case CHARACTER_OBJECT:
- return createCharacterObjectFromString(initialValue);
- case DATE:
- return createDateFromString(initialValue);
- case DATE_TIME:
- return createDateTimeFromString(initialValue);
- case DAY:
- return createDayFromString(initialValue);
- case DECIMAL:
- return createDecimalFromString(initialValue);
- case DOUBLE:
- return createDoubleFromString(initialValue);
- case DOUBLE_OBJECT:
- return createDoubleObjectFromString(initialValue);
- case DURATION:
- return createDurationFromString(initialValue);
- case FLOAT:
- return createFloatFromString(initialValue);
- case FLOAT_OBJECT:
- return createFloatObjectFromString(initialValue);
- case INT:
- return createIntFromString(initialValue);
- case INTEGER:
- return createIntegerFromString(initialValue);
- case INT_OBJECT:
- return createIntObjectFromString(initialValue);
- case LONG:
- return createLongFromString(initialValue);
- case LONG_OBJECT:
- return createLongObjectFromString(initialValue);
- case MONTH:
- return createMonthFromString(initialValue);
- case MONTH_DAY:
- return createMonthDayFromString(initialValue);
- case OBJECT:
- return createObjectFromString(initialValue);
- case SHORT:
- return createShortFromString(initialValue);
- case SHORT_OBJECT:
- return createShortObjectFromString(initialValue);
- case STRING:
- return createStringFromString(initialValue);
- case STRINGS:
- return createStringsFromString(initialValue);
- case TIME:
- return createTimeFromString(initialValue);
- case URI:
- return createURIFromString(initialValue);
- case YEAR:
- return createYearFromString(initialValue);
- case YEAR_MONTH:
- return createYearMonthFromString(initialValue);
- case YEAR_MONTH_DAY:
- return createYearMonthDayFromString(initialValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(int typeNumber, Object instanceValue)
- {
- switch (typeNumber)
- {
- case BOOLEAN:
- return convertBooleanToString(instanceValue);
- case BOOLEAN_OBJECT:
- return convertBooleanObjectToString(instanceValue);
- case BYTE:
- return convertByteToString(instanceValue);
- case BYTE_OBJECT:
- return convertByteObjectToString(instanceValue);
- case BYTES:
- return convertBytesToString(instanceValue);
- case CHANGE_SUMMARY_TYPE:
- return convertChangeSummaryTypeToString(instanceValue);
- case CHARACTER:
- return convertCharacterToString(instanceValue);
- case CHARACTER_OBJECT:
- return convertCharacterObjectToString(instanceValue);
- case DATE:
- return convertDateToString(instanceValue);
- case DATE_TIME:
- return convertDateTimeToString(instanceValue);
- case DAY:
- return convertDayToString(instanceValue);
- case DECIMAL:
- return convertDecimalToString(instanceValue);
- case DOUBLE:
- return convertDoubleToString(instanceValue);
- case DOUBLE_OBJECT:
- return convertDoubleObjectToString(instanceValue);
- case DURATION:
- return convertDurationToString(instanceValue);
- case FLOAT:
- return convertFloatToString(instanceValue);
- case FLOAT_OBJECT:
- return convertFloatObjectToString(instanceValue);
- case INT:
- return convertIntToString(instanceValue);
- case INTEGER:
- return convertIntegerToString(instanceValue);
- case INT_OBJECT:
- return convertIntObjectToString(instanceValue);
- case LONG:
- return convertLongToString(instanceValue);
- case LONG_OBJECT:
- return convertLongObjectToString(instanceValue);
- case MONTH:
- return convertMonthToString(instanceValue);
- case MONTH_DAY:
- return convertMonthDayToString(instanceValue);
- case OBJECT:
- return convertObjectToString(instanceValue);
- case SHORT:
- return convertShortToString(instanceValue);
- case SHORT_OBJECT:
- return convertShortObjectToString(instanceValue);
- case STRING:
- return convertStringToString(instanceValue);
- case STRINGS:
- return convertStringsToString(instanceValue);
- case TIME:
- return convertTimeToString(instanceValue);
- case URI:
- return convertURIToString(instanceValue);
- case YEAR:
- return convertYearToString(instanceValue);
- case YEAR_MONTH:
- return convertYearMonthToString(instanceValue);
- case YEAR_MONTH_DAY:
- return convertYearMonthDayToString(instanceValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataGraphType createDataGraphType()
- {
- DataGraphTypeImpl dataGraphType = new DataGraphTypeImpl();
- return dataGraphType;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelsType createModelsType()
- {
- ModelsTypeImpl modelsType = new ModelsTypeImpl();
- return modelsType;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Property createProperty()
- {
- PropertyImpl property = new PropertyImpl();
- return property;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type createType()
- {
- TypeImpl type = new TypeImpl();
- return type;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Types createTypes()
- {
- TypesImpl types = new TypesImpl();
- return types;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public XSDType createXSDType()
- {
- XSDTypeImpl xsdType = new XSDTypeImpl();
- return xsdType;
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected commonj.sdo.Type baseDataGraphTypeType = null;
-
- public commonj.sdo.Type getBaseDataGraphType()
- {
- return baseDataGraphTypeType;
- }
-
- protected commonj.sdo.Type dataGraphTypeType = null;
-
- public commonj.sdo.Type getDataGraphType()
- {
- return dataGraphTypeType;
- }
-
- protected commonj.sdo.Type dataObjectType = null;
-
- public commonj.sdo.Type getDataObject()
- {
- return dataObjectType;
- }
-
- protected commonj.sdo.Type modelsTypeType = null;
-
- public commonj.sdo.Type getModelsType()
- {
- return modelsTypeType;
- }
-
- protected commonj.sdo.Type propertyType = null;
-
- public commonj.sdo.Type getProperty()
- {
- return propertyType;
- }
-
- protected commonj.sdo.Type textTypeType = null;
-
- public commonj.sdo.Type getTextType()
- {
- return textTypeType;
- }
-
- protected commonj.sdo.Type typeType = null;
-
- public commonj.sdo.Type getType()
- {
- return typeType;
- }
-
- protected commonj.sdo.Type typesType = null;
-
- public commonj.sdo.Type getTypes()
- {
- return typesType;
- }
-
- protected commonj.sdo.Type xsdTypeType = null;
-
- public commonj.sdo.Type getXSDType()
- {
- return xsdTypeType;
- }
-
- protected commonj.sdo.Type boolean_Type = null;
-
- public commonj.sdo.Type getBoolean()
- {
- return boolean_Type;
- }
-
- protected commonj.sdo.Type booleanObjectType = null;
-
- public commonj.sdo.Type getBooleanObject()
- {
- return booleanObjectType;
- }
-
- protected commonj.sdo.Type byte_Type = null;
-
- public commonj.sdo.Type getByte()
- {
- return byte_Type;
- }
-
- protected commonj.sdo.Type byteObjectType = null;
-
- public commonj.sdo.Type getByteObject()
- {
- return byteObjectType;
- }
-
- protected commonj.sdo.Type bytesType = null;
-
- public commonj.sdo.Type getBytes()
- {
- return bytesType;
- }
-
- protected commonj.sdo.Type changeSummaryTypeType = null;
-
- public commonj.sdo.Type getChangeSummaryType()
- {
- return changeSummaryTypeType;
- }
-
- protected commonj.sdo.Type characterType = null;
-
- public commonj.sdo.Type getCharacter()
- {
- return characterType;
- }
-
- protected commonj.sdo.Type characterObjectType = null;
-
- public commonj.sdo.Type getCharacterObject()
- {
- return characterObjectType;
- }
-
- protected commonj.sdo.Type dateType = null;
-
- public commonj.sdo.Type getDate()
- {
- return dateType;
- }
-
- protected commonj.sdo.Type dateTimeType = null;
-
- public commonj.sdo.Type getDateTime()
- {
- return dateTimeType;
- }
-
- protected commonj.sdo.Type dayType = null;
-
- public commonj.sdo.Type getDay()
- {
- return dayType;
- }
-
- protected commonj.sdo.Type decimalType = null;
-
- public commonj.sdo.Type getDecimal()
- {
- return decimalType;
- }
-
- protected commonj.sdo.Type double_Type = null;
-
- public commonj.sdo.Type getDouble()
- {
- return double_Type;
- }
-
- protected commonj.sdo.Type doubleObjectType = null;
-
- public commonj.sdo.Type getDoubleObject()
- {
- return doubleObjectType;
- }
-
- protected commonj.sdo.Type durationType = null;
-
- public commonj.sdo.Type getDuration()
- {
- return durationType;
- }
-
- protected commonj.sdo.Type float_Type = null;
-
- public commonj.sdo.Type getFloat()
- {
- return float_Type;
- }
-
- protected commonj.sdo.Type floatObjectType = null;
-
- public commonj.sdo.Type getFloatObject()
- {
- return floatObjectType;
- }
-
- protected commonj.sdo.Type int_Type = null;
-
- public commonj.sdo.Type getInt()
- {
- return int_Type;
- }
-
- protected commonj.sdo.Type integerType = null;
-
- public commonj.sdo.Type getInteger()
- {
- return integerType;
- }
-
- protected commonj.sdo.Type intObjectType = null;
-
- public commonj.sdo.Type getIntObject()
- {
- return intObjectType;
- }
-
- protected commonj.sdo.Type long_Type = null;
-
- public commonj.sdo.Type getLong()
- {
- return long_Type;
- }
-
- protected commonj.sdo.Type longObjectType = null;
-
- public commonj.sdo.Type getLongObject()
- {
- return longObjectType;
- }
-
- protected commonj.sdo.Type monthType = null;
-
- public commonj.sdo.Type getMonth()
- {
- return monthType;
- }
-
- protected commonj.sdo.Type monthDayType = null;
-
- public commonj.sdo.Type getMonthDay()
- {
- return monthDayType;
- }
-
- protected commonj.sdo.Type objectType = null;
-
- public commonj.sdo.Type getObject()
- {
- return objectType;
- }
-
- protected commonj.sdo.Type short_Type = null;
-
- public commonj.sdo.Type getShort()
- {
- return short_Type;
- }
-
- protected commonj.sdo.Type shortObjectType = null;
-
- public commonj.sdo.Type getShortObject()
- {
- return shortObjectType;
- }
-
- protected commonj.sdo.Type stringType = null;
-
- public commonj.sdo.Type getString()
- {
- return stringType;
- }
-
- protected commonj.sdo.Type stringsType = null;
-
- public commonj.sdo.Type getStrings()
- {
- return stringsType;
- }
-
- protected commonj.sdo.Type timeType = null;
-
- public commonj.sdo.Type getTime()
- {
- return timeType;
- }
-
- protected commonj.sdo.Type uriType = null;
-
- public commonj.sdo.Type getURI()
- {
- return uriType;
- }
-
- protected commonj.sdo.Type yearType = null;
-
- public commonj.sdo.Type getYear()
- {
- return yearType;
- }
-
- protected commonj.sdo.Type yearMonthType = null;
-
- public commonj.sdo.Type getYearMonth()
- {
- return yearMonthType;
- }
-
- protected commonj.sdo.Type yearMonthDayType = null;
-
- public commonj.sdo.Type getYearMonthDay()
- {
- return yearMonthDayType;
- }
-
-
- private static ModelFactoryImpl instance = null;
- public static ModelFactoryImpl init()
- {
- if (instance != null ) return instance;
- instance = new ModelFactoryImpl();
-
- // Initialize dependent packages
-
- // Create package meta-data objects
- instance.createMetaData();
-
- // Initialize created meta-data
- instance.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theModelFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return instance;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create types and their properties
- baseDataGraphTypeType = createType(false, BASE_DATA_GRAPH_TYPE);
- createProperty(false, baseDataGraphTypeType,BaseDataGraphTypeImpl.INTERNAL_MODELS);
- createProperty(false, baseDataGraphTypeType,BaseDataGraphTypeImpl.INTERNAL_XSD);
- createProperty(true, baseDataGraphTypeType,BaseDataGraphTypeImpl.INTERNAL_CHANGE_SUMMARY);
- createProperty(true, baseDataGraphTypeType,BaseDataGraphTypeImpl.INTERNAL_ANY_ATTRIBUTE);
- dataGraphTypeType = createType(false, DATA_GRAPH_TYPE);
- createProperty(true, dataGraphTypeType,DataGraphTypeImpl.INTERNAL_ANY);
- dataObjectType = createType(false, DATA_OBJECT);
- modelsTypeType = createType(false, MODELS_TYPE);
- createProperty(true, modelsTypeType,ModelsTypeImpl.INTERNAL_ANY);
- propertyType = createType(false, PROPERTY);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_ALIAS_NAME);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_ANY);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_NAME);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_MANY);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_CONTAINMENT);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_DEFAULT);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_READ_ONLY);
- createProperty(false, propertyType,PropertyImpl.INTERNAL_TYPE);
- createProperty(false, propertyType,PropertyImpl.INTERNAL_OPPOSITE);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_NULLABLE);
- createProperty(true, propertyType,PropertyImpl.INTERNAL_ANY_ATTRIBUTE);
- textTypeType = createType(false, TEXT_TYPE);
- createProperty(true, textTypeType,TextTypeImpl.INTERNAL_TEXT);
- typeType = createType(false, TYPE);
- createProperty(false, typeType,TypeImpl.INTERNAL_BASE_TYPE);
- createProperty(false, typeType,TypeImpl.INTERNAL_PROPERTY);
- createProperty(true, typeType,TypeImpl.INTERNAL_ALIAS_NAME);
- createProperty(true, typeType,TypeImpl.INTERNAL_ANY);
- createProperty(true, typeType,TypeImpl.INTERNAL_NAME);
- createProperty(true, typeType,TypeImpl.INTERNAL_URI);
- createProperty(true, typeType,TypeImpl.INTERNAL_DATA_TYPE);
- createProperty(true, typeType,TypeImpl.INTERNAL_OPEN);
- createProperty(true, typeType,TypeImpl.INTERNAL_SEQUENCED);
- createProperty(true, typeType,TypeImpl.INTERNAL_ABSTRACT);
- createProperty(true, typeType,TypeImpl.INTERNAL_ANY_ATTRIBUTE);
- typesType = createType(false, TYPES);
- createProperty(false, typesType,TypesImpl.INTERNAL_TYPE);
- xsdTypeType = createType(false, XSD_TYPE);
- createProperty(true, xsdTypeType,XSDTypeImpl.INTERNAL_ANY);
-
- // Create data types
- boolean_Type = createType(true, BOOLEAN );
- booleanObjectType = createType(true, BOOLEAN_OBJECT );
- byte_Type = createType(true, BYTE );
- byteObjectType = createType(true, BYTE_OBJECT );
- bytesType = createType(true, BYTES );
- changeSummaryTypeType = createType(true, CHANGE_SUMMARY_TYPE );
- characterType = createType(true, CHARACTER );
- characterObjectType = createType(true, CHARACTER_OBJECT );
- dateType = createType(true, DATE );
- dateTimeType = createType(true, DATE_TIME );
- dayType = createType(true, DAY );
- decimalType = createType(true, DECIMAL );
- double_Type = createType(true, DOUBLE );
- doubleObjectType = createType(true, DOUBLE_OBJECT );
- durationType = createType(true, DURATION );
- float_Type = createType(true, FLOAT );
- floatObjectType = createType(true, FLOAT_OBJECT );
- int_Type = createType(true, INT );
- integerType = createType(true, INTEGER );
- intObjectType = createType(true, INT_OBJECT );
- long_Type = createType(true, LONG );
- longObjectType = createType(true, LONG_OBJECT );
- monthType = createType(true, MONTH );
- monthDayType = createType(true, MONTH_DAY );
- objectType = createType(true, OBJECT );
- short_Type = createType(true, SHORT );
- shortObjectType = createType(true, SHORT_OBJECT );
- stringType = createType(true, STRING );
- stringsType = createType(true, STRINGS );
- timeType = createType(true, TIME );
- uriType = createType(true, URI );
- yearType = createType(true, YEAR );
- yearMonthType = createType(true, YEAR_MONTH );
- yearMonthDayType = createType(true, YEAR_MONTH_DAY );
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
- commonj.sdo.Property property = null;
-
- // Add supertypes to types
- addSuperType(dataGraphTypeType, this.getBaseDataGraphType());
-
- // Initialize types and properties
- initializeType(baseDataGraphTypeType, BaseDataGraphType.class, "BaseDataGraphType", true);
- property = getLocalProperty(baseDataGraphTypeType, 0);
- initializeProperty(property, this.getModelsType(), "models", null, 0, 1, BaseDataGraphType.class, false, true, false, true , null);
-
- property = getLocalProperty(baseDataGraphTypeType, 1);
- initializeProperty(property, this.getXSDType(), "xsd", null, 0, 1, BaseDataGraphType.class, false, true, false, true , null);
-
- property = getLocalProperty(baseDataGraphTypeType, 2);
- initializeProperty(property, this.getChangeSummaryType(), "changeSummary", null, 0, 1, BaseDataGraphType.class, false, true, false);
-
- property = getLocalProperty(baseDataGraphTypeType, 3);
- initializeProperty(property, getSequence(), "anyAttribute", null, 0, -1, BaseDataGraphType.class, false, false, false);
-
- initializeType(dataGraphTypeType, DataGraphType.class, "DataGraphType", false);
- property = getLocalProperty(dataGraphTypeType, 0);
- initializeProperty(property, getSequence(), "any", null, 0, 1, DataGraphType.class, false, false, false);
-
- initializeType(dataObjectType, commonj.sdo.DataObject.class, "DataObject", true); // generated as org.apache.tuscany.sdo.model.DataObject.class
- initializeType(modelsTypeType, ModelsType.class, "ModelsType", false);
- property = getLocalProperty(modelsTypeType, 0);
- initializeProperty(property, getSequence(), "any", null, 0, -1, ModelsType.class, false, false, false);
-
- initializeType(propertyType, Property.class, "Property", false);
- property = getLocalProperty(propertyType, 0);
- initializeProperty(property, this.getString(), "aliasName", null, 0, -1, Property.class, false, false, false);
-
- property = getLocalProperty(propertyType, 1);
- initializeProperty(property, getSequence(), "any", null, 0, -1, Property.class, false, false, false);
-
- property = getLocalProperty(propertyType, 2);
- initializeProperty(property, this.getString(), "name", null, 0, 1, Property.class, false, true, false);
-
- property = getLocalProperty(propertyType, 3);
- initializeProperty(property, this.getBoolean(), "many", null, 0, 1, Property.class, false, true, false);
-
- property = getLocalProperty(propertyType, 4);
- initializeProperty(property, this.getBoolean(), "containment", null, 0, 1, Property.class, false, true, false);
-
- property = getLocalProperty(propertyType, 5);
- initializeProperty(property, this.getString(), "default", null, 0, 1, Property.class, false, true, false);
-
- property = getLocalProperty(propertyType, 6);
- initializeProperty(property, this.getBoolean(), "readOnly", null, 0, 1, Property.class, false, true, false);
-
- property = getLocalProperty(propertyType, 7);
- initializeProperty(property, this.getType(), "type", null, 0, 1, Property.class, false, true, false, false , null);
- setInstanceProperty (property, "commonj.sdo/xml", "propertyType", "sdo:Type");
-
- property = getLocalProperty(propertyType, 8);
- initializeProperty(property, this.getProperty(), "opposite", null, 0, 1, Property.class, false, true, false, false , null);
- setInstanceProperty (property, "commonj.sdo/xml", "propertyType", "sdo:Property");
-
- property = getLocalProperty(propertyType, 9);
- initializeProperty(property, this.getBoolean(), "nullable", null, 0, 1, Property.class, false, true, false);
-
- property = getLocalProperty(propertyType, 10);
- initializeProperty(property, getSequence(), "anyAttribute", null, 0, -1, Property.class, false, false, false);
-
- initializeType(textTypeType, TextType.class, "TextType", true);
- property = getLocalProperty(textTypeType, 0);
- initializeProperty(property, this.getString(), "text", null, 0, -1, TextType.class, false, false, false);
-
- initializeType(typeType, Type.class, "Type", false);
- property = getLocalProperty(typeType, 0);
- initializeProperty(property, this.getType(), "baseType", null, 0, -1, Type.class, false, false, false, false , null);
- setInstanceProperty (property, "commonj.sdo/xml", "propertyType", "sdo:Type");
-
- property = getLocalProperty(typeType, 1);
- initializeProperty(property, this.getProperty(), "property", null, 0, -1, Type.class, false, false, false, true , null);
-
- property = getLocalProperty(typeType, 2);
- initializeProperty(property, this.getString(), "aliasName", null, 0, -1, Type.class, false, false, false);
-
- property = getLocalProperty(typeType, 3);
- initializeProperty(property, getSequence(), "any", null, 0, -1, Type.class, false, false, false);
-
- property = getLocalProperty(typeType, 4);
- initializeProperty(property, this.getString(), "name", null, 0, 1, Type.class, false, true, false);
- setInstanceProperty (property, "commonj.sdo/xml", "dataType", "sdo:String");
-
- property = getLocalProperty(typeType, 5);
- initializeProperty(property, this.getURI(), "uri", null, 0, 1, Type.class, false, true, false);
-
- property = getLocalProperty(typeType, 6);
- initializeProperty(property, this.getBoolean(), "dataType", null, 0, 1, Type.class, false, true, false);
-
- property = getLocalProperty(typeType, 7);
- initializeProperty(property, this.getBoolean(), "open", null, 0, 1, Type.class, false, true, false);
-
- property = getLocalProperty(typeType, 8);
- initializeProperty(property, this.getBoolean(), "sequenced", null, 0, 1, Type.class, false, true, false);
-
- property = getLocalProperty(typeType, 9);
- initializeProperty(property, this.getBoolean(), "abstract", null, 0, 1, Type.class, false, true, false);
-
- property = getLocalProperty(typeType, 10);
- initializeProperty(property, getSequence(), "anyAttribute", null, 0, -1, Type.class, false, false, false);
-
- initializeType(typesType, Types.class, "Types", false);
- property = getLocalProperty(typesType, 0);
- initializeProperty(property, this.getType(), "type", null, 0, -1, Types.class, false, false, false, true , null);
-
- initializeType(xsdTypeType, XSDType.class, "XSDType", false);
- property = getLocalProperty(xsdTypeType, 0);
- initializeProperty(property, getSequence(), "any", null, 0, -1, XSDType.class, false, false, false);
-
- // Initialize data types
- initializeType(boolean_Type, boolean.class, "Boolean", true, false);
- setInstanceProperty (boolean_Type, "commonj.sdo/java", "instanceClass", "boolean");
-
- initializeType(booleanObjectType, Boolean.class, "BooleanObject", true, false);
-
- initializeType(byte_Type, byte.class, "Byte", true, false);
- setInstanceProperty (byte_Type, "commonj.sdo/java", "instanceClass", "byte");
-
- initializeType(byteObjectType, Byte.class, "ByteObject", true, false);
-
- initializeType(bytesType, byte[].class, "Bytes", true, false);
- setInstanceProperty (bytesType, "commonj.sdo/java", "instanceClass", "byte[]");
-
- initializeType(changeSummaryTypeType, ChangeSummary.class, "ChangeSummaryType", true, false);
- setInstanceProperty (changeSummaryTypeType, "commonj.sdo/java", "instanceClass", "commonj.sdo.ChangeSummary");
-
- initializeType(characterType, char.class, "Character", true, false);
- setInstanceProperty (characterType, "commonj.sdo/java", "instanceClass", "char");
-
- initializeType(characterObjectType, Character.class, "CharacterObject", true, false);
-
- initializeType(dateType, Date.class, "Date", true, false);
- setInstanceProperty (dateType, "commonj.sdo/java", "instanceClass", "java.util.Date");
-
- initializeType(dateTimeType, String.class, "DateTime", true, false);
- setInstanceProperty (dateTimeType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(dayType, String.class, "Day", true, false);
- setInstanceProperty (dayType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(decimalType, BigDecimal.class, "Decimal", true, false);
- setInstanceProperty (decimalType, "commonj.sdo/java", "instanceClass", "java.math.BigDecimal");
-
- initializeType(double_Type, double.class, "Double", true, false);
- setInstanceProperty (double_Type, "commonj.sdo/java", "instanceClass", "double");
-
- initializeType(doubleObjectType, Double.class, "DoubleObject", true, false);
-
- initializeType(durationType, String.class, "Duration", true, false);
- setInstanceProperty (durationType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(float_Type, float.class, "Float", true, false);
- setInstanceProperty (float_Type, "commonj.sdo/java", "instanceClass", "float");
-
- initializeType(floatObjectType, Float.class, "FloatObject", true, false);
-
- initializeType(int_Type, int.class, "Int", true, false);
- setInstanceProperty (int_Type, "commonj.sdo/java", "instanceClass", "int");
-
- initializeType(integerType, BigInteger.class, "Integer", true, false);
- setInstanceProperty (integerType, "commonj.sdo/java", "instanceClass", "java.math.BigInteger");
-
- initializeType(intObjectType, Integer.class, "IntObject", true, false);
-
- initializeType(long_Type, long.class, "Long", true, false);
- setInstanceProperty (long_Type, "commonj.sdo/java", "instanceClass", "long");
-
- initializeType(longObjectType, Long.class, "LongObject", true, false);
-
- initializeType(monthType, String.class, "Month", true, false);
- setInstanceProperty (monthType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(monthDayType, String.class, "MonthDay", true, false);
- setInstanceProperty (monthDayType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(objectType, Object.class, "Object", true, false);
- setInstanceProperty (objectType, "commonj.sdo/java", "instanceClass", "java.lang.Object");
-
- initializeType(short_Type, short.class, "Short", true, false);
- setInstanceProperty (short_Type, "commonj.sdo/java", "instanceClass", "short");
-
- initializeType(shortObjectType, Short.class, "ShortObject", true, false);
-
- initializeType(stringType, String.class, "String", true, false);
- setInstanceProperty (stringType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(stringsType, List.class, "Strings", true, false);
- setInstanceProperty (stringsType, "commonj.sdo/java", "instanceClass", "java.util.List");
-
- initializeType(timeType, String.class, "Time", true, false);
- setInstanceProperty (timeType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(uriType, String.class, "URI", true, false);
- setInstanceProperty (uriType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(yearType, String.class, "Year", true, false);
- setInstanceProperty (yearType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(yearMonthType, String.class, "YearMonth", true, false);
- setInstanceProperty (yearMonthType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- initializeType(yearMonthDayType, String.class, "YearMonthDay", true, false);
- setInstanceProperty (yearMonthDayType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- createXSDMetaData();
- }
-
- protected void createXSDMetaData()
- {
- super.initXSD();
-
- commonj.sdo.Property property = null;
-
-
- addXSDMapping
- (baseDataGraphTypeType,
- new String[]
- {
- "name", "BaseDataGraphType",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(baseDataGraphTypeType, BaseDataGraphTypeImpl.INTERNAL_MODELS),
- new String[]
- {
- "kind", "element",
- "name", "models"
- });
-
- addXSDMapping
- (getProperty(baseDataGraphTypeType, BaseDataGraphTypeImpl.INTERNAL_XSD),
- new String[]
- {
- "kind", "element",
- "name", "xsd"
- });
-
- addXSDMapping
- (getProperty(baseDataGraphTypeType, BaseDataGraphTypeImpl.INTERNAL_CHANGE_SUMMARY),
- new String[]
- {
- "kind", "element",
- "name", "changeSummary"
- });
-
- addXSDMapping
- (getProperty(baseDataGraphTypeType, BaseDataGraphTypeImpl.INTERNAL_ANY_ATTRIBUTE),
- new String[]
- {
- "kind", "attributeWildcard",
- "wildcards", "##other",
- "name", ":3",
- "processing", "lax"
- });
-
- addXSDMapping
- (dataGraphTypeType,
- new String[]
- {
- "name", "DataGraphType",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(dataGraphTypeType, DataGraphTypeImpl.INTERNAL_ANY),
- new String[]
- {
- "kind", "elementWildcard",
- "wildcards", "##other",
- "name", ":4",
- "processing", "lax"
- });
-
- addXSDMapping
- (dataObjectType,
- new String[]
- {
- "name", "DataObject",
- "kind", "empty"
- });
-
- property = createGlobalProperty
- ("datagraph",
- this.getDataGraphType(),
- new String[]
- {
- "kind", "element",
- "name", "datagraph",
- "namespace", "##targetNamespace"
- });
-
- property = createGlobalProperty
- ("dataObject",
- this.getDataObject(),
- new String[]
- {
- "kind", "element",
- "name", "dataObject",
- "namespace", "##targetNamespace"
- });
-
- property = createGlobalProperty
- ("type",
- this.getType(),
- new String[]
- {
- "kind", "element",
- "name", "type",
- "namespace", "##targetNamespace"
- });
-
- property = createGlobalProperty
- ("types",
- this.getTypes(),
- new String[]
- {
- "kind", "element",
- "name", "types",
- "namespace", "##targetNamespace"
- });
-
- property = createGlobalProperty
- ("ref",
- this.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "ref",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("unset",
- this.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "unset",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- addXSDMapping
- (modelsTypeType,
- new String[]
- {
- "name", "ModelsType",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(modelsTypeType, ModelsTypeImpl.INTERNAL_ANY),
- new String[]
- {
- "kind", "elementWildcard",
- "wildcards", "##other",
- "name", ":0",
- "processing", "lax"
- });
-
- addXSDMapping
- (propertyType,
- new String[]
- {
- "name", "Property",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_ALIAS_NAME),
- new String[]
- {
- "kind", "element",
- "name", "aliasName",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_ANY),
- new String[]
- {
- "kind", "elementWildcard",
- "wildcards", "##other",
- "name", ":1",
- "processing", "lax"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_NAME),
- new String[]
- {
- "kind", "attribute",
- "name", "name"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_MANY),
- new String[]
- {
- "kind", "attribute",
- "name", "many"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_CONTAINMENT),
- new String[]
- {
- "kind", "attribute",
- "name", "containment"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_DEFAULT),
- new String[]
- {
- "kind", "attribute",
- "name", "default"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_READ_ONLY),
- new String[]
- {
- "kind", "attribute",
- "name", "readOnly"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_TYPE),
- new String[]
- {
- "kind", "attribute",
- "name", "type"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_OPPOSITE),
- new String[]
- {
- "kind", "attribute",
- "name", "opposite"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_NULLABLE),
- new String[]
- {
- "kind", "attribute",
- "name", "nullable"
- });
-
- addXSDMapping
- (getProperty(propertyType, PropertyImpl.INTERNAL_ANY_ATTRIBUTE),
- new String[]
- {
- "kind", "attributeWildcard",
- "wildcards", "##any",
- "name", ":10",
- "processing", "lax"
- });
-
- addXSDMapping
- (textTypeType,
- new String[]
- {
- "name", "TextType",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(textTypeType, TextTypeImpl.INTERNAL_TEXT),
- new String[]
- {
- "kind", "element",
- "name", "text",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (typeType,
- new String[]
- {
- "name", "Type",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_BASE_TYPE),
- new String[]
- {
- "kind", "element",
- "name", "baseType",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_PROPERTY),
- new String[]
- {
- "kind", "element",
- "name", "property",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_ALIAS_NAME),
- new String[]
- {
- "kind", "element",
- "name", "aliasName",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_ANY),
- new String[]
- {
- "kind", "elementWildcard",
- "wildcards", "##other",
- "name", ":3",
- "processing", "lax"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_NAME),
- new String[]
- {
- "kind", "attribute",
- "name", "name"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_URI),
- new String[]
- {
- "kind", "attribute",
- "name", "uri"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_DATA_TYPE),
- new String[]
- {
- "kind", "attribute",
- "name", "dataType"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_OPEN),
- new String[]
- {
- "kind", "attribute",
- "name", "open"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_SEQUENCED),
- new String[]
- {
- "kind", "attribute",
- "name", "sequenced"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_ABSTRACT),
- new String[]
- {
- "kind", "attribute",
- "name", "abstract"
- });
-
- addXSDMapping
- (getProperty(typeType, TypeImpl.INTERNAL_ANY_ATTRIBUTE),
- new String[]
- {
- "kind", "attributeWildcard",
- "wildcards", "##any",
- "name", ":10",
- "processing", "lax"
- });
-
- addXSDMapping
- (typesType,
- new String[]
- {
- "name", "Types",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(typesType, TypesImpl.INTERNAL_TYPE),
- new String[]
- {
- "kind", "element",
- "name", "type",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (xsdTypeType,
- new String[]
- {
- "name", "XSDType",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(xsdTypeType, XSDTypeImpl.INTERNAL_ANY),
- new String[]
- {
- "kind", "elementWildcard",
- "wildcards", "http://www.w3.org/2001/XMLSchema",
- "name", ":0",
- "processing", "lax"
- });
-
- addXSDMapping
- (boolean_Type,
- new String[]
- {
- "name", "Boolean"
- });
-
- addXSDMapping
- (booleanObjectType,
- new String[]
- {
- "name", "Boolean:Object",
- "baseType", "Boolean"
- });
-
- addXSDMapping
- (byte_Type,
- new String[]
- {
- "name", "Byte"
- });
-
- addXSDMapping
- (byteObjectType,
- new String[]
- {
- "name", "Byte:Object",
- "baseType", "Byte"
- });
-
- addXSDMapping
- (bytesType,
- new String[]
- {
- "name", "Bytes"
- });
-
- addXSDMapping
- (changeSummaryTypeType,
- new String[]
- {
- "name", "ChangeSummaryType"
- });
-
- addXSDMapping
- (characterType,
- new String[]
- {
- "name", "Character"
- });
-
- addXSDMapping
- (characterObjectType,
- new String[]
- {
- "name", "Character:Object",
- "baseType", "Character"
- });
-
- addXSDMapping
- (dateType,
- new String[]
- {
- "name", "Date"
- });
-
- addXSDMapping
- (dateTimeType,
- new String[]
- {
- "name", "DateTime"
- });
-
- addXSDMapping
- (dayType,
- new String[]
- {
- "name", "Day"
- });
-
- addXSDMapping
- (decimalType,
- new String[]
- {
- "name", "Decimal"
- });
-
- addXSDMapping
- (double_Type,
- new String[]
- {
- "name", "Double"
- });
-
- addXSDMapping
- (doubleObjectType,
- new String[]
- {
- "name", "Double:Object",
- "baseType", "Double"
- });
-
- addXSDMapping
- (durationType,
- new String[]
- {
- "name", "Duration"
- });
-
- addXSDMapping
- (float_Type,
- new String[]
- {
- "name", "Float"
- });
-
- addXSDMapping
- (floatObjectType,
- new String[]
- {
- "name", "Float:Object",
- "baseType", "Float"
- });
-
- addXSDMapping
- (int_Type,
- new String[]
- {
- "name", "Int"
- });
-
- addXSDMapping
- (integerType,
- new String[]
- {
- "name", "Integer"
- });
-
- addXSDMapping
- (intObjectType,
- new String[]
- {
- "name", "Int:Object",
- "baseType", "Int"
- });
-
- addXSDMapping
- (long_Type,
- new String[]
- {
- "name", "Long"
- });
-
- addXSDMapping
- (longObjectType,
- new String[]
- {
- "name", "Long:Object",
- "baseType", "Long"
- });
-
- addXSDMapping
- (monthType,
- new String[]
- {
- "name", "Month"
- });
-
- addXSDMapping
- (monthDayType,
- new String[]
- {
- "name", "MonthDay"
- });
-
- addXSDMapping
- (objectType,
- new String[]
- {
- "name", "Object"
- });
-
- addXSDMapping
- (short_Type,
- new String[]
- {
- "name", "Short"
- });
-
- addXSDMapping
- (shortObjectType,
- new String[]
- {
- "name", "Short:Object",
- "baseType", "Short"
- });
-
- addXSDMapping
- (stringType,
- new String[]
- {
- "name", "String"
- });
-
- addXSDMapping
- (stringsType,
- new String[]
- {
- "name", "Strings"
- });
-
- addXSDMapping
- (timeType,
- new String[]
- {
- "name", "Time"
- });
-
- addXSDMapping
- (uriType,
- new String[]
- {
- "name", "URI"
- });
-
- addXSDMapping
- (yearType,
- new String[]
- {
- "name", "Year"
- });
-
- addXSDMapping
- (yearMonthType,
- new String[]
- {
- "name", "YearMonth"
- });
-
- addXSDMapping
- (yearMonthDayType,
- new String[]
- {
- "name", "YearMonthDay"
- });
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Boolean createBooleanFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createBooleanObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertBooleanToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertBooleanObject((Boolean)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Boolean createBooleanObjectFromString(String initialValue)
- {
- return (Boolean)createBooleanFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertBooleanObjectToString(Object instanceValue)
- {
- return convertBooleanToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Byte createByteFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createByteObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertByteToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertByteObject((Byte)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Byte createByteObjectFromString(String initialValue)
- {
- return (Byte)createByteFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertByteObjectToString(Object instanceValue)
- {
- return convertByteToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte[] createBytesFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createHexBinary(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertBytesToString(Object instanceValue)
- {
- if (instanceValue instanceof byte[]) {
- return XMLTypeFactory.eINSTANCE.convertHexBinary((byte[])instanceValue);
- } else {
- return XMLTypeFactory.eINSTANCE.convertHexBinary(instanceValue.toString().getBytes());
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public ChangeSummary createChangeSummaryTypeFromString(String initialValue)
- {
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertChangeSummaryTypeToString(Object instanceValue)
- {
- return "change summary serialization goes here ...";
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Character createCharacterFromString(String initialValue)
- {
- return (initialValue == null && initialValue.length() > 0)
- ? null : (new Character(XMLTypeUtil.normalize(initialValue, true).charAt(0)));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertCharacterToString(Object instanceValue)
- {
- return String.valueOf(((Character)instanceValue).charValue());
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Character createCharacterObjectFromString(String initialValue)
- {
- return (Character)createCharacterFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertCharacterObjectToString(Object instanceValue)
- {
- return convertCharacterToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Date createDateFromString(String initialValue)
- {
- // XMLCalendar cal = (XMLCalendar) XMLTypeFactory.eINSTANCE.createDate(initialValue);
- // return (cal != null) ? cal.getDate() : null;
- return DataHelper.INSTANCE.toDate(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDateToString(Object instanceValue)
- {
- if (instanceValue == null)
- {
- return null;
- }
-
- SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z'");
- f.setTimeZone(TimeZone.getTimeZone("GMT"));
-
- return f.format((Date)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createDateTimeFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDateTimeToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createDayFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDayToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigDecimal createDecimalFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createDecimal(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDecimalToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertDecimal((BigDecimal)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Double createDoubleFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createDoubleObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDoubleToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertDoubleObject((Double)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Double createDoubleObjectFromString(String initialValue)
- {
- return (Double)createDoubleFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDoubleObjectToString(Object instanceValue)
- {
- return convertDoubleToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createDurationFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDurationToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Float createFloatFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createFloatObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertFloatToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertFloatObject((Float)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Float createFloatObjectFromString(String initialValue)
- {
- return (Float)createFloatFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertFloatObjectToString(Object instanceValue)
- {
- return convertFloatToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Integer createIntFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createIntObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertIntToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertIntObject((Integer)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public BigInteger createIntegerFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createInteger(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertIntegerToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertInteger((BigInteger)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Integer createIntObjectFromString(String initialValue)
- {
- return (Integer)createIntFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertIntObjectToString(Object instanceValue)
- {
- return convertIntToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Long createLongFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createLongObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertLongToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertLongObject((Long)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Long createLongObjectFromString(String initialValue)
- {
- return (Long)createLongFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertLongObjectToString(Object instanceValue)
- {
- return convertLongToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createMonthFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertMonthToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createMonthDayFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertMonthDayToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object createObjectFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertObjectToString(Object instanceValue)
- {
- return (instanceValue != null) ? instanceValue.toString() : null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Short createShortFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createShortObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertShortToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertShortObject((Short)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Short createShortObjectFromString(String initialValue)
- {
- return (Short)createShortFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertShortObjectToString(Object instanceValue)
- {
- return convertShortToString(instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createStringFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertStringToString(Object instanceValue)
- {
- return (instanceValue != null) ? instanceValue.toString() : null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public List createStringsFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createENTITIES(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertStringsToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertENTITIES((List)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createTimeFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertTimeToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createURIFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertURIToString(Object instanceValue)
- {
- return (instanceValue != null) ? instanceValue.toString() : null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createYearFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertYearToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createYearMonthFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertYearMonthToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String createYearMonthDayFromString(String initialValue)
- {
- return initialValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertYearMonthDayToString(Object instanceValue)
- {
- return (String)instanceValue;
- }
-
-
-
-} //ModelFactoryImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java
deleted file mode 100644
index df043a0d10..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.ModelsType;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Models Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.ModelsTypeImpl#getAny <em>Any</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ModelsTypeImpl extends DataObjectBase implements ModelsType
-{
-
- public final static int ANY = -1;
-
- public final static int SDO_PROPERTY_COUNT = 0;
-
- public final static int EXTENDED_PROPERTY_COUNT = -1;
-
-
- /**
- * The internal feature id for the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY = 0;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 1;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_ANY: return ANY;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAny()
- * @generated
- * @ordered
- */
-
- protected Sequence any = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelsTypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getModelsType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAny()
- {
- if (any == null)
- {
- any = createSequence(INTERNAL_ANY);
- }
- return any;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case ANY:
- return removeFromSequence(getAny(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case ANY:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAny();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case ANY:
- setSequence(getAny(), newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ANY:
- unsetSequence(getAny());
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ANY:
- return any != null && !isSequenceEmpty(getAny());
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (any: ");
- result.append(any);
- result.append(')');
- return result.toString();
- }
-
-} //ModelsTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java
deleted file mode 100644
index c8348ded2d..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java
+++ /dev/null
@@ -1,1170 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Sequence;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.Property;
-import org.apache.tuscany.sdo.model.Type;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getAliasName <em>Alias Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getAny <em>Any</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getName <em>Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#isMany <em>Many</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#isContainment <em>Containment</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getDefault <em>Default</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#isReadOnly <em>Read Only</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getType_ <em>Type</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getOpposite <em>Opposite</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#isNullable <em>Nullable</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getAnyAttribute <em>Any Attribute</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PropertyImpl extends DataObjectBase implements Property
-{
-
- public final static int ALIAS_NAME = 0;
-
- public final static int ANY = -1;
-
- public final static int NAME = 1;
-
- public final static int MANY = 2;
-
- public final static int CONTAINMENT = 3;
-
- public final static int DEFAULT = 4;
-
- public final static int READ_ONLY = 5;
-
- public final static int TYPE = 6;
-
- public final static int OPPOSITE = 7;
-
- public final static int NULLABLE = 8;
-
- public final static int ANY_ATTRIBUTE = -2;
-
- public final static int SDO_PROPERTY_COUNT = 9;
-
- public final static int EXTENDED_PROPERTY_COUNT = -2;
-
-
- /**
- * The internal feature id for the '<em><b>Alias Name</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ALIAS_NAME = 0;
-
- /**
- * The internal feature id for the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY = 1;
-
- /**
- * The internal feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_NAME = 2;
-
- /**
- * The internal feature id for the '<em><b>Many</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_MANY = 3;
-
- /**
- * The internal feature id for the '<em><b>Containment</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_CONTAINMENT = 4;
-
- /**
- * The internal feature id for the '<em><b>Default</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_DEFAULT = 5;
-
- /**
- * The internal feature id for the '<em><b>Read Only</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_READ_ONLY = 6;
-
- /**
- * The internal feature id for the '<em><b>Type</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_TYPE = 7;
-
- /**
- * The internal feature id for the '<em><b>Opposite</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_OPPOSITE = 8;
-
- /**
- * The internal feature id for the '<em><b>Nullable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_NULLABLE = 9;
-
- /**
- * The internal feature id for the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY_ATTRIBUTE = 10;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 11;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_ALIAS_NAME: return ALIAS_NAME;
- case INTERNAL_ANY: return ANY;
- case INTERNAL_NAME: return NAME;
- case INTERNAL_MANY: return MANY;
- case INTERNAL_CONTAINMENT: return CONTAINMENT;
- case INTERNAL_DEFAULT: return DEFAULT;
- case INTERNAL_READ_ONLY: return READ_ONLY;
- case INTERNAL_TYPE: return TYPE;
- case INTERNAL_OPPOSITE: return OPPOSITE;
- case INTERNAL_NULLABLE: return NULLABLE;
- case INTERNAL_ANY_ATTRIBUTE: return ANY_ATTRIBUTE;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getAliasName() <em>Alias Name</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAliasName()
- * @generated
- * @ordered
- */
-
- protected List aliasName = null;
-
- /**
- * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAny()
- * @generated
- * @ordered
- */
-
- protected Sequence any = null;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_DEFAULT_;
-
- /**
- * This is true if the Name attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean name_set_ = false;
-
- /**
- * The default value of the '{@link #isMany() <em>Many</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMany()
- * @generated
- * @ordered
- */
- protected static final boolean MANY_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isMany() <em>Many</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMany()
- * @generated
- * @ordered
- */
- protected boolean many = MANY_DEFAULT_;
-
- /**
- * This is true if the Many attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean many_set_ = false;
-
- /**
- * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isContainment()
- * @generated
- * @ordered
- */
- protected static final boolean CONTAINMENT_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isContainment()
- * @generated
- * @ordered
- */
- protected boolean containment = CONTAINMENT_DEFAULT_;
-
- /**
- * This is true if the Containment attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean containment_set_ = false;
-
- /**
- * The default value of the '{@link #getDefault_() <em>Default</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDefault_()
- * @generated
- * @ordered
- */
- protected static final String DEFAULT_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getDefault_() <em>Default</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDefault_()
- * @generated
- * @ordered
- */
- protected String default_ = DEFAULT_DEFAULT_;
-
- /**
- * This is true if the Default attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean default_set_ = false;
-
- /**
- * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isReadOnly()
- * @generated
- * @ordered
- */
- protected static final boolean READ_ONLY_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isReadOnly()
- * @generated
- * @ordered
- */
- protected boolean readOnly = READ_ONLY_DEFAULT_;
-
- /**
- * This is true if the Read Only attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean readOnly_set_ = false;
-
- /**
- * The cached value of the '{@link #getType_() <em>Type</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType_()
- * @generated
- * @ordered
- */
-
- protected Type type = null;
-
- /**
- * This is true if the Type reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean type_set_ = false;
-
- /**
- * The cached value of the '{@link #getOpposite_() <em>Opposite</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOpposite_()
- * @generated
- * @ordered
- */
-
- protected Property opposite = null;
-
- /**
- * This is true if the Opposite reference has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean opposite_set_ = false;
-
- /**
- * The default value of the '{@link #isNullable() <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNullable()
- * @generated
- * @ordered
- */
- protected static final boolean NULLABLE_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isNullable() <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNullable()
- * @generated
- * @ordered
- */
- protected boolean nullable = NULLABLE_DEFAULT_;
-
- /**
- * This is true if the Nullable attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean nullable_set_ = false;
-
- /**
- * The cached value of the '{@link #getAnyAttribute() <em>Any Attribute</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAnyAttribute()
- * @generated
- * @ordered
- */
-
- protected Sequence anyAttribute = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PropertyImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public commonj.sdo.Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getProperty();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getAliasName()
- {
- if (aliasName == null)
- {
- aliasName = createPropertyList(ListKind.DATATYPE, String.class, ALIAS_NAME, 0);
- }
- return aliasName;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAny()
- {
- if (any == null)
- {
- any = createSequence(INTERNAL_ANY);
- }
- return any;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName()
- {
- return name;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName)
- {
- String oldName = name;
- name = newName;
- boolean oldName_set_ = name_set_;
- name_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_NAME, oldName, name, !oldName_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetName()
- {
- String oldName = name;
- boolean oldName_set_ = name_set_;
- name = NAME_DEFAULT_;
- name_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_NAME, oldName, NAME_DEFAULT_, oldName_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetName()
- {
- return name_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMany()
- {
- return many;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMany(boolean newMany)
- {
- boolean oldMany = many;
- many = newMany;
- boolean oldMany_set_ = many_set_;
- many_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_MANY, oldMany, many, !oldMany_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetMany()
- {
- boolean oldMany = many;
- boolean oldMany_set_ = many_set_;
- many = MANY_DEFAULT_;
- many_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_MANY, oldMany, MANY_DEFAULT_, oldMany_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetMany()
- {
- return many_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isContainment()
- {
- return containment;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setContainment(boolean newContainment)
- {
- boolean oldContainment = containment;
- containment = newContainment;
- boolean oldContainment_set_ = containment_set_;
- containment_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_CONTAINMENT, oldContainment, containment, !oldContainment_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetContainment()
- {
- boolean oldContainment = containment;
- boolean oldContainment_set_ = containment_set_;
- containment = CONTAINMENT_DEFAULT_;
- containment_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_CONTAINMENT, oldContainment, CONTAINMENT_DEFAULT_, oldContainment_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetContainment()
- {
- return containment_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getDefault_()
- {
- return default_;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDefault_(String newDefault)
- {
- String oldDefault = default_;
- default_ = newDefault;
- boolean oldDefault_set_ = default_set_;
- default_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_DEFAULT, oldDefault, default_, !oldDefault_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetDefault()
- {
- String oldDefault = default_;
- boolean oldDefault_set_ = default_set_;
- default_ = DEFAULT_DEFAULT_;
- default_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_DEFAULT, oldDefault, DEFAULT_DEFAULT_, oldDefault_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetDefault()
- {
- return default_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isReadOnly()
- {
- return readOnly;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setReadOnly(boolean newReadOnly)
- {
- boolean oldReadOnly = readOnly;
- readOnly = newReadOnly;
- boolean oldReadOnly_set_ = readOnly_set_;
- readOnly_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_READ_ONLY, oldReadOnly, readOnly, !oldReadOnly_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetReadOnly()
- {
- boolean oldReadOnly = readOnly;
- boolean oldReadOnly_set_ = readOnly_set_;
- readOnly = READ_ONLY_DEFAULT_;
- readOnly_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_READ_ONLY, oldReadOnly, READ_ONLY_DEFAULT_, oldReadOnly_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetReadOnly()
- {
- return readOnly_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getType_()
- {
- if (type != null && isProxy(type))
- {
- Object oldType = type;
- type = (Type)resolveProxy(oldType);
- if (type != oldType)
- {
- if (isNotifying())
- notify(ChangeKind.RESOLVE, INTERNAL_TYPE, oldType, type);
- }
- }
- return type;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type basicGetType()
- {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(Type newType)
- {
- Type oldType = type;
- type = newType;
- boolean oldType_set_ = type_set_;
- type_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_TYPE, oldType, type, !oldType_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetType()
- {
- Type oldType = type;
- boolean oldType_set_ = type_set_;
- type = null;
- type_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_TYPE, oldType, null, oldType_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetType()
- {
- return type_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Property getOpposite_()
- {
- if (opposite != null && isProxy(opposite))
- {
- Object oldOpposite = opposite;
- opposite = (Property)resolveProxy(oldOpposite);
- if (opposite != oldOpposite)
- {
- if (isNotifying())
- notify(ChangeKind.RESOLVE, INTERNAL_OPPOSITE, oldOpposite, opposite);
- }
- }
- return opposite;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Property basicGetOpposite()
- {
- return opposite;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOpposite_(Property newOpposite)
- {
- Property oldOpposite = opposite;
- opposite = newOpposite;
- boolean oldOpposite_set_ = opposite_set_;
- opposite_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_OPPOSITE, oldOpposite, opposite, !oldOpposite_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetOpposite()
- {
- Property oldOpposite = opposite;
- boolean oldOpposite_set_ = opposite_set_;
- opposite = null;
- opposite_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_OPPOSITE, oldOpposite, null, oldOpposite_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetOpposite()
- {
- return opposite_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isNullable()
- {
- return nullable;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setNullable(boolean newNullable)
- {
- boolean oldNullable = nullable;
- nullable = newNullable;
- boolean oldNullable_set_ = nullable_set_;
- nullable_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_NULLABLE, oldNullable, nullable, !oldNullable_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetNullable()
- {
- boolean oldNullable = nullable;
- boolean oldNullable_set_ = nullable_set_;
- nullable = NULLABLE_DEFAULT_;
- nullable_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_NULLABLE, oldNullable, NULLABLE_DEFAULT_, oldNullable_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetNullable()
- {
- return nullable_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAnyAttribute()
- {
- if (anyAttribute == null)
- {
- anyAttribute = createSequence(INTERNAL_ANY_ATTRIBUTE);
- }
- return anyAttribute;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case ANY:
- return removeFromSequence(getAny(), otherEnd, changeContext);
- case ANY_ATTRIBUTE:
- return removeFromSequence(getAnyAttribute(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case ALIAS_NAME:
- return getAliasName();
- case ANY:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAny();
- case NAME:
- return getName();
- case MANY:
- return isMany() ? Boolean.TRUE : Boolean.FALSE;
- case CONTAINMENT:
- return isContainment() ? Boolean.TRUE : Boolean.FALSE;
- case DEFAULT:
- return getDefault_();
- case READ_ONLY:
- return isReadOnly() ? Boolean.TRUE : Boolean.FALSE;
- case TYPE:
- if (resolve) return getType_();
- return basicGetType();
- case OPPOSITE:
- if (resolve) return getOpposite_();
- return basicGetOpposite();
- case NULLABLE:
- return isNullable() ? Boolean.TRUE : Boolean.FALSE;
- case ANY_ATTRIBUTE:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAnyAttribute();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case ALIAS_NAME:
- getAliasName().clear();
- getAliasName().addAll((Collection)newValue);
- return;
- case ANY:
- setSequence(getAny(), newValue);
- return;
- case NAME:
- setName((String)newValue);
- return;
- case MANY:
- setMany(((Boolean)newValue).booleanValue());
- return;
- case CONTAINMENT:
- setContainment(((Boolean)newValue).booleanValue());
- return;
- case DEFAULT:
- setDefault_((String)newValue);
- return;
- case READ_ONLY:
- setReadOnly(((Boolean)newValue).booleanValue());
- return;
- case TYPE:
- setType((Type)newValue);
- return;
- case OPPOSITE:
- setOpposite_((Property)newValue);
- return;
- case NULLABLE:
- setNullable(((Boolean)newValue).booleanValue());
- return;
- case ANY_ATTRIBUTE:
- setSequence(getAnyAttribute(), newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ALIAS_NAME:
- getAliasName().clear();
- return;
- case ANY:
- unsetSequence(getAny());
- return;
- case NAME:
- unsetName();
- return;
- case MANY:
- unsetMany();
- return;
- case CONTAINMENT:
- unsetContainment();
- return;
- case DEFAULT:
- unsetDefault();
- return;
- case READ_ONLY:
- unsetReadOnly();
- return;
- case TYPE:
- unsetType();
- return;
- case OPPOSITE:
- unsetOpposite();
- return;
- case NULLABLE:
- unsetNullable();
- return;
- case ANY_ATTRIBUTE:
- unsetSequence(getAnyAttribute());
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ALIAS_NAME:
- return aliasName != null && !aliasName.isEmpty();
- case ANY:
- return any != null && !isSequenceEmpty(getAny());
- case NAME:
- return isSetName();
- case MANY:
- return isSetMany();
- case CONTAINMENT:
- return isSetContainment();
- case DEFAULT:
- return isSetDefault();
- case READ_ONLY:
- return isSetReadOnly();
- case TYPE:
- return isSetType();
- case OPPOSITE:
- return isSetOpposite();
- case NULLABLE:
- return isSetNullable();
- case ANY_ATTRIBUTE:
- return anyAttribute != null && !isSequenceEmpty(getAnyAttribute());
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (aliasName: ");
- result.append(aliasName);
- result.append(", any: ");
- result.append(any);
- result.append(", name: ");
- if (name_set_) result.append(name); else result.append("<unset>");
- result.append(", many: ");
- if (many_set_) result.append(many); else result.append("<unset>");
- result.append(", containment: ");
- if (containment_set_) result.append(containment); else result.append("<unset>");
- result.append(", default: ");
- if (default_set_) result.append(default_); else result.append("<unset>");
- result.append(", readOnly: ");
- if (readOnly_set_) result.append(readOnly); else result.append("<unset>");
- result.append(", nullable: ");
- if (nullable_set_) result.append(nullable); else result.append("<unset>");
- result.append(", anyAttribute: ");
- result.append(anyAttribute);
- result.append(')');
- return result.toString();
- }
-
-} //PropertyImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java
deleted file mode 100644
index 48a310b142..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Type;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.TextType;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Text Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TextTypeImpl#getText <em>Text</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class TextTypeImpl extends DataObjectBase implements TextType
-{
-
- public final static int TEXT = 0;
-
- public final static int SDO_PROPERTY_COUNT = 1;
-
- public final static int EXTENDED_PROPERTY_COUNT = 0;
-
-
- /**
- * The internal feature id for the '<em><b>Text</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_TEXT = 0;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 1;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_TEXT: return TEXT;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getText() <em>Text</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getText()
- * @generated
- * @ordered
- */
-
- protected List text = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TextTypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getTextType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getText()
- {
- if (text == null)
- {
- text = createPropertyList(ListKind.DATATYPE, String.class, TEXT, 0);
- }
- return text;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case TEXT:
- return getText();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case TEXT:
- getText().clear();
- getText().addAll((Collection)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case TEXT:
- getText().clear();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case TEXT:
- return text != null && !text.isEmpty();
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (text: ");
- result.append(text);
- result.append(')');
- return result.toString();
- }
-
-} //TextTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java
deleted file mode 100644
index aee2ecaaab..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java
+++ /dev/null
@@ -1,1068 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Sequence;
-import commonj.sdo.helper.TypeHelper;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.Property;
-import org.apache.tuscany.sdo.model.Type;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getBaseType <em>Base Type</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getProperty <em>Property</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getAliasName <em>Alias Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getAny <em>Any</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getName <em>Name</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getUri <em>Uri</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isDataType <em>Data Type</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isOpen <em>Open</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isSequenced <em>Sequenced</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isAbstract <em>Abstract</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getAnyAttribute <em>Any Attribute</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TypeImpl extends DataObjectBase implements Type
-{
-
- public final static int BASE_TYPE = 0;
-
- public final static int PROPERTY = 1;
-
- public final static int ALIAS_NAME = 2;
-
- public final static int ANY = -1;
-
- public final static int NAME = 3;
-
- public final static int URI = 4;
-
- public final static int DATA_TYPE = 5;
-
- public final static int OPEN = 6;
-
- public final static int SEQUENCED = 7;
-
- public final static int ABSTRACT = 8;
-
- public final static int ANY_ATTRIBUTE = -2;
-
- public final static int SDO_PROPERTY_COUNT = 9;
-
- public final static int EXTENDED_PROPERTY_COUNT = -2;
-
-
- /**
- * The internal feature id for the '<em><b>Base Type</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_BASE_TYPE = 0;
-
- /**
- * The internal feature id for the '<em><b>Property</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY = 1;
-
- /**
- * The internal feature id for the '<em><b>Alias Name</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ALIAS_NAME = 2;
-
- /**
- * The internal feature id for the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY = 3;
-
- /**
- * The internal feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_NAME = 4;
-
- /**
- * The internal feature id for the '<em><b>Uri</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_URI = 5;
-
- /**
- * The internal feature id for the '<em><b>Data Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_DATA_TYPE = 6;
-
- /**
- * The internal feature id for the '<em><b>Open</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_OPEN = 7;
-
- /**
- * The internal feature id for the '<em><b>Sequenced</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_SEQUENCED = 8;
-
- /**
- * The internal feature id for the '<em><b>Abstract</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ABSTRACT = 9;
-
- /**
- * The internal feature id for the '<em><b>Any Attribute</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY_ATTRIBUTE = 10;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 11;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_BASE_TYPE: return BASE_TYPE;
- case INTERNAL_PROPERTY: return PROPERTY;
- case INTERNAL_ALIAS_NAME: return ALIAS_NAME;
- case INTERNAL_ANY: return ANY;
- case INTERNAL_NAME: return NAME;
- case INTERNAL_URI: return URI;
- case INTERNAL_DATA_TYPE: return DATA_TYPE;
- case INTERNAL_OPEN: return OPEN;
- case INTERNAL_SEQUENCED: return SEQUENCED;
- case INTERNAL_ABSTRACT: return ABSTRACT;
- case INTERNAL_ANY_ATTRIBUTE: return ANY_ATTRIBUTE;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getBaseType() <em>Base Type</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getBaseType()
- * @generated
- * @ordered
- */
-
- protected List baseType = null;
-
- /**
- * The cached value of the '{@link #getProperty() <em>Property</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getProperty()
- * @generated
- * @ordered
- */
-
- protected List property = null;
-
- /**
- * The cached value of the '{@link #getAliasName() <em>Alias Name</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAliasName()
- * @generated
- * @ordered
- */
-
- protected List aliasName = null;
-
- /**
- * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAny()
- * @generated
- * @ordered
- */
-
- protected Sequence any = null;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_DEFAULT_;
-
- /**
- * This is true if the Name attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean name_set_ = false;
-
- /**
- * The default value of the '{@link #getUri() <em>Uri</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUri()
- * @generated
- * @ordered
- */
- protected static final String URI_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getUri() <em>Uri</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUri()
- * @generated
- * @ordered
- */
- protected String uri = URI_DEFAULT_;
-
- /**
- * This is true if the Uri attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean uri_set_ = false;
-
- /**
- * The default value of the '{@link #isDataType() <em>Data Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDataType()
- * @generated
- * @ordered
- */
- protected static final boolean DATA_TYPE_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isDataType() <em>Data Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDataType()
- * @generated
- * @ordered
- */
- protected boolean dataType = DATA_TYPE_DEFAULT_;
-
- /**
- * This is true if the Data Type attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean dataType_set_ = false;
-
- /**
- * The default value of the '{@link #isOpen() <em>Open</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isOpen()
- * @generated
- * @ordered
- */
- protected static final boolean OPEN_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isOpen() <em>Open</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isOpen()
- * @generated
- * @ordered
- */
- protected boolean open = OPEN_DEFAULT_;
-
- /**
- * This is true if the Open attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean open_set_ = false;
-
- /**
- * The default value of the '{@link #isSequenced() <em>Sequenced</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSequenced()
- * @generated
- * @ordered
- */
- protected static final boolean SEQUENCED_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isSequenced() <em>Sequenced</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSequenced()
- * @generated
- * @ordered
- */
- protected boolean sequenced = SEQUENCED_DEFAULT_;
-
- /**
- * This is true if the Sequenced attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean sequenced_set_ = false;
-
- /**
- * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAbstract()
- * @generated
- * @ordered
- */
- protected static final boolean ABSTRACT_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAbstract()
- * @generated
- * @ordered
- */
- protected boolean abstract_ = ABSTRACT_DEFAULT_;
-
- /**
- * This is true if the Abstract attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean abstract_set_ = false;
-
- /**
- * The cached value of the '{@link #getAnyAttribute() <em>Any Attribute</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAnyAttribute()
- * @generated
- * @ordered
- */
-
- protected Sequence anyAttribute = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public commonj.sdo.Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getBaseType()
- {
- if (baseType == null)
- {
- baseType = createPropertyList(ListKind.NONCONTAINMENT_RESOLVING, Type.class, BASE_TYPE, 0);
- }
- return baseType;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getProperty()
- {
- if (property == null)
- {
- property = createPropertyList(ListKind.CONTAINMENT, Property.class, PROPERTY, 0);
- }
- return property;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getAliasName()
- {
- if (aliasName == null)
- {
- aliasName = createPropertyList(ListKind.DATATYPE, String.class, ALIAS_NAME, 0);
- }
- return aliasName;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAny()
- {
- if (any == null)
- {
- any = createSequence(INTERNAL_ANY);
- }
- return any;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName()
- {
- return name;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName)
- {
- String oldName = name;
- name = newName;
- boolean oldName_set_ = name_set_;
- name_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_NAME, oldName, name, !oldName_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetName()
- {
- String oldName = name;
- boolean oldName_set_ = name_set_;
- name = NAME_DEFAULT_;
- name_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_NAME, oldName, NAME_DEFAULT_, oldName_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetName()
- {
- return name_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getUri()
- {
- return uri;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setUri(String newUri)
- {
- String oldUri = uri;
- uri = newUri;
- boolean oldUri_set_ = uri_set_;
- uri_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_URI, oldUri, uri, !oldUri_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetUri()
- {
- String oldUri = uri;
- boolean oldUri_set_ = uri_set_;
- uri = URI_DEFAULT_;
- uri_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_URI, oldUri, URI_DEFAULT_, oldUri_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetUri()
- {
- return uri_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isDataType()
- {
- return dataType;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDataType(boolean newDataType)
- {
- boolean oldDataType = dataType;
- dataType = newDataType;
- boolean oldDataType_set_ = dataType_set_;
- dataType_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_DATA_TYPE, oldDataType, dataType, !oldDataType_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetDataType()
- {
- boolean oldDataType = dataType;
- boolean oldDataType_set_ = dataType_set_;
- dataType = DATA_TYPE_DEFAULT_;
- dataType_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_DATA_TYPE, oldDataType, DATA_TYPE_DEFAULT_, oldDataType_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetDataType()
- {
- return dataType_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isOpen()
- {
- return open;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOpen(boolean newOpen)
- {
- boolean oldOpen = open;
- open = newOpen;
- boolean oldOpen_set_ = open_set_;
- open_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_OPEN, oldOpen, open, !oldOpen_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetOpen()
- {
- boolean oldOpen = open;
- boolean oldOpen_set_ = open_set_;
- open = OPEN_DEFAULT_;
- open_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_OPEN, oldOpen, OPEN_DEFAULT_, oldOpen_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetOpen()
- {
- return open_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSequenced()
- {
- return sequenced;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSequenced(boolean newSequenced)
- {
- boolean oldSequenced = sequenced;
- sequenced = newSequenced;
- boolean oldSequenced_set_ = sequenced_set_;
- sequenced_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_SEQUENCED, oldSequenced, sequenced, !oldSequenced_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetSequenced()
- {
- boolean oldSequenced = sequenced;
- boolean oldSequenced_set_ = sequenced_set_;
- sequenced = SEQUENCED_DEFAULT_;
- sequenced_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_SEQUENCED, oldSequenced, SEQUENCED_DEFAULT_, oldSequenced_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetSequenced()
- {
- return sequenced_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isAbstract()
- {
- return abstract_;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setAbstract(boolean newAbstract)
- {
- boolean oldAbstract = abstract_;
- abstract_ = newAbstract;
- boolean oldAbstract_set_ = abstract_set_;
- abstract_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_ABSTRACT, oldAbstract, abstract_, !oldAbstract_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetAbstract()
- {
- boolean oldAbstract = abstract_;
- boolean oldAbstract_set_ = abstract_set_;
- abstract_ = ABSTRACT_DEFAULT_;
- abstract_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_ABSTRACT, oldAbstract, ABSTRACT_DEFAULT_, oldAbstract_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetAbstract()
- {
- return abstract_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAnyAttribute()
- {
- if (anyAttribute == null)
- {
- anyAttribute = createSequence(INTERNAL_ANY_ATTRIBUTE);
- }
- return anyAttribute;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case PROPERTY:
- return removeFromList(getProperty(), otherEnd, changeContext);
- case ANY:
- return removeFromSequence(getAny(), otherEnd, changeContext);
- case ANY_ATTRIBUTE:
- return removeFromSequence(getAnyAttribute(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case BASE_TYPE:
- return getBaseType();
- case PROPERTY:
- return getProperty();
- case ALIAS_NAME:
- return getAliasName();
- case ANY:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAny();
- case NAME:
- return getName();
- case URI:
- return getUri();
- case DATA_TYPE:
- return isDataType() ? Boolean.TRUE : Boolean.FALSE;
- case OPEN:
- return isOpen() ? Boolean.TRUE : Boolean.FALSE;
- case SEQUENCED:
- return isSequenced() ? Boolean.TRUE : Boolean.FALSE;
- case ABSTRACT:
- return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
- case ANY_ATTRIBUTE:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAnyAttribute();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case BASE_TYPE:
- getBaseType().clear();
- getBaseType().addAll((Collection)newValue);
- return;
- case PROPERTY:
- getProperty().clear();
- getProperty().addAll((Collection)newValue);
- return;
- case ALIAS_NAME:
- getAliasName().clear();
- getAliasName().addAll((Collection)newValue);
- return;
- case ANY:
- setSequence(getAny(), newValue);
- return;
- case NAME:
- setName((String)newValue);
- return;
- case URI:
- setUri((String)newValue);
- return;
- case DATA_TYPE:
- setDataType(((Boolean)newValue).booleanValue());
- return;
- case OPEN:
- setOpen(((Boolean)newValue).booleanValue());
- return;
- case SEQUENCED:
- setSequenced(((Boolean)newValue).booleanValue());
- return;
- case ABSTRACT:
- setAbstract(((Boolean)newValue).booleanValue());
- return;
- case ANY_ATTRIBUTE:
- setSequence(getAnyAttribute(), newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case BASE_TYPE:
- getBaseType().clear();
- return;
- case PROPERTY:
- getProperty().clear();
- return;
- case ALIAS_NAME:
- getAliasName().clear();
- return;
- case ANY:
- unsetSequence(getAny());
- return;
- case NAME:
- unsetName();
- return;
- case URI:
- unsetUri();
- return;
- case DATA_TYPE:
- unsetDataType();
- return;
- case OPEN:
- unsetOpen();
- return;
- case SEQUENCED:
- unsetSequenced();
- return;
- case ABSTRACT:
- unsetAbstract();
- return;
- case ANY_ATTRIBUTE:
- unsetSequence(getAnyAttribute());
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case BASE_TYPE:
- return baseType != null && !baseType.isEmpty();
- case PROPERTY:
- return property != null && !property.isEmpty();
- case ALIAS_NAME:
- return aliasName != null && !aliasName.isEmpty();
- case ANY:
- return any != null && !isSequenceEmpty(getAny());
- case NAME:
- return isSetName();
- case URI:
- return isSetUri();
- case DATA_TYPE:
- return isSetDataType();
- case OPEN:
- return isSetOpen();
- case SEQUENCED:
- return isSetSequenced();
- case ABSTRACT:
- return isSetAbstract();
- case ANY_ATTRIBUTE:
- return anyAttribute != null && !isSequenceEmpty(getAnyAttribute());
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (aliasName: ");
- result.append(aliasName);
- result.append(", any: ");
- result.append(any);
- result.append(", name: ");
- if (name_set_) result.append(name); else result.append("<unset>");
- result.append(", uri: ");
- if (uri_set_) result.append(uri); else result.append("<unset>");
- result.append(", dataType: ");
- if (dataType_set_) result.append(dataType); else result.append("<unset>");
- result.append(", open: ");
- if (open_set_) result.append(open); else result.append("<unset>");
- result.append(", sequenced: ");
- if (sequenced_set_) result.append(sequenced); else result.append("<unset>");
- result.append(", abstract: ");
- if (abstract_set_) result.append(abstract_); else result.append("<unset>");
- result.append(", anyAttribute: ");
- result.append(anyAttribute);
- result.append(')');
- return result.toString();
- }
-
-EStructuralFeature javaClassFeature = null;
-
-public String getInstanceClassName()
- {
- if (javaClassFeature == null)
- {
- //FB TODO figure out what helper to use
- javaClassFeature = (EStructuralFeature)TypeHelper.INSTANCE.getOpenContentProperty("commonj.sdo/java", "javaClass");
- }
-
- Sequence anyAttribute = getAnyAttribute();
- int count = anyAttribute.size();
- for (int i = 0; i < count; i++)
- {
- EStructuralFeature eFeature = (EStructuralFeature)anyAttribute.getProperty(i);
- if (eFeature == javaClassFeature)
- {
- return (String)anyAttribute.getValue(i);
- }
- }
- return null;
- }
-
-} //TypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java
deleted file mode 100644
index 80945b289a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Type;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.Types;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Types</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.TypesImpl#getType_ <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TypesImpl extends DataObjectBase implements Types
-{
-
- public final static int TYPE = 0;
-
- public final static int SDO_PROPERTY_COUNT = 1;
-
- public final static int EXTENDED_PROPERTY_COUNT = 0;
-
-
- /**
- * The internal feature id for the '<em><b>Type</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_TYPE = 0;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 1;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_TYPE: return TYPE;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getType_() <em>Type</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType_()
- * @generated
- * @ordered
- */
-
- protected List type = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TypesImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getTypes();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getType_()
- {
- if (type == null)
- {
- type = createPropertyList(ListKind.CONTAINMENT, org.apache.tuscany.sdo.model.Type.class, TYPE, 0);
- }
- return type;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case TYPE:
- return removeFromList(getType_(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case TYPE:
- return getType_();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case TYPE:
- getType_().clear();
- getType_().addAll((Collection)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case TYPE:
- getType_().clear();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case TYPE:
- return type != null && !type.isEmpty();
- }
- return super.isSet(propertyIndex);
- }
-
- public List getTypeList()
- {
- return getType_();
- }
-
-} //TypesImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java
deleted file mode 100644
index 5d0777dd1c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.impl;
-
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.XSDType;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>XSD Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.impl.XSDTypeImpl#getAny <em>Any</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class XSDTypeImpl extends DataObjectBase implements XSDType
-{
-
- public final static int ANY = -1;
-
- public final static int SDO_PROPERTY_COUNT = 0;
-
- public final static int EXTENDED_PROPERTY_COUNT = -1;
-
-
- /**
- * The internal feature id for the '<em><b>Any</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_ANY = 0;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 1;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_ANY: return ANY;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAny()
- * @generated
- * @ordered
- */
-
- protected Sequence any = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public XSDTypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).getXSDType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getAny()
- {
- if (any == null)
- {
- any = createSequence(INTERNAL_ANY);
- }
- return any;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case ANY:
- return removeFromSequence(getAny(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case ANY:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getAny();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case ANY:
- setSequence(getAny(), newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ANY:
- unsetSequence(getAny());
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case ANY:
- return any != null && !isSequenceEmpty(getAny());
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (any: ");
- result.append(any);
- result.append(')');
- return result.toString();
- }
-
-} //XSDTypeImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/InternalFactory.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/InternalFactory.java
deleted file mode 100644
index 061d082b1d..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/InternalFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.internal;
-
-import commonj.sdo.helper.HelperContext;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface InternalFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- InternalFactory INSTANCE = org.apache.tuscany.sdo.model.internal.impl.InternalFactoryImpl.init();
-
- /**
- * Registers the types supported by this Factory within the supplied scope.argument
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param scope an instance of HelperContext used to manage the scoping of types.
- * @generated
- */
- public void register(HelperContext scope);
-
-} //InternalFactory
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/impl/InternalFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/impl/InternalFactoryImpl.java
deleted file mode 100644
index 06d002ea74..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/internal/impl/InternalFactoryImpl.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.internal.impl;
-
-import commonj.sdo.helper.HelperContext;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.internal.*;
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the commonj.sdo.internal model factory.
- * This model is generated from sdoInternal.xsd, in the tuscany-sdo-impl project.
- * Until the SDO code generator supports regen/merge, follow the following steps to regenerate this model:
- * 1. Regenerate the model into a temporary directory:
- * XSD2JavaGenerator -generateBuiltIn http://www.apache.org/tuscany/commonj.sdo.internal -targetDirectory <temp-dir> -javaPackage org.apache.tuscany.sdo.model.internal <tuscany-sdo-impl-dir>/src/main/resources/xml/sdoInternal.xsd
- * 2. Delete all the createXXXFromString() and convertXXXToString() methods in the newly generated InternalFactoryImpl and
- * replace them with the ones from this file (resolve any missing imports).
- * 3. Comment out all simple depedencies (SDOUtil.registerStaticTypes calls) in the init() method.
- * 4. Make sure the top of each generated file contains the ASF License.
- * 5. Move this JavaDoc comment into the newly generated ModelFactoryImpl class.
- * <!-- end-user-doc -->
- * @generated
- */
-public class InternalFactoryImpl extends FactoryBase implements InternalFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "http://www.apache.org/tuscany/commonj.sdo.internal";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "internal";
-
- /**
- * The version of the generator pattern used to generate this class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String PATTERN_VERSION = "1.2";
-
- public static final int BASE64_BYTES = 1;
- public static final int QNAME = 2;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public InternalFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX, "org.apache.tuscany.sdo.model.internal");
- }
-
- /**
- * Registers the Factory instance so that it is available within the supplied scope.
- * @argument scope a HelperContext instance that will make the types supported by this Factory available.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void register(HelperContext scope)
- {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
-
- //Register dependent packages with provided scope
-
- // Initialize this package
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(int typeNumber, String initialValue)
- {
- switch (typeNumber)
- {
- case BASE64_BYTES:
- return createBase64BytesFromString(initialValue);
- case QNAME:
- return createQNameFromString(initialValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(int typeNumber, Object instanceValue)
- {
- switch (typeNumber)
- {
- case BASE64_BYTES:
- return convertBase64BytesToString(instanceValue);
- case QNAME:
- return convertQNameToString(instanceValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected Type base64BytesType = null;
-
- public Type getBase64Bytes()
- {
- return base64BytesType;
- }
-
- protected Type qNameType = null;
-
- public Type getQName()
- {
- return qNameType;
- }
-
-
- private static InternalFactoryImpl instance = null;
- public static InternalFactoryImpl init()
- {
- if (instance != null ) return instance;
- instance = new InternalFactoryImpl();
-
- // Initialize dependent packages
-
- // Create package meta-data objects
- instance.createMetaData();
-
- // Initialize created meta-data
- instance.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theInternalFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return instance;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create data types
- base64BytesType = createType(true, BASE64_BYTES );
- qNameType = createType(true, QNAME );
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
- Property property = null;
-
- // Add supertypes to types
-
- // Initialize types and properties
- // Initialize data types
- initializeType(base64BytesType, byte[].class, "Base64Bytes", true, false);
- setInstanceProperty (base64BytesType, "commonj.sdo/java", "instanceClass", "byte[]");
-
- initializeType(qNameType, String.class, "QName", true, false);
- setInstanceProperty (qNameType, "commonj.sdo/java", "instanceClass", "java.lang.String");
-
- createXSDMetaData();
- }
-
- protected void createXSDMetaData()
- {
- super.initXSD();
-
- Property property = null;
-
-
- addXSDMapping
- (base64BytesType,
- new String[]
- {
- "name", "Base64Bytes"
- });
-
- addXSDMapping
- (qNameType,
- new String[]
- {
- "name", "QName"
- });
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public byte[] createBase64BytesFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createBase64Binary(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertBase64BytesToString(Object instanceValue)
- {
- if (instanceValue instanceof byte[]) {
- return XMLTypeFactory.eINSTANCE.convertBase64Binary((byte[])instanceValue);
- } else {
- return XMLTypeFactory.eINSTANCE.convertBase64Binary(instanceValue.toString().getBytes());
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String createQNameFromString(String initialValue)
- {
- return (String)super.createFromString(QNAME, initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertQNameToString(Object instanceValue)
- {
- return super.convertToString(QNAME, instanceValue);
- }
-
-} //InternalFactoryImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaFactory.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaFactory.java
deleted file mode 100644
index 50be023db5..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.java;
-
-import commonj.sdo.helper.HelperContext;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface JavaFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- JavaFactory INSTANCE = org.apache.tuscany.sdo.model.java.impl.JavaFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Info</em>'.
- * @generated
- */
- JavaInfo createJavaInfo();
-
- /**
- * Registers the types supported by this Factory within the supplied scope.argument
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param scope an instance of HelperContext used to manage the scoping of types.
- * @generated
- */
- public void register(HelperContext scope);
-
-} //JavaFactory
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaInfo.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaInfo.java
deleted file mode 100644
index b5eabb0f4a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/JavaInfo.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.java;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Info</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.java.JavaInfo#getJavaClass <em>Java Class</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface JavaInfo extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Java Class</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Java Class</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Java Class</em>' attribute.
- * @see #isSetJavaClass()
- * @see #unsetJavaClass()
- * @see #setJavaClass(String)
- * @generated
- */
- String getJavaClass();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.java.JavaInfo#getJavaClass <em>Java Class</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Java Class</em>' attribute.
- * @see #isSetJavaClass()
- * @see #unsetJavaClass()
- * @see #getJavaClass()
- * @generated
- */
- void setJavaClass(String value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.java.JavaInfo#getJavaClass <em>Java Class</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetJavaClass()
- * @see #getJavaClass()
- * @see #setJavaClass(String)
- * @generated
- */
- void unsetJavaClass();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.java.JavaInfo#getJavaClass <em>Java Class</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Java Class</em>' attribute is set.
- * @see #unsetJavaClass()
- * @see #getJavaClass()
- * @see #setJavaClass(String)
- * @generated
- */
- boolean isSetJavaClass();
-
-} // JavaInfo
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaFactoryImpl.java
deleted file mode 100644
index 515311f7ff..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaFactoryImpl.java
+++ /dev/null
@@ -1,659 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.java.impl;
-
-import commonj.sdo.helper.HelperContext;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-
-import org.apache.tuscany.sdo.model.java.*;
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-import org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the commonj.sdo/java model factory.
- * This model is generated from sdoJava.xsd, in the sdo-api project.
- * Until the SDO code generator supports name conflicts and regen/merge, follow the following steps to regenerate this model:
- * 1. Regenerate the model into a temporary directory:
- * XSD2JavaGenerator -generateBuiltIn commonj.sdo/java -targetDirectory <temp-dir> -javaPackage org.apache.tuscany.sdo.model.java <sdo-api-dir>/src/main/resources/xml/sdoJava.xsd
- * 2. Delete all the createXXXFromString() and convertXXXToString() methods in the newly generated JavaFactoryImpl and
- * replace them with the ones from this file.
- * 3. Make sure the top of each generated file contains the ASF License.
- * 4. Move this JavaDoc comment into the newly generated JavaFactoryImpl class.
- * <!-- end-user-doc -->
- * @generated
- */
-
-public class JavaFactoryImpl extends FactoryBase implements JavaFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "commonj.sdo/java";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "sdoJava";
-
- /**
- * The version of the generator pattern used to generate this class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String PATTERN_VERSION = "1.2";
-
- public static final int JAVA_INFO = 1;
- public static final int BOOLEAN_OBJECT = 2;
- public static final int BYTE_OBJECT = 3;
- public static final int CHARACTER_OBJECT = 4;
- public static final int DOUBLE_OBJECT = 5;
- public static final int FLOAT_OBJECT = 6;
- public static final int INT_OBJECT = 7;
- public static final int LONG_OBJECT = 8;
- public static final int SHORT_OBJECT = 9;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX, "org.apache.tuscany.sdo.model.java");
- }
-
- /**
- * Registers the Factory instance so that it is available within the supplied scope.
- * @argument scope a HelperContext instance that will make the types supported by this Factory available.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void register(HelperContext scope)
- {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
-
- //Register dependent packages with provided scope
- ModelFactory.INSTANCE.register(scope);
-
- // Initialize this package
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- case JAVA_INFO: return (DataObject)createJavaInfo();
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(int typeNumber, String initialValue)
- {
- switch (typeNumber)
- {
- case BOOLEAN_OBJECT:
- return createBooleanObjectFromString(initialValue);
- case BYTE_OBJECT:
- return createByteObjectFromString(initialValue);
- case CHARACTER_OBJECT:
- return createCharacterObjectFromString(initialValue);
- case DOUBLE_OBJECT:
- return createDoubleObjectFromString(initialValue);
- case FLOAT_OBJECT:
- return createFloatObjectFromString(initialValue);
- case INT_OBJECT:
- return createIntObjectFromString(initialValue);
- case LONG_OBJECT:
- return createLongObjectFromString(initialValue);
- case SHORT_OBJECT:
- return createShortObjectFromString(initialValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(int typeNumber, Object instanceValue)
- {
- switch (typeNumber)
- {
- case BOOLEAN_OBJECT:
- return convertBooleanObjectToString(instanceValue);
- case BYTE_OBJECT:
- return convertByteObjectToString(instanceValue);
- case CHARACTER_OBJECT:
- return convertCharacterObjectToString(instanceValue);
- case DOUBLE_OBJECT:
- return convertDoubleObjectToString(instanceValue);
- case FLOAT_OBJECT:
- return convertFloatObjectToString(instanceValue);
- case INT_OBJECT:
- return convertIntObjectToString(instanceValue);
- case LONG_OBJECT:
- return convertLongObjectToString(instanceValue);
- case SHORT_OBJECT:
- return convertShortObjectToString(instanceValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaInfo createJavaInfo()
- {
- JavaInfoImpl javaInfo = new JavaInfoImpl();
- return javaInfo;
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected Type javaInfoType = null;
-
- public Type getJavaInfo()
- {
- return javaInfoType;
- }
-
- protected Type booleanObjectType = null;
-
- public Type getBooleanObject()
- {
- return booleanObjectType;
- }
-
- protected Type byteObjectType = null;
-
- public Type getByteObject()
- {
- return byteObjectType;
- }
-
- protected Type characterObjectType = null;
-
- public Type getCharacterObject()
- {
- return characterObjectType;
- }
-
- protected Type doubleObjectType = null;
-
- public Type getDoubleObject()
- {
- return doubleObjectType;
- }
-
- protected Type floatObjectType = null;
-
- public Type getFloatObject()
- {
- return floatObjectType;
- }
-
- protected Type intObjectType = null;
-
- public Type getIntObject()
- {
- return intObjectType;
- }
-
- protected Type longObjectType = null;
-
- public Type getLongObject()
- {
- return longObjectType;
- }
-
- protected Type shortObjectType = null;
-
- public Type getShortObject()
- {
- return shortObjectType;
- }
-
-
- private static JavaFactoryImpl instance = null;
- public static JavaFactoryImpl init()
- {
- if (instance != null ) return instance;
- instance = new JavaFactoryImpl();
-
- // Initialize dependent packages
- ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE;
-
- // Create package meta-data objects
- instance.createMetaData();
-
- // Initialize created meta-data
- instance.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theJavaFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return instance;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create types and their properties
- javaInfoType = createType(false, JAVA_INFO);
- createProperty(true, javaInfoType,JavaInfoImpl.INTERNAL_JAVA_CLASS);
-
- // Create data types
- booleanObjectType = createType(true, BOOLEAN_OBJECT );
- byteObjectType = createType(true, BYTE_OBJECT );
- characterObjectType = createType(true, CHARACTER_OBJECT );
- doubleObjectType = createType(true, DOUBLE_OBJECT );
- floatObjectType = createType(true, FLOAT_OBJECT );
- intObjectType = createType(true, INT_OBJECT );
- longObjectType = createType(true, LONG_OBJECT );
- shortObjectType = createType(true, SHORT_OBJECT );
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Obtain other dependent packages
- ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE;
- Property property = null;
-
- // Add supertypes to types
-
- // Initialize types and properties
- initializeType(javaInfoType, JavaInfo.class, "JavaInfo", false);
- property = getLocalProperty(javaInfoType, 0);
- initializeProperty(property, theModelPackageImpl.getString(), "javaClass", null, 0, 1, JavaInfo.class, false, true, false);
-
- // Initialize data types
- initializeType(booleanObjectType, Boolean.class, "BooleanObject", true, false);
- setInstanceProperty (booleanObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Boolean");
-
- initializeType(byteObjectType, Byte.class, "ByteObject", true, false);
- setInstanceProperty (byteObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Byte");
-
- initializeType(characterObjectType, Character.class, "CharacterObject", true, false);
- setInstanceProperty (characterObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Character");
-
- initializeType(doubleObjectType, Double.class, "DoubleObject", true, false);
- setInstanceProperty (doubleObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Double");
-
- initializeType(floatObjectType, Float.class, "FloatObject", true, false);
- setInstanceProperty (floatObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Float");
-
- initializeType(intObjectType, Integer.class, "IntObject", true, false);
- setInstanceProperty (intObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Integer");
-
- initializeType(longObjectType, Long.class, "LongObject", true, false);
- setInstanceProperty (longObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Long");
-
- initializeType(shortObjectType, Short.class, "ShortObject", true, false);
- setInstanceProperty (shortObjectType, "commonj.sdo/java", "instanceClass", "java.lang.Short");
-
- createXSDMetaData(theModelPackageImpl);
- }
-
- protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl)
- {
- super.initXSD();
-
- Property property = null;
-
-
- property = createGlobalProperty
- ("extendedInstanceClass",
- theModelPackageImpl.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "extendedInstanceClass",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("instanceClass",
- theModelPackageImpl.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "instanceClass",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("javaClass",
- theModelPackageImpl.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "javaClass",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("nestedInterfaces",
- theModelPackageImpl.getBoolean(),
- new String[]
- {
- "kind", "attribute",
- "name", "nestedInterfaces",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("package",
- theModelPackageImpl.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "package",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- addXSDMapping
- (javaInfoType,
- new String[]
- {
- "name", "JavaInfo",
- "kind", "empty"
- });
-
- addXSDMapping
- (getProperty(javaInfoType, JavaInfoImpl.INTERNAL_JAVA_CLASS),
- new String[]
- {
- "kind", "attribute",
- "name", "javaClass"
- });
-
- addXSDMapping
- (booleanObjectType,
- new String[]
- {
- "name", "BooleanObject"
- });
-
- addXSDMapping
- (byteObjectType,
- new String[]
- {
- "name", "ByteObject"
- });
-
- addXSDMapping
- (characterObjectType,
- new String[]
- {
- "name", "CharacterObject"
- });
-
- addXSDMapping
- (doubleObjectType,
- new String[]
- {
- "name", "DoubleObject"
- });
-
- addXSDMapping
- (floatObjectType,
- new String[]
- {
- "name", "FloatObject"
- });
-
- addXSDMapping
- (intObjectType,
- new String[]
- {
- "name", "IntObject"
- });
-
- addXSDMapping
- (longObjectType,
- new String[]
- {
- "name", "LongObject"
- });
-
- addXSDMapping
- (shortObjectType,
- new String[]
- {
- "name", "ShortObject"
- });
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Boolean createBooleanObjectFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createBooleanObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertBooleanObjectToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertBooleanObject((Boolean)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Byte createByteObjectFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createByteObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertByteObjectToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertByteObject((Byte)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Character createCharacterObjectFromString(String initialValue)
- {
- return (initialValue == null && initialValue.length() > 0)
- ? null : (new Character(XMLTypeUtil.normalize(initialValue, true).charAt(0)));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertCharacterObjectToString(Object instanceValue)
- {
- return instanceValue == null ? null : instanceValue.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Double createDoubleObjectFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createDoubleObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertDoubleObjectToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertDoubleObject((Double)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Float createFloatObjectFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createFloatObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertFloatObjectToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertFloatObject((Float)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Integer createIntObjectFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createIntObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertIntObjectToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertIntObject((Integer)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Long createLongObjectFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createLongObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertLongObjectToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertLongObject((Long)instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Short createShortObjectFromString(String initialValue)
- {
- return XMLTypeFactory.eINSTANCE.createShortObject(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String convertShortObjectToString(Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertShortObject((Short)instanceValue);
- }
-
-} //JavaFactoryImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaInfoImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaInfoImpl.java
deleted file mode 100644
index de25db5d1e..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/java/impl/JavaInfoImpl.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.java.impl;
-
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.java.JavaFactory;
-import org.apache.tuscany.sdo.model.java.JavaInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.java.impl.JavaInfoImpl#getJavaClass <em>Java Class</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JavaInfoImpl extends DataObjectBase implements JavaInfo
-{
-
- public final static int JAVA_CLASS = 0;
-
- public final static int SDO_PROPERTY_COUNT = 1;
-
- public final static int EXTENDED_PROPERTY_COUNT = 0;
-
-
- /**
- * The internal feature id for the '<em><b>Java Class</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_JAVA_CLASS = 0;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 1;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_JAVA_CLASS: return JAVA_CLASS;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The default value of the '{@link #getJavaClass() <em>Java Class</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJavaClass()
- * @generated
- * @ordered
- */
- protected static final String JAVA_CLASS_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getJavaClass() <em>Java Class</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJavaClass()
- * @generated
- * @ordered
- */
- protected String javaClass = JAVA_CLASS_DEFAULT_;
-
- /**
- * This is true if the Java Class attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean javaClass_set_ = false;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaInfoImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((JavaFactoryImpl)JavaFactory.INSTANCE).getJavaInfo();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getJavaClass()
- {
- return javaClass;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJavaClass(String newJavaClass)
- {
- String oldJavaClass = javaClass;
- javaClass = newJavaClass;
- boolean oldJavaClass_set_ = javaClass_set_;
- javaClass_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_JAVA_CLASS, oldJavaClass, javaClass, !oldJavaClass_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetJavaClass()
- {
- String oldJavaClass = javaClass;
- boolean oldJavaClass_set_ = javaClass_set_;
- javaClass = JAVA_CLASS_DEFAULT_;
- javaClass_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_JAVA_CLASS, oldJavaClass, JAVA_CLASS_DEFAULT_, oldJavaClass_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetJavaClass()
- {
- return javaClass_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case JAVA_CLASS:
- return getJavaClass();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case JAVA_CLASS:
- setJavaClass((String)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case JAVA_CLASS:
- unsetJavaClass();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case JAVA_CLASS:
- return isSetJavaClass();
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (javaClass: ");
- if (javaClass_set_) result.append(javaClass); else result.append("<unset>");
- result.append(')');
- return result.toString();
- }
-
-} //JavaInfoImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLFactory.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLFactory.java
deleted file mode 100644
index 39119a1c77..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.xml;
-
-import commonj.sdo.helper.HelperContext;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface XMLFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- XMLFactory INSTANCE = org.apache.tuscany.sdo.model.xml.impl.XMLFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Info</em>'.
- * @generated
- */
- XMLInfo createXMLInfo();
-
- /**
- * Registers the types supported by this Factory within the supplied scope.argument
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param scope an instance of HelperContext used to manage the scoping of types.
- * @generated
- */
- public void register(HelperContext scope);
-
-} //XMLFactory
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLInfo.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLInfo.java
deleted file mode 100644
index 6f438bc3e2..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/XMLInfo.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.xml;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Info</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.xml.XMLInfo#isXmlElement <em>Xml Element</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface XMLInfo extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Xml Element</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Xml Element</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Xml Element</em>' attribute.
- * @see #isSetXmlElement()
- * @see #unsetXmlElement()
- * @see #setXmlElement(boolean)
- * @generated
- */
- boolean isXmlElement();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.model.xml.XMLInfo#isXmlElement <em>Xml Element</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Xml Element</em>' attribute.
- * @see #isSetXmlElement()
- * @see #unsetXmlElement()
- * @see #isXmlElement()
- * @generated
- */
- void setXmlElement(boolean value);
-
- /**
- * Unsets the value of the '{@link org.apache.tuscany.sdo.model.xml.XMLInfo#isXmlElement <em>Xml Element</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetXmlElement()
- * @see #isXmlElement()
- * @see #setXmlElement(boolean)
- * @generated
- */
- void unsetXmlElement();
-
- /**
- * Returns whether the value of the '{@link org.apache.tuscany.sdo.model.xml.XMLInfo#isXmlElement <em>Xml Element</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Xml Element</em>' attribute is set.
- * @see #unsetXmlElement()
- * @see #isXmlElement()
- * @see #setXmlElement(boolean)
- * @generated
- */
- boolean isSetXmlElement();
-
-} // XMLInfo
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLFactoryImpl.java
deleted file mode 100644
index f07d8b7f3c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLFactoryImpl.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.xml.impl;
-
-import commonj.sdo.helper.HelperContext;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-
-import org.apache.tuscany.sdo.model.internal.InternalFactory;
-
-import org.apache.tuscany.sdo.model.internal.impl.InternalFactoryImpl;
-
-import org.apache.tuscany.sdo.model.xml.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the commonj.sdo/xml model factory.
- * This model is generated from sdoXML.xsd, in the sdo-api project.
- * Until the SDO code generator supports name conflicts and regen/merge, follow the following steps to regenerate this model:
- * 1. Regenerate the model into a temporary directory:
- * XSD2JavaGenerator -generateBuiltIn commonj.sdo/xml -prefix XML -targetDirectory <temp-dir> -javaPackage org.apache.tuscany.sdo.model.xml <sdo-api-dir>/src/main/resources/xml/sdoXML.xsd
- * 2. Make sure the top of each generated file contains the ASF License.
- * 3. Move this JavaDoc comment into the newly generated XMLFactoryImpl class.
- * <!-- end-user-doc -->
- * @generated
- */
-public class XMLFactoryImpl extends FactoryBase implements XMLFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "commonj.sdo/xml";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "sdoXML";
-
- /**
- * The version of the generator pattern used to generate this class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String PATTERN_VERSION = "1.2";
-
- public static final int XML_INFO = 1;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public XMLFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX, "org.apache.tuscany.sdo.model.xml");
- }
-
- /**
- * Registers the Factory instance so that it is available within the supplied scope.
- * @argument scope a HelperContext instance that will make the types supported by this Factory available.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void register(HelperContext scope)
- {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
-
- //Register dependent packages with provided scope
- ModelFactory.INSTANCE.register(scope);
- InternalFactory.INSTANCE.register(scope);
-
- // Initialize this package
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- case XML_INFO: return (DataObject)createXMLInfo();
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public XMLInfo createXMLInfo()
- {
- XMLInfoImpl xmlInfo = new XMLInfoImpl();
- return xmlInfo;
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected Type xmlInfoType = null;
-
- public Type getXMLInfo()
- {
- return xmlInfoType;
- }
-
-
- private static XMLFactoryImpl instance = null;
- public static XMLFactoryImpl init()
- {
- if (instance != null ) return instance;
- instance = new XMLFactoryImpl();
-
- // Initialize dependent packages
- ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE;
- InternalFactory InternalFactoryInstance = InternalFactory.INSTANCE;
-
- // Create package meta-data objects
- instance.createMetaData();
-
- // Initialize created meta-data
- instance.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theXMLFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return instance;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create types and their properties
- xmlInfoType = createType(false, XML_INFO);
- createProperty(true, xmlInfoType,XMLInfoImpl.INTERNAL_XML_ELEMENT);
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Obtain other dependent packages
- ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE;
- InternalFactoryImpl theInternalPackageImpl = (InternalFactoryImpl)InternalFactory.INSTANCE;
- Property property = null;
-
- // Add supertypes to types
-
- // Initialize types and properties
- initializeType(xmlInfoType, XMLInfo.class, "XMLInfo", false);
- property = getLocalProperty(xmlInfoType, 0);
- initializeProperty(property, theModelPackageImpl.getBoolean(), "xmlElement", null, 0, 1, XMLInfo.class, false, true, false);
-
- createXSDMetaData(theModelPackageImpl, theInternalPackageImpl);
- }
-
- protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl, InternalFactoryImpl theInternalPackageImpl)
- {
- super.initXSD();
-
- Property property = null;
-
-
- property = createGlobalProperty
- ("aliasName",
- theModelPackageImpl.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "aliasName",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("dataType",
- theInternalPackageImpl.getQName(),
- new String[]
- {
- "kind", "attribute",
- "name", "dataType",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("many",
- theModelPackageImpl.getBoolean(),
- new String[]
- {
- "kind", "attribute",
- "name", "many",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("name",
- theModelPackageImpl.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "name",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("oppositeProperty",
- theModelPackageImpl.getString(),
- new String[]
- {
- "kind", "attribute",
- "name", "oppositeProperty",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("propertyType",
- theInternalPackageImpl.getQName(),
- new String[]
- {
- "kind", "attribute",
- "name", "propertyType",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("readOnly",
- theModelPackageImpl.getBoolean(),
- new String[]
- {
- "kind", "attribute",
- "name", "readOnly",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("sequence",
- theModelPackageImpl.getBoolean(),
- new String[]
- {
- "kind", "attribute",
- "name", "sequence",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("string",
- theModelPackageImpl.getBoolean(),
- new String[]
- {
- "kind", "attribute",
- "name", "string",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- property = createGlobalProperty
- ("xmlElement",
- theModelPackageImpl.getBoolean(),
- new String[]
- {
- "kind", "attribute",
- "name", "xmlElement",
- "namespace", "##targetNamespace"
- },
- IS_ATTRIBUTE);
-
- addXSDMapping
- (xmlInfoType,
- new String[]
- {
- "name", "XMLInfo",
- "kind", "empty"
- });
-
- addXSDMapping
- (getProperty(xmlInfoType, XMLInfoImpl.INTERNAL_XML_ELEMENT),
- new String[]
- {
- "kind", "attribute",
- "name", "xmlElement"
- });
-
- }
-
-} //XMLFactoryImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLInfoImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLInfoImpl.java
deleted file mode 100644
index 83d8a6725a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/xml/impl/XMLInfoImpl.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.model.xml.impl;
-
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.model.xml.XMLFactory;
-import org.apache.tuscany.sdo.model.xml.XMLInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.model.xml.impl.XMLInfoImpl#isXmlElement <em>Xml Element</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class XMLInfoImpl extends DataObjectBase implements XMLInfo
-{
-
- public final static int XML_ELEMENT = 0;
-
- public final static int SDO_PROPERTY_COUNT = 1;
-
- public final static int EXTENDED_PROPERTY_COUNT = 0;
-
-
- /**
- * The internal feature id for the '<em><b>Xml Element</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_XML_ELEMENT = 0;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 1;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_XML_ELEMENT: return XML_ELEMENT;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The default value of the '{@link #isXmlElement() <em>Xml Element</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isXmlElement()
- * @generated
- * @ordered
- */
- protected static final boolean XML_ELEMENT_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isXmlElement() <em>Xml Element</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isXmlElement()
- * @generated
- * @ordered
- */
- protected boolean xmlElement = XML_ELEMENT_DEFAULT_;
-
- /**
- * This is true if the Xml Element attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean xmlElement_set_ = false;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public XMLInfoImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((XMLFactoryImpl)XMLFactory.INSTANCE).getXMLInfo();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isXmlElement()
- {
- return xmlElement;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setXmlElement(boolean newXmlElement)
- {
- boolean oldXmlElement = xmlElement;
- xmlElement = newXmlElement;
- boolean oldXmlElement_set_ = xmlElement_set_;
- xmlElement_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTERNAL_XML_ELEMENT, oldXmlElement, xmlElement, !oldXmlElement_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetXmlElement()
- {
- boolean oldXmlElement = xmlElement;
- boolean oldXmlElement_set_ = xmlElement_set_;
- xmlElement = XML_ELEMENT_DEFAULT_;
- xmlElement_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTERNAL_XML_ELEMENT, oldXmlElement, XML_ELEMENT_DEFAULT_, oldXmlElement_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetXmlElement()
- {
- return xmlElement_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case XML_ELEMENT:
- return isXmlElement() ? Boolean.TRUE : Boolean.FALSE;
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case XML_ELEMENT:
- setXmlElement(((Boolean)newValue).booleanValue());
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case XML_ELEMENT:
- unsetXmlElement();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case XML_ELEMENT:
- return isSetXmlElement();
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (xmlElement: ");
- if (xmlElement_set_) result.append(xmlElement); else result.append("<unset>");
- result.append(')');
- return result.toString();
- }
-
-} //XMLInfoImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/osgi/SdoBundleActivator.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/osgi/SdoBundleActivator.java
deleted file mode 100644
index ef65fc2367..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/osgi/SdoBundleActivator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.osgi;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-import commonj.sdo.impl.HelperProvider;
-
-public class SdoBundleActivator implements BundleActivator {
-
-
- public void start(BundleContext bundleContext) throws Exception {
-
- HelperProvider.setDefaultInstance(this.getClass().getClassLoader());
-
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
-
- }
-
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/BasicSequence.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/BasicSequence.java
deleted file mode 100644
index e25d30e61c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/BasicSequence.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-/**
- * SDO Sequance implementation which delegates to a feature map.
- */
-public class BasicSequence implements Sequence, FeatureMap.Internal.Wrapper
-{
- protected FeatureMap.Internal featureMap;
-
- public BasicSequence(FeatureMap.Internal featureMap)
- {
- this.featureMap = featureMap;
- featureMap.setWrapper(this);
- }
-
- public FeatureMap featureMap()
- {
- return featureMap;
- }
-
- public int size()
- {
- return featureMap.size();
- }
-
- public Property getProperty(int index)
- {
- EStructuralFeature feature = featureMap.getEStructuralFeature(index);
- return getFeatureProperty(feature);
- }
-
- public static Property getFeatureProperty(EStructuralFeature feature)
- {
- boolean isText =
- feature == XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT ||
- feature == XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__CDATA ||
- feature == XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__COMMENT;
- return isText ? null : (Property)feature;
- }
-
- public Object getValue(int index)
- {
- return featureMap.getValue(index);
- }
-
- public Object setValue(int index, Object value)
- {
- return featureMap.setValue(index, value);
- }
-
- /*
- protected EStructuralFeature getEStructuralFeature(String propertyName)
- {
- return featureMap.getEObject().eClass().getEStructuralFeature(propertyName);
- }
- */
-
- protected EStructuralFeature getEStructuralFeature(String propertyName, Object value)
- {
- EStructuralFeature result = featureMap.getEObject().eClass().getEStructuralFeature(propertyName);
- if (result == null)
- {
- Type type = (Type)featureMap.getEObject().eClass();
- if (type.isOpen())
- {
- result = (EStructuralFeature)DataObjectUtil.demandOpenProperty(type, propertyName, value, true);
- }
- }
- return result;
- }
-
- protected EStructuralFeature getEStructuralFeature(int propertyIndex)
- {
- return (EStructuralFeature)DataObjectUtil.getProperty((DataObject)featureMap.getEObject(), propertyIndex);
- }
-
- public boolean add(String propertyName, Object value)
- {
- return featureMap.add(getEStructuralFeature(propertyName, value), value);
- }
-
- public boolean add(int propertyIndex, Object value)
- {
- return featureMap.add(getEStructuralFeature(propertyIndex), value);
- }
-
- public boolean add(Property property, Object value)
- {
- return featureMap.add((EStructuralFeature)property, value);
- }
-
- public void add(int index, String propertyName, Object value)
- {
- featureMap.add(index, getEStructuralFeature(propertyName, value), value);
- }
-
- public void add(int index, int propertyIndex, Object value)
- {
- featureMap.add(index, getEStructuralFeature(propertyIndex), value);
- }
-
- public void add(int index, Property property, Object value)
- {
- featureMap.add(index, (EStructuralFeature)property, value);
- }
-
- /**
- * @deprecated
- */
- public void add(String text)
- {
- FeatureMapUtil.addText(featureMap, text);
- }
-
- /**
- * @deprecated
- */
- public void add(int index, String text)
- {
- FeatureMapUtil.addText(featureMap, index, text);
- }
-
- public void addText(String text)
- {
- FeatureMapUtil.addText(featureMap, text);
- }
-
- public void addText(int index, String text)
- {
- FeatureMapUtil.addText(featureMap, index, text);
- }
-
- public void remove(int index)
- {
- featureMap.remove(index);
- }
-
- public void move(int toIndex, int fromIndex)
- {
- featureMap.move(toIndex, fromIndex);
- }
-
- public String toString()
- {
- return featureMap.toString();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataGraphResourceFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataGraphResourceFactoryImpl.java
deleted file mode 100644
index 17a4ec709c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataGraphResourceFactoryImpl.java
+++ /dev/null
@@ -1,711 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-import org.apache.tuscany.sdo.impl.ChangeSummaryImpl;
-import org.apache.tuscany.sdo.impl.DataGraphImpl;
-import org.apache.tuscany.sdo.impl.DynamicDataObjectImpl;
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xmi.EcoreBuilder;
-import org.eclipse.emf.ecore.xmi.NameInfo;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLLoad;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.XMLSave;
-import org.eclipse.emf.ecore.xmi.impl.SAXXMLHandler;
-import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl;
-import org.eclipse.emf.ecore.xmi.util.DefaultEcoreBuilder;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
-import org.xml.sax.helpers.DefaultHandler;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.helper.TypeHelper;
-
-
-public class DataGraphResourceFactoryImpl extends ResourceFactoryImpl
-{
- /**
- * Constructor for DataGraphResourceFactoryImpl.
- */
- public DataGraphResourceFactoryImpl()
- {
- super();
- }
-
- public Resource createResource(URI uri)
- {
- XMLResourceImpl result = new DataGraphResourceImpl(uri);
-
- ExtendedMetaData extendedMetaData = ((TypeHelperImpl)TypeHelper.INSTANCE).getExtendedMetaData();
- DataObjectUtil.configureXMLResource(result, extendedMetaData);
-
- result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_DEPRECATED_METHODS, Boolean.TRUE);
- //result.setEncoding("UTF-8");
- //result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- //result.getDefaultSaveOptions().put(XMLResource.OPTION_LINE_WIDTH, new Integer(80));
-
- return result;
- }
-
- public static class DataGraphResourceImpl extends XMLResourceImpl
- {
- public DataGraphResourceImpl(URI uri)
- {
- super(uri);
- }
-
- public static class HelperImpl extends XMLHelperImpl
- {
- protected DataGraphImpl eDataGraph;
-
- protected List resources;
- protected List uris;
-
- public HelperImpl(XMLResource xmlResource)
- {
- super(xmlResource);
- }
-
- public void setResource(XMLResource resource)
- {
- super.setResource(resource);
- if (!resource.getContents().isEmpty())
- {
- eDataGraph = (DataGraphImpl)resource.getContents().get(0);
-
- resources = new ArrayList();
- uris = new ArrayList();
-
- resources.add(eDataGraph.getRootResource());
- uris.add("#" + resource.getURIFragment(eDataGraph) + "/@eRootObject");
-
- if (eDataGraph.getEChangeSummary() != null)
- {
- // Ensure that resource exists.
- //
- resources.add(((EObject)eDataGraph.getChangeSummary()).eResource());
- uris.add("#" + resource.getURIFragment(eDataGraph) + "/@eChangeSummary");
- }
-
- if (eDataGraph.eResource() != null && eDataGraph.eResource().getResourceSet() != null)
- {
- int count = 0;
- for (Iterator i = eDataGraph.eResource().getResourceSet().getResources().iterator(); i.hasNext();)
- {
- Resource ePackageResource = (Resource)i.next();
- List resourceContents = ePackageResource.getContents();
- if (resourceContents.size() == 1 && resourceContents.get(0) instanceof EPackage)
- {
- resources.add(ePackageResource);
- uris.add("#" + resource.getURIFragment(eDataGraph) + "/@models." + count++);
- }
- }
- }
- }
- }
-
- public String getID(EObject eObject)
- {
- return super.getID(eObject);
- }
-
- public String getIDREF(EObject eObject)
- {
- String fragment = super.getIDREF(eObject);
- if (fragment.startsWith("/"))
- {
- int index = resources.indexOf(eObject.eResource());
- if (index != -1)
- {
- fragment = ((String)uris.get(index)).substring(1) + fragment.substring(1);
- }
- }
- return fragment;
- }
-
- public String getHREF(EObject eObject)
- {
- return super.getHREF(eObject);
- }
-
- protected URI getHREF(Resource otherResource, EObject obj)
- {
- int index = resources.indexOf(otherResource);
- if (index == -1)
- {
- return super.getHREF(otherResource, obj);
- }
- else
- {
- return createHREF((String)uris.get(index), otherResource.getURIFragment(obj));
- }
- }
-
- protected URI createHREF(String baseURI, String fragment)
- {
- if (fragment.startsWith("/"))
- {
- return URI.createURI(baseURI + fragment.substring(1));
- }
- else
- {
- return URI.createURI("#" + fragment);
- }
- }
-
- public void populateNameInfo(NameInfo nameInfo, EClass c)
- {
- if (c == SDOPackage.eINSTANCE.getDataGraph())
- {
- if (extendedMetaData != null)
- {
- extendedMetaData.demandPackage("commonj.sdo").setNsPrefix("sdo");
- }
- nameInfo.setQualifiedName(getQName("commonj.sdo", "datagraph"));
- nameInfo.setNamespaceURI("commonj.sdo");
- nameInfo.setLocalPart("datagraph");
- }
- else if (c == SDOPackage.eINSTANCE.getChangeSummary())
- {
- if (extendedMetaData != null)
- {
- extendedMetaData.demandPackage("commonj.sdo").setNsPrefix("sdo");
- }
- nameInfo.setQualifiedName("changeSummary");
- nameInfo.setNamespaceURI(null);
- nameInfo.setLocalPart("changeSummary");
- }
- else
- {
- super.populateNameInfo(nameInfo, c);
- }
- }
-
- public String getQName(EClass c)
- {
- if (c == SDOPackage.eINSTANCE.getDataGraph())
- {
- if (extendedMetaData != null)
- {
- extendedMetaData.demandPackage("commonj.sdo").setNsPrefix("sdo");
- }
- return getQName("commonj.sdo", "datagraph");
- }
- else if (c == SDOPackage.eINSTANCE.getChangeSummary())
- {
- if (extendedMetaData != null)
- {
- extendedMetaData.demandPackage("commonj.sdo").setNsPrefix("sdo");
- }
- return getQName((String)null, "changeSummary");
- }
- else
- {
- return super.getQName(c);
- }
- }
- }
-
- protected XMLHelper createXMLHelper()
- {
- return new HelperImpl(this);
- }
-
- protected EObject getEObjectByID(String id)
- {
- List contents = getContents();
- if (contents.size() >= 1)
- {
- Object rootObject = contents.get(0);
- if (rootObject instanceof DataGraphImpl)
- {
- DataGraphImpl eDataGraph = (DataGraphImpl)rootObject;
- EObject result = eDataGraph.getRootResource().getEObject(id);
- if (result != null)
- {
- return result;
- }
- else
- {
- ChangeSummary eChangeSummary = eDataGraph.getEChangeSummary();
- if (eChangeSummary != null)
- {
- result = ((EObject)eDataGraph.getChangeSummary()).eResource().getEObject(id);
- if (result != null)
- {
- return result;
- }
- }
- }
- }
- }
- return super.getEObjectByID(id);
- }
-
- public static class SaveImpl extends XMLSaveImpl
- {
- protected DataGraphImpl eDataGraph;
-
- public SaveImpl(XMLHelper xmlHelper)
- {
- super(xmlHelper);
- }
-
- public void traverse(List contents)
- {
- if (contents.size() >= 1 && contents.get(0) instanceof DataGraphImpl)
- {
- eDataGraph = (DataGraphImpl)contents.get(0);
-
- Object datagraphMark = null;
- if (!toDOM)
- {
- if (declareXML)
- {
- doc.add("<?xml version=\"" + xmlVersion + "\" encoding=\"" + encoding + "\"?>");
- doc.addLine();
- }
- String elementName = helper.getQName(eDataGraph.eClass());
- doc.startElement(elementName);
- datagraphMark = doc.mark();
- }
- else
- {
- helper.populateNameInfo(nameInfo, eDataGraph.eClass());
- currentNode = document.createElementNS(nameInfo.getNamespaceURI(), nameInfo.getQualifiedName());
- document.appendChild(currentNode);
- // not calling handler since there is no corresponding EObject
- }
-
- if (eDataGraph.eResource() != null && eDataGraph.eResource().getResourceSet() != null)
- {
- List ePackages = new ArrayList();
- for (Iterator i = eDataGraph.eResource().getResourceSet().getResources().iterator(); i.hasNext();)
- {
- List resourceContents = ((Resource)i.next()).getContents();
- if (resourceContents.size() == 1 && resourceContents.get(0) instanceof EPackage)
- {
- ePackages.add(resourceContents.get(0));
- }
- }
- if (!ePackages.isEmpty())
- {
- if (!toDOM)
- {
- doc.startElement("models");
- doc.addAttribute("xmlns", "");
- }
- else
- {
- currentNode = currentNode.appendChild(document.createElementNS(null, "models"));
- ((Element)currentNode).setAttributeNS(ExtendedMetaData.XMLNS_URI, ExtendedMetaData.XMLNS_PREFIX, "");
- // not calling handler since there is no corresponding EObject
- }
- for (Iterator i = ePackages.iterator(); i.hasNext();)
- {
- writeTopObject((EPackage)i.next());
- }
- if (!toDOM)
- {
- doc.endElement();
- }
- else
- {
- currentNode = currentNode.getParentNode();
- }
- }
- }
-
- // use namespace declarations defined in the document (if any)
- EObject eRootObject = eDataGraph.getERootObject();
- EReference xmlnsPrefixMapFeature = extendedMetaData.getXMLNSPrefixMapFeature(eRootObject.eClass());
- if (xmlnsPrefixMapFeature != null)
- {
- EMap xmlnsPrefixMap = (EMap)eRootObject.eGet(xmlnsPrefixMapFeature);
- helper.setPrefixToNamespaceMap(xmlnsPrefixMap);
- }
- ChangeSummary changeSummary = eDataGraph.getEChangeSummary();
-
- if (changeSummary != null)
- {
- helper.setMustHavePrefix(true);
- if (changeSummary.isLogging())
- {
- ((ChangeSummaryImpl)changeSummary).summarize();
- writeTopObject((EObject)changeSummary);
- }
- else
- {
- writeTopObject((EObject)changeSummary);
- }
- helper.setMustHavePrefix(false);
- }
-
- if (eRootObject != null && writeTopObject(eRootObject) == null && !toDOM)
- {
- doc.addLine();
- doc.setMixed(false);
- }
- if (!toDOM)
- {
- doc.endElement();
- // reset to add namespace declarations
- //
- doc.resetToMark(datagraphMark);
- }
- else
- {
- currentNode = document.getFirstChild();
- }
- addNamespaceDeclarations();
- }
- else
- {
- super.traverse(contents);
- }
- }
-
- protected void writeTopAttributes(EObject top)
- {
- if (top == eDataGraph.getEChangeSummary())
- {
- if (!toDOM)
- {
- doc.addAttribute("xmlns", "");
- doc.addAttribute("logging", String.valueOf(eDataGraph.getEChangeSummary().isLogging()));
- }
- else
- {
- ((Element)currentNode).setAttributeNS(ExtendedMetaData.XMLNS_URI, ExtendedMetaData.XMLNS_PREFIX, "");
- ((Element)currentNode).setAttributeNS("", "logging", String.valueOf(eDataGraph.getEChangeSummary().isLogging()));
- }
- }
- }
-
- protected EObject getSchemaLocationRoot(EObject eObject)
- {
- return eDataGraph.getERootObject();
- }
- }
-
- protected XMLSave createXMLSave()
- {
- return new SaveImpl(createXMLHelper());
- }
-
- public static class LoadImpl extends XMLLoadImpl
- {
- protected boolean resumeLogging = false;
-
- public void load(XMLResource resource, InputSource inputSource, Map options) throws IOException
- {
- super.load(resource, inputSource, options);
- if (resumeLogging) ((ChangeSummaryImpl)((DataGraphImpl)resource.getContents().get(0)).getChangeSummary()).resumeLogging();
- }
-
- public void load(XMLResource resource, InputStream inputStream, Map options) throws IOException
- {
- super.load(resource, inputStream, options);
- if (resumeLogging) ((ChangeSummaryImpl)((DataGraphImpl)resource.getContents().get(0)).getChangeSummary()).resumeLogging();
- }
-
- public void load(XMLResource resource, Node node, Map options) throws IOException
- {
- super.load(resource, node, options);
- if (resumeLogging) ((ChangeSummaryImpl)((DataGraphImpl)resource.getContents().get(0)).getChangeSummary()).resumeLogging();
- }
-
- public LoadImpl(XMLHelper xmlHelper)
- {
- super(xmlHelper);
- }
-
- protected DefaultHandler makeDefaultHandler()
- {
- return new SAXXMLHandler(resource, helper, options)
- {
- protected DataGraphImpl eDataGraph;
-
- protected boolean isInModels;
-
- protected List ePackages = new ArrayList();
-
- protected EObject createDocumentRoot(String prefix, String uri, String name, EFactory eFactory, boolean top)
- {
- return null;
- }
-
- protected void setAttribValue(EObject object, String name, String value)
- {
- if ("logging".equals(name) && object instanceof ChangeSummaryImpl)
- {
- resumeLogging = Boolean.valueOf(value).booleanValue();
- }
- else
- {
- super.setAttribValue(object, name, value);
- }
- }
-
- protected EMap recordNamespacesSchemaLocations(EObject root)
- {
- EObject dgroot = eDataGraph.getERootObject();
- if (dgroot == null)
- {
- return null;
- }
- EMap prefixToNamespaceMap = super.recordNamespacesSchemaLocations(dgroot);
- if (prefixToNamespaceMap != null)
- {
- for (Iterator i = prefixToNamespaceMap.iterator(); i.hasNext();)
- {
- Map.Entry entry = (Map.Entry)i.next();
- String prefix = (String)entry.getKey();
- String namespace = (String)entry.getValue();
- if (namespace.equals("commonj.sdo"))
- {
- prefixToNamespaceMap.removeKey(prefix);
- break;
- }
- }
- }
- return prefixToNamespaceMap;
- }
-
- protected void handleFeature(String prefix, String name)
- {
- if (isInModels && objects.size() == 2)
- {
- EObject modelObject = createObjectByType(prefix, name, false);
- processObject(modelObject);
- ePackages.add(modelObject);
- }
- else if (objects.size() == 1)
- {
- eDataGraph = (DataGraphImpl)objects.peek();
- eDataGraph.getResourceSet();
- if ("".equals(prefix) && "changeSummary".equals(name))
- {
- ChangeSummary eChangeSummary = (ChangeSummary)createObjectFromFactory(SDOFactory.eINSTANCE, "ChangeSummary");
- eDataGraph.setEChangeSummary(eChangeSummary);
- processObject((EObject)eChangeSummary);
- }
- else if ("".equals(prefix) && "models".equals(name))
- {
- isInModels = true;
- types.push(OBJECT_TYPE);
- objects.push(eDataGraph);
- mixedTargets.push(null);
- }
- else if (eDataGraph.getERootObject() == null)
- {
- if (useNewMethods)
- {
- handleSchemaLocation();
- }
- processSchemaLocations(prefix, name);
- if (processAnyXML)
- {
- // Ensure that anything can be handled, even if it's not recognized.
- //
- String namespaceURI = helper.getURI(prefix);
- if (extendedMetaData.getPackage(namespaceURI) == null)
- {
- EStructuralFeature rootFeature = extendedMetaData.demandFeature(namespaceURI, name, true);
- rootFeature.getEContainingClass().getEPackage().setEFactoryInstance(new DynamicDataObjectImpl.FactoryImpl());
- }
- }
-
- //FB TEMPORARY allow loading proper serialization (global element instead of type name)
- //FB Proper fix is to reimplement DataGraph as proper DataObject, and remove this entire class
- EStructuralFeature rootFeature = extendedMetaData.getElement(helper.getURI(prefix), name);
- if (rootFeature != null) name = rootFeature.getEType().getName();
-
- EObject rootObject = createObjectByType(prefix, name, false);
-
- eDataGraph.setERootObject(rootObject);
- processObject(rootObject);
- if (rootObject != null
- && rootObject.eClass() == ExtendedMetaData.INSTANCE.getDocumentRoot(rootObject.eClass().getEPackage()))
- {
- super.handleFeature(prefix, name);
-
- // Remove the document root from the stack.
- //
- Object mixedTarget = mixedTargets.pop();
- Object object = objects.pop();
- mixedTargets.pop();
- objects.pop();
- mixedTargets.push(mixedTarget);
- objects.push(object);
- }
- }
- }
- else
- {
- super.handleFeature(prefix, name);
- }
- }
-
- public void endElement(String uri, String localName, String name)
- {
- if (isInModels && objects.size() == 2)
- {
- if (!ePackages.isEmpty())
- {
- for (Iterator i = ePackages.iterator(); i.hasNext();)
- {
- EPackage ePackage = (EPackage)i.next();
- ePackage.setEFactoryInstance(new DynamicDataObjectImpl.FactoryImpl());
- Resource resource = resourceSet.createResource(URI.createURI("*.ecore"));
- resource.getContents().add(ePackage);
- if (ePackage.getNsURI() != null)
- {
- resource.setURI(URI.createURI(ePackage.getNsURI()));
- }
-
- if (extendedMetaData != null)
- {
- extendedMetaData.putPackage(extendedMetaData.getNamespace(ePackage), ePackage);
- }
- else
- {
- packageRegistry.put(ePackage.getNsURI(), ePackage);
- }
- }
- handleForwardReferences();
- }
- isInModels = false;
- }
- // TODO The following 3 lines of code are a temporary work-around for JIRA issue TUSCANY-1862.
- // These lines of code should be removed when TUSCANY-1862 is resolved.
- if ("".equals(uri) && "objectsToAttach".equals(name) && text != null && text.length() == 0)
- {
- text = null;
- }
- super.endElement(uri, localName, name);
- }
-
- protected EPackage getPackageForURI(String uriString)
- {
- if ("commonj.sdo".equals(uriString))
- {
- return SDOPackage.eINSTANCE;
- }
- else
- {
- return super.getPackageForURI(uriString);
- }
- }
-
- protected EObject createObjectFromFactory(EFactory factory, String typeName)
- {
- if (factory == SDOFactory.eINSTANCE)
- {
- if ("datagraph".equals(typeName))
- {
- return super.createObjectFromFactory(factory, "DataGraph");
- }
- }
- return super.createObjectFromFactory(factory, typeName);
- }
-
- protected EcoreBuilder createEcoreBuilder(Map options, ExtendedMetaData extendedMetaData)
- {
- return new DefaultEcoreBuilder(extendedMetaData)
- {
- public Collection generate(Map urisToLocations) throws Exception
- {
- Collection result = super.generate(urisToLocations);
- return updateDynamicFactory(result);
- }
-
- public Collection generate(Collection urisToLocations) throws Exception
- {
- Collection result = super.generate(urisToLocations);
- return updateDynamicFactory(result);
- }
-
- protected Collection updateDynamicFactory(Collection result)
- {
- for (Iterator i = result.iterator(); i.hasNext();)
- {
- Resource resource = (Resource)i.next();
- for (Iterator j = EcoreUtil.getObjectsByType(resource.getContents(), EcorePackage.eINSTANCE.getEPackage()).iterator(); j.hasNext();)
- {
- EPackage ePackage = (EPackage)j.next();
- ePackage.setEFactoryInstance(new DynamicDataObjectImpl.FactoryImpl());
- }
- }
- return result;
- }
-
- };
- }
-
- protected EPackage handleMissingPackage(String uriString)
- {
- EPackage result = super.handleMissingPackage(uriString);
- if (processAnyXML && objects.size() == 1)
- {
- result = extendedMetaData.demandPackage(uriString);
- }
- return result;
- }
- };
- }
- }
-
- protected XMLLoad createXMLLoad()
- {
- return new LoadImpl(createXMLHelper());
- }
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
deleted file mode 100644
index 8481fdfd06..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
+++ /dev/null
@@ -1,3035 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util;
-
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.security.AccessController;
-import java.security.PrivilegedExceptionAction;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TimeZone;
-
-import org.apache.tuscany.sdo.SDOExtendedMetaData;
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.helper.HelperContextImpl;
-import org.apache.tuscany.sdo.impl.ClassImpl;
-import org.apache.tuscany.sdo.impl.DataGraphImpl;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-import org.apache.tuscany.sdo.util.resource.SDOURIConverterImpl;
-import org.apache.tuscany.sdo.util.resource.SDOXMLResourceFactoryImpl;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EDataTypeImpl;
-import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
-import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.ecore.xmi.XMLOptions;
-import org.eclipse.emf.ecore.xmi.XMLParserPool;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.EMOFResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLOptionsImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-import org.eclipse.xsd.util.XSDResourceFactoryImpl;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.impl.HelperProvider;
-
-
-public final class DataObjectUtil
-{
- public static void setString(DataObject dataObject, Property property, String value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setShort(DataObject dataObject, Property property, short value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setLong(DataObject dataObject, Property property, long value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setList(DataObject dataObject, Property property, List value) {
- dataObject.set(property, value);
- }
-
- public static void setInt(DataObject dataObject, Property property, int value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setFloat(DataObject dataObject, Property property, float value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setDouble(DataObject dataObject, Property property, double value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setDate(DataObject dataObject, Property property, Date value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setDataObject(DataObject dataObject, Property property, DataObject value) {
- dataObject.set(property, value);
- }
-
- public static void setChar(DataObject dataObject, Property property, char value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setBytes(DataObject dataObject, Property property, byte[] value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setByte(DataObject dataObject, Property property, byte value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setBoolean(DataObject dataObject, Property property, boolean value) {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setBigInteger(DataObject dataObject, Property property, BigInteger value)
- {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static void setBigDecimal(DataObject dataObject, Property property, BigDecimal value)
- {
- dataObject.set(property, getSetValue(property, value));
- }
-
- public static String getString(DataObject dataObject, Property property)
- {
- return getString(dataObject.get(property));
- }
-
- public static short getShort(DataObject dataObject, Property property)
- {
- return getShort(dataObject.get(property));
- }
-
- public static Sequence getSequence(DataObject dataObject, Property property)
- {
- return (Sequence)dataObject.get(property);
- }
-
- public static long getLong(DataObject dataObject, Property property)
- {
- return getLong(dataObject.get(property));
- }
-
- public static List getList(DataObject dataObject, Property property)
- {
- return (List)dataObject.get(property);
- }
-
- public static int getInt(DataObject dataObject, Property property)
- {
- return getInt(dataObject.get(property));
- }
-
- public static float getFloat(DataObject dataObject, Property property)
- {
- return getFloat(dataObject.get(property));
- }
-
- public static double getDouble(DataObject dataObject, Property property)
- {
- return getDouble(dataObject.get(property));
- }
-
- public static Date getDate(DataObject dataObject, Property property)
- {
- return getDate(dataObject.get(property));
- }
-
- public static DataObject getDataObject(DataObject dataObject, Property property)
- {
- return (DataObject)dataObject.get(property);
- }
-
- public static char getChar(DataObject dataObject, Property property)
- {
- return getChar(dataObject.get(property));
- }
-
- public static byte[] getBytes(DataObject dataObject, Property property)
- {
- return getBytes(dataObject.get(property));
- }
-
- public static byte getByte(DataObject dataObject, Property property)
- {
- return getByte(dataObject.get(property));
- }
-
- public static boolean getBoolean(DataObject dataObject, Property property)
- {
- return getBoolean(dataObject.get(property));
- }
-
- public static BigInteger getBigInteger(DataObject dataObject, Property property)
- {
- return getBigInteger(dataObject.get(property));
- }
-
- public static BigDecimal getBigDecimal(DataObject dataObject, Property property)
- {
- return getBigDecimal(dataObject.get(property));
- }
-
-
- public static void setString(DataObject dataObject, int propertyIndex, String value) {
- setString(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setShort(DataObject dataObject, int propertyIndex, short value) {
- setShort(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setLong(DataObject dataObject, int propertyIndex, long value) {
- setLong(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setList(DataObject dataObject, int propertyIndex, List value) {
- setList(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setInt(DataObject dataObject, int propertyIndex, int value) {
- setInt(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setFloat(DataObject dataObject, int propertyIndex, float value) {
- setFloat(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setDouble(DataObject dataObject, int propertyIndex, double value) {
- setDouble(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setDate(DataObject dataObject, int propertyIndex, Date value) {
- setDate(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setDataObject(DataObject dataObject, int propertyIndex, DataObject value) {
- dataObject.set(getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setChar(DataObject dataObject, int propertyIndex, char value) {
- setChar(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setBytes(DataObject dataObject, int propertyIndex, byte[] value) {
- setBytes(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setByte(DataObject dataObject, int propertyIndex, byte value) {
- setByte(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setBoolean(DataObject dataObject, int propertyIndex, boolean value) {
- setBoolean(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setBigInteger(DataObject dataObject, int propertyIndex, BigInteger value)
- {
- setBigInteger(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static void setBigDecimal(DataObject dataObject, int propertyIndex, BigDecimal value)
- {
- setBigDecimal(dataObject,getProperty(dataObject, propertyIndex), value);
- }
-
- public static String getString(DataObject dataObject, int propertyIndex)
- {
- return getString(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static short getShort(DataObject dataObject, int propertyIndex)
- {
- return getShort(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
-
- public static Sequence getSequence(DataObject dataObject, int propertyIndex)
- {
- return (Sequence)dataObject.get(propertyIndex);
- }
-
- public static long getLong(DataObject dataObject, int propertyIndex)
- {
- return getLong(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static List getList(DataObject dataObject, int propertyIndex)
- {
- return (List)dataObject.get(getProperty(dataObject, propertyIndex));
- }
-
- public static int getInt(DataObject dataObject, int propertyIndex)
- {
- return getInt(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static float getFloat(DataObject dataObject, int propertyIndex)
- {
- return getFloat(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static double getDouble(DataObject dataObject, int propertyIndex)
- {
- return getDouble(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static Date getDate(DataObject dataObject, int propertyIndex)
- {
- return getDate(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static DataObject getDataObject(DataObject dataObject, int propertyIndex)
- {
- return (DataObject)dataObject.get(getProperty(dataObject, propertyIndex));
- }
-
- public static char getChar(DataObject dataObject, int propertyIndex)
- {
- return getChar(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static byte[] getBytes(DataObject dataObject, int propertyIndex)
- {
- return getBytes(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static byte getByte(DataObject dataObject, int propertyIndex)
- {
- return getByte(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static boolean getBoolean(DataObject dataObject, int propertyIndex)
- {
- return getBoolean(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static BigInteger getBigInteger(DataObject dataObject, int propertyIndex)
- {
- return getBigInteger(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static BigDecimal getBigDecimal(DataObject dataObject, int propertyIndex)
- {
- return getBigDecimal(dataObject.get(getProperty(dataObject, propertyIndex)));
- }
-
- public static void detach(DataObject dataObject) {
- EcoreUtil.remove((EObject)dataObject);
- }
-
- public static DataObject getRootObject(DataObject dataObject)
- {
- return (DataObject)EcoreUtil.getRootContainer((EObject)dataObject);
- }
-
- public static boolean isInternalProperty(EStructuralFeature eStructuralFeature)
- {
- //return FeatureMapUtil.isFeatureMap(eStructuralFeature);
- EClassifier eClassifier = eStructuralFeature.getEType();
- return !(eClassifier instanceof Type || eClassifier == XMLTypePackage.Literals.BASE64_BINARY);
- }
-
- public static List getInstanceProperties(DataObject dataObject)
- {
- Type type = dataObject.getType();
- List result = new UniqueEList(type.getProperties());
- ((ClassImpl)type).addOpenProperties((EObject)dataObject, result);
- return result;
- }
-
- public static void delete(DataObject dataObject)
- {
- EObject eDataObject = (EObject)dataObject;
- EcoreUtil.remove(eDataObject);
- List contents = new ArrayList((eDataObject).eContents());
- for (int i = 0, size = contents.size(); i < size; ++i)
- {
- ((DataObject)contents.get(i)).delete();
- }
- EClass eClass = eDataObject.eClass();
- for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i)
- {
- EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
- if (eStructuralFeature.isChangeable() && !eStructuralFeature.isDerived() && !((Property)eStructuralFeature).isReadOnly())
- {
- eDataObject.eUnset(eStructuralFeature);
- }
- }
- }
-
- public static DataObject createDataObject(DataObject dataObject, Property property, Type type)
- {
- if (!property.isContainment())
- {
- throw new IllegalArgumentException("The property '" + property.getName() + "' of '" + property.getContainingType().getName()
- + "' isn't a containment");
- }
- DataObject result = DataObjectUtil.create(type);
- if (FeatureMapUtil.isMany((EObject)dataObject, (EStructuralFeature)property))
- {
- ((List)dataObject.get(property)).add(result);
- }
- else
- {
- dataObject.set(property, result);
- }
- return result;
- }
-
- public static DataObject createDataObject(DataObject dataObject, int propertyIndex, String namespaceURI, String typeName)
- {
- Property property = DataObjectUtil.getProperty(dataObject, propertyIndex);
- Type type = DataObjectUtil.getType(dataObject, namespaceURI, typeName);
- return createDataObject(dataObject, property, type);
- }
-
- public static DataObject createDataObject(DataObject dataObject, String propertyName, String namespaceURI, String typeName)
- {
- Property property = getInstanceProperty(dataObject, propertyName);
- if (property != null) {
- Type type = DataObjectUtil.getType(dataObject, namespaceURI, typeName);
- return createDataObject(dataObject, property, type);
- }
- else {
- if (dataObject.getType().isOpen()) {
- HelperContext ctx = HelperProvider.getDefaultContext();
- Type propertyType = ctx.getTypeHelper().getType( namespaceURI, typeName );
- if (propertyType == null) {
- throw new IllegalStateException( "type does not exist: uri=" + namespaceURI + ", name=" + typeName );
- }
- DataObject value = ctx.getDataFactory().create( propertyType );
- List list = new ArrayList(1);
- list.add(value);
- dataObject.setList( propertyName, list );
- return value;
- }
- else {
- throw new IllegalArgumentException( "property '" + propertyName + "' does not exist" );
- }
- }
- }
-
- public static DataObject createDataObject(DataObject dataObject, Property property)
- {
- Type type = property.getType();
- return createDataObject(dataObject, property, type);
- }
-
- public static DataObject createDataObject(DataObject dataObject, int propertyIndex)
- {
- Property property = getProperty(dataObject, propertyIndex);
- Type type = property.getType();
- return createDataObject(dataObject,property, type);
- }
-
- public static DataObject createDataObject(DataObject dataObject, String propertyName)
- {
- Property property = (Property)getInstanceProperty(dataObject, propertyName);
- if (property != null) {
- Type type = property.getType();
- return createDataObject(dataObject,property, type);
- }
- else {
- return createDataObject(dataObject, propertyName, "http://www.apache.org/tuscany/2005/SDO", "AnyTypeDataObject" );
- }
- }
-
- public static void setString(DataObject dataObject, String path, String value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
-
- public static void setShort(DataObject dataObject, String path, short value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setLong(DataObject dataObject, String path, long value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setList(DataObject dataObject, String path, List value)
- {
- dataObject.set(path, value);
- }
-
- public static void setInt(DataObject dataObject, String path, int value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setFloat(DataObject dataObject, String path, float value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setDouble(DataObject dataObject, String path, double value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setDate(DataObject dataObject, String path, Date value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setDataObject(DataObject dataObject, String path, DataObject value)
- {
- dataObject.set(path, value);
- }
-
- public static void setChar(DataObject dataObject, String path, char value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setBytes(DataObject dataObject, String path, byte[] value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setByte(DataObject dataObject, String path, byte value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setBoolean(DataObject dataObject, String path, boolean value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setBigInteger(DataObject dataObject, String path, BigInteger value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static void setBigDecimal(DataObject dataObject, String path, BigDecimal value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, DataObjectUtil.getSetValue(property, value));
- }
- else
- {
- DataObjectUtil.Accessor accessor = DataObjectUtil.Accessor.create((EObject)dataObject, path);
- accessor.setAndRecyle(DataObjectUtil.getSetValue(accessor.getProperty(), value));
- }
- }
-
- public static DataGraph getDataGraph(DataObject dataObject)
- {
- Resource resource = ((EObject)dataObject).eResource();
- if (resource != null)
- {
- ResourceSet resourceSet = resource.getResourceSet();
- if (resourceSet != null)
- {
- return (DataGraphImpl)EcoreUtil.getAdapter(resourceSet.eAdapters(), DataGraph.class);
- }
- }
- return null;
- }
-
- public static ChangeSummary getChangeSummary(DataObject dataObject)
- {
- DataGraph dataGraph = getDataGraph(dataObject);
- if (dataGraph != null)
- {
- return dataGraph.getChangeSummary();
- }
- else
- {
- for (DataObject csDataObject = dataObject; csDataObject != null; csDataObject = csDataObject.getContainer())
- {
- Property csp = ((ClassImpl)csDataObject.getType()).getChangeSummaryProperty();
- if (csp != null) return (ChangeSummary)csDataObject.get(csp);
- }
- }
- return null;
- }
-
- public static void unset(DataObject dataObject, String path)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.unset(property);
- }
- else
- {
- DataObjectUtil.Accessor.create((EObject)dataObject, path).unsetAndRecyle();
- }
- }
-
- public static boolean isSet(DataObject dataObject, String path)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- return dataObject.isSet(property);
- }
- else
- {
- return DataObjectUtil.Accessor.create(
- (EObject)dataObject, path).isSetAndRecyle();
- }
- }
-
- public static void set(DataObject dataObject, String path, Object value)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null)
- {
- dataObject.set(property, value);
- }
- else
- {
- DataObjectUtil.Accessor.create(
- (EObject)dataObject, path, value).setAndRecyle(value);
- }
- }
-
- public static Object get(DataObject dataObject, String path)
- {
- Property property = dataObject.getType().getProperty(path);
- if (property != null) {
- return dataObject.get(property);
- } else {
- return Accessor.create((EObject)dataObject, path).getAndRecyle();
- }
- }
-
- public static BigDecimal getBigDecimal(Object value)
- {
- if (value instanceof BigDecimal)
- {
- return (BigDecimal)value;
- }
-
- if (value instanceof BigInteger)
- {
- return new BigDecimal((BigInteger)value);
- }
-
- if (value instanceof Long)
- {
- return new BigDecimal(((Long)value).longValue());
- }
-
- if (value instanceof Number)
- {
- return new BigDecimal(((Number)value).doubleValue());
- }
-
- if (value instanceof String)
- {
- return new BigDecimal((String)value);
- }
-
- if (value == null)
- {
- return null;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to BigDecimal");
- }
-
- public static Object getSetValue(Property property, BigDecimal value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- EClassifier eType = eStructuralFeature.getEType();
- if (value == null)
- {
- return eType.getDefaultValue();
- }
-
- String name = eType.getInstanceClassName();
- if (name == "java.math.BigDecimal")
- {
- return value;
- }
-
- if (name == "java.math.BigInteger")
- {
- return value.toBigInteger();
- }
-
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte(value.byteValue());
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value.doubleValue());
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value.floatValue());
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer(value.intValue());
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long(value.longValue());
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short(value.shortValue());
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- //Instead of throwing an ClassCastException we will pass the value to the property
- return value;
- }
-
- public static BigInteger getBigInteger(Object value)
- {
- if (value instanceof BigInteger)
- {
- return (BigInteger)value;
- }
-
- if (value instanceof BigDecimal)
- {
- return ((BigDecimal)value).toBigInteger();
- }
-
- if (value instanceof Number)
- {
- return BigInteger.valueOf(((Number)value).longValue());
- }
-
- if (value instanceof String)
- {
- return new BigInteger((String)value);
- }
-
- if (value instanceof byte[])
- {
- return new BigInteger((byte[])value);
- }
-
- if (value == null)
- {
- return null;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to BigInteger");
- }
-
- public static Object getSetValue(Property property, BigInteger value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- EClassifier eType = eStructuralFeature.getEType();
- if (value == null)
- {
- return eType.getDefaultValue();
- }
-
- String name = eType.getInstanceClassName();
- if (name == "java.math.BigInteger")
- {
- return value;
- }
-
- if (name == "java.math.BigDecimal")
- {
- return new BigDecimal(value);
- }
-
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte(value.byteValue());
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value.doubleValue());
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value.floatValue());
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer(value.intValue());
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long(value.longValue());
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short(value.shortValue());
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- if (name == "byte[]")
- {
- return value.toByteArray();
- }
-
- //Instead of throwing an ClassCastException we will pass the value to the property
- return value;
- }
-
- public static boolean getBoolean(Object value)
- {
- if (value instanceof Boolean)
- {
- return ((Boolean)value).booleanValue();
- }
-
- if (value instanceof String)
- {
- return Boolean.valueOf((String)value).booleanValue();
- }
-
- if (value == null)
- {
- return false;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to boolean");
- }
-
- public static Object getSetValue(Property property, boolean value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Boolean" || name == "boolean")
- {
- return value ? Boolean.TRUE : Boolean.FALSE;
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- //Instead of throwing an ClassCastException we will pass the value to the property
- return value ? Boolean.TRUE : Boolean.FALSE;
- }
-
- public static byte getByte(Object value)
- {
- if (value instanceof Number)
- {
- return ((Number)value).byteValue();
- }
-
- if (value instanceof String)
- {
- return Byte.parseByte((String)value);
- }
-
- if (value == null)
- {
- return 0;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to byte");
- }
-
- public static Object getSetValue(Property property, byte value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte(value);
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value);
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value);
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer(value);
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long(value);
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short(value);
- }
-
- if (name == "java.math.BigDecimal")
- {
- return getBigDecimal(new Byte(value));
- }
-
- if (name == "java.math.BigInteger")
- {
- return getBigInteger(new Byte(value));
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- //Instead of throwing an ClassCastException we will pass the value to the property
- return new Byte(value);
- }
-
- public static byte[] getBytes(Object value)
- {
- if (value instanceof byte[])
- {
- return (byte[])value;
- }
-
- if (value instanceof BigInteger)
- {
- return ((BigInteger)value).toByteArray();
- }
-
- if (value instanceof String)
- {
- return (XMLTypeFactory.eINSTANCE.createHexBinary((String)value));
- }
-
- if (value == null)
- {
- return null;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to byte array");
- }
-
- public static Object getSetValue(Property property, byte[] value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- EClassifier eType = eStructuralFeature.getEType();
- if (value == null)
- {
- return eType.getDefaultValue();
- }
-
- String name = eType.getInstanceClassName();
- if (name == "byte[]")
- {
- return value;
- }
-
- if (name == "java.math.BigInteger")
- {
- return new BigInteger(value);
- }
-
- if (name == "java.lang.String" )
- {
- return XMLTypeFactory.eINSTANCE.convertHexBinary((byte[])value);
- }
-
- //Instead of throwing an ClassCastException we will pass the value to the property
- return value;
- }
-
- public static char getChar(Object value)
- {
- if (value instanceof Character)
- {
- return ((Character)value).charValue();
- }
-
- if (value instanceof String)
- {
- return ((String)value).charAt(0);
- }
-
- if (value == null)
- {
- return 0;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to char");
- }
-
- public static Object getSetValue(Property property, char value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Character" || name == "char")
- {
- return new Character(value);
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- //Instead of throwing an ClassCastException we will pass the value to the property
- return new Character(value);
- }
-
- public static Date getDate(Object value)
- {
- if (value instanceof String) {
- return DataHelper.INSTANCE.toDate((String)value);
- }
-
- //if (value instanceof XMLCalendar)
- //{
- //return ((XMLCalendar)value).getDate();
- //}
-
- if (value instanceof Date)
- {
- return (Date)value;
- }
-
- if (value instanceof Long)
- {
- return new Date(((Long)value).longValue());
- }
-
- if (value == null)
- {
- return null;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to Date");
- }
-
- public static Object getSetValue(Property property, Date value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- EClassifier eType = eStructuralFeature.getEType();
- if (value == null)
- {
- return eType.getDefaultValue();
- }
-
- String name = eType.getInstanceClassName();
-
- if (name == "java.lang.String")
- {
- String typeName = getDateTypeName((EDataType)eType);
- if ("DateTime".equals(typeName)) {
- return DataHelper.INSTANCE.toDateTime(value);
- }
- else if ("Day".equals(typeName)) {
- return DataHelper.INSTANCE.toDay(value);
- }
- else if ("Duration".equals(typeName)) {
- return DataHelper.INSTANCE.toDuration(value);
- }
- else if ("Month".equals(typeName)) {
- return DataHelper.INSTANCE.toMonth(value);
- }
- else if ("MonthDay".equals(typeName)) {
- return DataHelper.INSTANCE.toMonthDay(value);
- }
- else if ("Time".equals(typeName)) {
- return DataHelper.INSTANCE.toTime(value);
- }
- else if ("Year".equals(typeName)) {
- return DataHelper.INSTANCE.toYear(value);
- }
- else if ("YearMonth".equals(typeName)) {
- return DataHelper.INSTANCE.toYearMonth(value);
- }
- else if ("YearMonthDay".equals(typeName)) {
- return DataHelper.INSTANCE.toYearMonthDay(value);
- }
- else if ("String".equals(typeName))
- {
- return DataHelper.INSTANCE.toDateTime(value);
- }
-
- // Instead of throwing an ClassCastException we will pass the value to the property
- return value;
- }
-
- //if (name == "java.util.Date")
- //{
- //return new XMLCalendar(value, XMLCalendar.DATE);
- //}
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long(value.getTime());
- }
-
- // Instead of throwing an ClassCastException we will pass the value to the property
- return value;
- }
-
- protected static String getDateTypeName(EDataType eDataType)
- {
- String name = eDataType.getName();
- if (("DateTime".equals(name)) ||
- ("Day".equals(name)) ||
- ("Duration".equals(name)) ||
- ("Month".equals(name)) ||
- ("MonthDay".equals(name)) ||
- ("Time".equals(name)) ||
- ("Year".equals(name)) ||
- ("YearMonth".equals(name)) ||
- ("YearMonthDay".equals(name)) ||
- ("String".equals(name)))
- {
- return name;
- }
-
- EDataType baseType = ExtendedMetaData.INSTANCE.getBaseType(eDataType);
- if (baseType != null)
- {
- return getDateTypeName(baseType);
- }
-
- List memberTypes = ExtendedMetaData.INSTANCE.getMemberTypes(eDataType);
- if (!memberTypes.isEmpty())
- {
- for (int i = 0, size = memberTypes.size(); i < size; ++i)
- {
- EDataType memberType = (EDataType)memberTypes.get(i);
- String memberTypeName = getDateTypeName(memberType);
- if (("DateTime".equals(memberTypeName)) ||
- ("Day".equals(memberTypeName)) ||
- ("Duration".equals(memberTypeName)) ||
- ("Month".equals(memberTypeName)) ||
- ("MonthDay".equals(memberTypeName)) ||
- ("Time".equals(memberTypeName)) ||
- ("Year".equals(memberTypeName)) ||
- ("YearMonth".equals(memberTypeName)) ||
- ("YearMonthDay".equals(memberTypeName)) ||
- ("String".equals(memberTypeName)))
- {
- return memberTypeName;
- }
- }
- }
-
- return "";
- }
-
- public static double getDouble(Object value)
- {
- if (value instanceof Number)
- {
- return ((Number)value).doubleValue();
- }
-
- if (value instanceof String)
- {
- return Double.parseDouble((String)value);
- }
-
- if (value == null)
- {
- return 0;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to double");
- }
-
- public static Object getSetValue(Property property, double value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte((byte)value);
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value);
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value);
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer((int)value);
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long((long)value);
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short((short)value);
- }
-
- if (name == "java.math.BigDecimal")
- {
- return getBigDecimal(new Double(value));
- }
-
- if (name == "java.math.BigInteger")
- {
- return getBigInteger(new Double(value));
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- //Instead of throwing an ClassCastException we will pass the value to the property
- return new Double(value);
- }
-
- public static float getFloat(Object value)
- {
- if (value instanceof Number)
- {
- return ((Number)value).floatValue();
- }
-
- if (value instanceof String)
- {
- return Float.parseFloat((String)value);
- }
-
- if (value == null)
- {
- return 0;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to float");
- }
-
- public static Object getSetValue(Property property, float value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte((byte)value);
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value);
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value);
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer((int)value);
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long((long)value);
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short((short)value);
- }
-
- if (name == "java.math.BigDecimal")
- {
- return getBigDecimal(new Float(value));
- }
-
- if (name == "java.math.BigInteger")
- {
- return getBigInteger(new Float(value));
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- // Instead of throwing an ClassCastException we will pass the value to the property
- return new Float(value);
- }
-
- public static int getInt(Object value)
- {
- if (value instanceof Number)
- {
- return ((Number)value).intValue();
- }
-
- if (value instanceof String)
- {
- return Integer.parseInt((String)value);
- }
-
- if (value == null)
- {
- return 0;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to int");
- }
-
- public static Object getSetValue(Property property, int value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte((byte)value);
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value);
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value);
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer(value);
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long(value);
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short((short)value);
- }
-
- if (name == "java.math.BigDecimal")
- {
- return getBigDecimal(new Integer(value));
- }
-
- if (name == "java.math.BigInteger")
- {
- return getBigInteger(new Integer(value));
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- // Instead of throwing an ClassCastException we will pass the value to the property
- return new Integer(value);
- }
-
- public static long getLong(Object value)
- {
- if (value instanceof Number)
- {
- return ((Number)value).longValue();
- }
-
- if (value instanceof String)
- {
- return Long.parseLong((String)value);
- }
-
- if (value instanceof Date)
- {
- return ((Date)value).getTime();
- }
-
- if (value == null)
- {
- return 0;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to long");
- }
-
- public static Object getSetValue(Property property, long value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte((byte)value);
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value);
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value);
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer((int)value);
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long(value);
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short((short)value);
- }
-
- if (name == "java.math.BigDecimal")
- {
- return getBigDecimal(new Long(value));
- }
-
- if (name == "java.math.BigInteger")
- {
- return getBigInteger(new Long(value));
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- if (name == "java.util.Date")
- {
- return new Date(value);
- }
-
- // Instead of throwing an ClassCastException we will pass the value to the property
- return new Long(value);
- }
-
- public static short getShort(Object value)
- {
- if (value instanceof Number)
- {
- return ((Number)value).shortValue();
- }
-
- if (value instanceof String)
- {
- return Short.parseShort((String)value);
- }
-
- if (value == null)
- {
- return 0;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to short");
- }
-
- public static Object getSetValue(Property property, short value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- String name = eStructuralFeature.getEType().getInstanceClassName();
- if (name == "java.lang.Byte" || name == "byte")
- {
- return new Byte((byte)value);
- }
-
- if (name == "java.lang.Double" || name == "double")
- {
- return new Double(value);
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value);
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return new Integer(value);
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return new Long(value);
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return new Short(value);
- }
-
- if (name == "java.math.BigDecimal")
- {
- return getBigDecimal(new Short(value));
- }
-
- if (name == "java.math.BigInteger")
- {
- return getBigInteger(new Short(value));
- }
-
- if (name == "java.lang.String")
- {
- return String.valueOf(value);
- }
-
- // Instead of throwing an ClassCastException we will pass the value to the property
- return new Short(value);
- }
-
- public static String getString(Object value)
- {
- if (value instanceof String)
- {
- return (String)value;
- }
-
- if (value instanceof Number || value instanceof Boolean || value instanceof Character)
- {
- return String.valueOf(value);
- }
-
- if (value instanceof Date)
- {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy'-'MM'-'dd'T'H':'mm':'ss.S'Z'");
- sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
- return sdf.format((Date) value);
- }
-
- if (value instanceof byte[]) {
- return XMLTypeFactory.eINSTANCE.convertHexBinary((byte[])value);
- }
-
- if (value == null)
- {
- return null;
- }
-
- throw new ClassCastException("The value of type '" + value.getClass().getName() + "' cannot be converted to String");
- }
-
- public static Object getSetValue(Property property, String value)
- {
- EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
- EClassifier eType = eStructuralFeature.getEType();
- if (value == null)
- {
- return eType.getDefaultValue();
- }
-
- String name = eType.getInstanceClassName();
- if (name == "java.lang.String")
- {
- return value;
- }
-
- if (name == "java.lang.Byte" || name == "byte")
- {
- return Byte.valueOf(value);
- }
-
- if (name == "java.util.Date")
- {
- return DataHelper.INSTANCE.toDate(value);
- }
-
- if (name == "java.lang.Double" || name == "double" || name == "java.lang.Number")
- {
- return Double.valueOf(value);
- }
-
- if (name == "java.lang.Float" || name == "float")
- {
- return new Float(value);
- }
-
- if (name == "java.lang.Integer" || name == "int")
- {
- return Integer.valueOf(value);
- }
-
- if (name == "java.lang.Long" || name == "long")
- {
- return Long.valueOf(value);
- }
-
- if (name == "java.lang.Short" || name == "short")
- {
- return Short.valueOf(value);
- }
-
- if (name == "java.lang.Character" || name == "char")
- {
- return new Character(value.charAt(0));
- }
-
- if (name == "java.math.BigDecimal")
- {
- return getBigDecimal(value);
- }
-
- if (name == "java.math.BigInteger")
- {
- return getBigInteger(value);
- }
-
- if (name == "java.lang.Boolean" || name == "boolean")
- {
- return Boolean.valueOf(value);
- }
-
- if (name == "byte[]")
- {
- return XMLTypeFactory.eINSTANCE.createHexBinary(value);
- }
-
- // Instead of throwing an ClassCastException we will pass the value to the property
- return value;
- }
-
- public static EStructuralFeature getOpenFeature(EObject eObject, int featureID)
- {
- EClass eClass = eObject.eClass();
- int openFeatureCount = featureID - eClass.getFeatureCount();
- Set openFeatureSet = new HashSet();
- for (int i = 0, count = eClass.getEAllStructuralFeatures().size(); i < count; ++i)
- {
- EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
- if (!eStructuralFeature.isDerived() && FeatureMapUtil.isFeatureMap(eStructuralFeature))
- {
- List features = (List)eObject.eGet(eStructuralFeature);
- for (int j = 0, size = features.size(); j < size; ++j)
- {
- FeatureMap.Entry entry = (FeatureMap.Entry)features.get(j);
- EStructuralFeature entryFeature = entry.getEStructuralFeature();
- if (openFeatureSet.add(entryFeature))
- {
- if (--openFeatureCount < 0) return entryFeature;
- }
- }
- }
- }
- throw new IndexOutOfBoundsException();
- }
-
- public static List getAliasNames(EStructuralFeature eStructuralFeature)
- {
- List list = SDOExtendedMetaData.INSTANCE.getAliasNames(eStructuralFeature);
- if (list == null) {
- list = new ArrayList();
- }
- return list;
- }
-
- public static List getAliasNames(EClassifier eClassifier)
- {
- List list = SDOExtendedMetaData.INSTANCE.getAliasNames(eClassifier);
- if (list == null) {
- list = new ArrayList();
- }
- return list;
- }
-
- protected static Property demandOpenProperty(Type type, String name, Object value, boolean isSequence)
- {
- TypeHelper typeHelper = TypeHelper.INSTANCE; //FB TODO: what TypeHelper to use?
-
- String uri = type.getURI() + "/" + type.getName(); // unique URI for open content properties on instances of the type
- Property property = typeHelper.getOpenContentProperty(uri, name);
- if (property != null)
- return property;
-
- boolean isMany = isSequence;
- boolean isContainment = false;
- Type propertyType;
-
- if (value instanceof DataObject)
- {
- DataObject dataObject = (DataObject)value;
- propertyType = dataObject.getType();
- isContainment = dataObject.getContainer() == null;
- }
- else if (value instanceof List && !((List)value).isEmpty())
- {
- Object listValue = ((List)value).get(0); //TODO: get common base class if all values are not the same type?
- if (listValue instanceof DataObject)
- propertyType = ((DataObject)listValue).getType();
- else
- propertyType = typeHelper.getType(listValue.getClass());
- isMany = true;
- }
- else
- {
- propertyType = typeHelper.getType(value.getClass());
- }
- if (propertyType == null)
- {
- propertyType = ((ModelFactoryImpl)ModelFactory.INSTANCE).getObject();
- }
-
- Property newProperty = SDOUtil.createOpenContentProperty(HelperProvider.getDefaultContext(), uri, name, propertyType);
- if (isMany)
- SDOUtil.setMany(newProperty, isMany);
- if (isContainment)
- SDOUtil.setContainment(newProperty, isContainment);
-
- return newProperty;
- }
-
- /**
- * Process the default EMF path and minimal XPath syntax.
- * This design is still under review and construction.
- *
- * Syntax:
- *
- *<pre>
- * path = /? (step '/')* step
- * step = feature
- * | feature '.' index_from_0
- * | feature '[' index_from_1 ']'
- * | reference '[' attribute '=' value ']'
- * | ..
- * | '@' step
- *</pre>
- *
- * feature = the name of an attribute or reference
- * attribute = the name of an attribute
- * reference = the name of a reference
- * index = positive integer
- * value = the string value of an attribute
- * leading / begins at the root
- * .. is containing object
- *
- * features must be multi-valued to use '.' and '[' operations.
- * Only the last step may have an attribute as the feature.
- */
- public static final class Accessor //TODO rewrite this using SDO APIs
- {
- /**
- * Creates an accessor for the path of the object.
- */
- public static Accessor create(EObject eObject, String path)
- {
- return create(eObject, path, null);
- }
-
- public static Accessor create(EObject eObject, String path, Object value)
- {
- Accessor result = pool.get();
- result.init(eObject, path, value);
- return result;
- }
-
- /**
- * Only the get and recycle methods should be call; they are the only synchronized methods.
- */
- protected static class Pool extends BasicEList
- {
- protected Accessor[] accessors;
-
- public Pool()
- {
- super(10);
- }
-
- protected Object[] newData(int capacity)
- {
- return accessors = new Accessor [capacity];
- }
-
- /**
- * Returns a recyled instance or a new instance.
- */
- public synchronized Accessor get()
- {
- if (size > 0)
- {
- return accessors[--size];
- }
- else
- {
- return new Accessor();
- }
- }
-
- /** Safely gives the accessor back for recycled use.
- */
- public synchronized void recycle(Accessor accessor)
- {
- int minimumCapacity = size + 1;
- if (minimumCapacity > data.length)
- {
- grow(minimumCapacity);
- }
- accessors[size++] = accessor;
- }
- }
-
- /**
- * A static thread safe pool of Accessors.
- */
- static final Pool pool = new Pool();
-
- protected static final int NO_INDEX = -1;
-
- protected EObject eObject;
- protected Object value;
-
- protected EStructuralFeature feature;
-
- protected int index;
-
- RuntimeException runtimeException;
-
- protected Accessor()
- {
- }
-
- //protected Accessor(EObject eObject, String path)
- //{
- // init(eObject, path);
- //}
-
- protected void init(EObject eObject, String path, Object value)
- {
- this.eObject = eObject;
- this.value = value;
- runtimeException = null;
-
- // This should only be called with a path right now.
- //
- //feature = getType(eObject).getProperty(path).getEStructuralFeature();
- //if (feature == null)
- {
- process(path);
- }
- //else
- {
- //index = NO_INDEX;
- }
- }
-
- public Object get()
- {
- if (feature == null)
- {
- return eObject;
- }
- else
- {
- Object value = eObject.eGet(feature, true);
- if (index >= 0)
- {
- value = ((List)value).get(index);
- if (value instanceof FeatureMap.Entry)
- {
- value = ((FeatureMap.Entry)value).getValue();
- }
- }
- else if (FeatureMapUtil.isFeatureMap(feature))
- {
- value = new BasicSequence((FeatureMap.Internal)value);
- }
- return value;
- }
- }
-
- public Object getAndRecyle()
- {
- Object result = get();
- pool.recycle(this);
- return result;
- }
-
- protected final void assertSuccessfulProcess()
- {
- if (runtimeException != null)
- throw runtimeException;
- }
-
- public void set(Object newValue)
- {
- assertSuccessfulProcess();
- if (index >= 0)
- {
- List list = (List)eObject.eGet(feature, true);
- list.set(index, newValue);
- }
- else
- {
- // EATM newValue = string2Enum(feature, newValue);
- eObject.eSet(feature, newValue);
- }
- }
-
- public void setAndRecyle(Object newValue)
- {
- set(newValue);
- pool.recycle(this);
- }
-
- public boolean isSet()
- {
- return feature != null && eObject.eIsSet(feature);
- }
-
- public boolean isSetAndRecyle()
- {
- boolean result = isSet();
- pool.recycle(this);
- return result;
- }
-
- public void unset()
- {
- assertSuccessfulProcess();
- eObject.eUnset(feature);
- }
-
- public void unsetAndRecyle()
- {
- unset();
- pool.recycle(this);
- }
-
- public void recycle()
- {
- pool.recycle(this);
- }
-
- public EObject getEObject()
- {
- return eObject;
- }
-
- protected void setEObject(EObject eObject)
- {
- this.eObject = eObject;
- feature = null;
- index = NO_INDEX;
- }
-
- public EStructuralFeature getEStructuralFeature()
- {
- return feature;
- }
-
- public Property getProperty()
- {
- assertSuccessfulProcess();
- return (Property)feature;
- }
-
- protected void setFeatureName(String name)
- {
- if (name != null)
- {
- feature = (EStructuralFeature)((DataObject)eObject).getInstanceProperty(name);
- if (feature == null)
- {
- int index = name.lastIndexOf('.');
- if (index == -1)
- {
- Type type = (Type)eObject.eClass();
- if (value != null && type.isOpen())
- {
- feature = (EStructuralFeature)demandOpenProperty(type, name, value, false);
- this.index = NO_INDEX;
- return;
- }
- runtimeException = new IllegalArgumentException("Class '" + eObject.eClass().getName() + "' does not have a feature named '" + name + '\'');
- }
- else
- {
- int propertyNameEnd = index;
- try
- {
- index = Integer.parseInt(name.substring(++index));
- // NumberFormatException may be thrown
- String propertyName = name.substring(0, propertyNameEnd);
- feature = (EStructuralFeature)((DataObject)eObject).getInstanceProperty(propertyName);
- if (feature != null)
- {
- setIndex(index);
- return;
- }
- runtimeException = new IllegalArgumentException("Class '" + eObject.eClass().getName() + "' does not have a feature named '" + name + "' or '" + propertyName + '\'');
- }
- catch(NumberFormatException eNumberFormat)
- {
- runtimeException = eNumberFormat;
- }
- }
- setEObject(null);
- }
- }
- else
- {
- feature = null;
- }
- index = NO_INDEX;
- }
-
- protected int getIndex()
- {
- return index;
- }
-
- /*
- * calling constraint, this method is not to be used for semantic of setting index to NO_INDEX
- */
- protected void setIndex(int index)
- {
- if (index < 0) {
- // The index value should not be less than 0.
- runtimeException = new IndexOutOfBoundsException("Index value is too low");
- setEObject(null);
- return;
- }
- if (!FeatureMapUtil.isMany(eObject, feature))
- {
- runtimeException = new IndexOutOfBoundsException("Index applies only to multi-valued features");
- setEObject(null);
- return;
- }
- int size = ((List) eObject.eGet(feature)).size();
- if (index >= size)
- {
- // The index value should be less than size.
- runtimeException = new IndexOutOfBoundsException("Index value should have been less than " + size);
- setEObject(null);
- }
- this.index = index;
- }
-
- protected void process(String pathString)
- {
- TokenList tokens = new TokenList(pathString.toCharArray());
- String token;
- int size = tokens.size();
- int x = 0;
-
- if ("/".equals(tokens.peek(0)))
- {
- setEObject(EcoreUtil.getRootContainer(eObject));
- x++;
- }
-
- for (; x < size; x++)
- {
- token = tokens.peek(x);
- char c = token.charAt(0);
- if ('/' == c)
- {
- setEObject((EObject)get());
- if (eObject == null) break;
- }
- else if ("..".equals(token))
- {
- setEObject(eObject.eContainer());
- if (eObject == null) break;
- }
- else if ('[' == c)
- {
- x++; // skip [
- token = tokens.peek(x); // name or index
- char following = tokens.peek(x + 1).charAt(0);
- if ('=' != following)
- {
- try
- {
- setIndex(Integer.parseInt(token) - 1);
- // runtimeException may be recorded
- }
- catch(NumberFormatException eNumberFormat)
- {
- runtimeException = eNumberFormat;
- setEObject(null);
- break;
- }
- if (runtimeException != null)
- break;
- x++; // skip ]
- }
- else
- {
- x++; // done name
- x++; // skip =
- String attributeValue = tokens.peek(x); // value
- if ("\"".equals(attributeValue))
- {
- x++; // skip "
- attributeValue = tokens.peek(++x);
- }
- x++; // skip ]
- int index = matchingIndex((List)get(), token, attributeValue);
- if (index < 0)
- {
- setEObject(null);
- break;
- }
- else
- {
- setIndex(index);
- }
- }
- }
- else if ('@' == c)
- {
- // skip @
- }
- else
- {
- setFeatureName(token);
- if (eObject == null) break;
- }
- }
- }
-
- protected static int matchingIndex(List dataObjects, String attributeName, String attributeValue)
- {
- for (int i = 0, size = dataObjects.size(); i < size; i++)
- {
- DataObject dataObject = (DataObject)dataObjects.get(i);
- Property property = getInstanceProperty(dataObject, attributeName);
- if (property != null)
- {
- Object test = dataObject.get(property);
- if (test != null)
- {
- String testString = EcoreUtil.convertToString((EDataType)property.getType(), test);
- if (attributeValue.equals(testString))
- {
- return i;
- }
- }
- }
- }
- return -1;
- }
-
- protected static class TokenList extends BasicEList
- {
- public TokenList(char[] path)
- {
- super(4);
-
- int pathLength = path.length;
- StringBuffer token = new StringBuffer();
- char cPrev;
- char c = 0;
- char cNext;
- char stringConstant = 0;
- for (int pos = 0; pos < pathLength; pos++)
- {
- cPrev = c;
- c = path[pos];
- cNext = pos < pathLength - 1 ? path[pos + 1] : 0;
-
- if (stringConstant != 0)
- {
- if (c == stringConstant)
- {
- endToken(token, true);
- stringConstant = 0;
- }
- else
- {
- token.append(c);
- }
- }
- else
- {
- switch (c)
- {
- case ' ':
- case 0xA:
- case 0xD:
- case 0x9:
- if (cPrev != ' ')
- {
- endToken(token, false);
- }
- c = ' ';
- break;
-
- case '"':
- case '\'':
- endToken(token, false);
- stringConstant = c;
- break;
-
- // double or single tokens
- case '/':
- case ':':
- if (cPrev != c)
- {
- endToken(token, false);
- }
- token.append(c);
- if (cNext != c)
- {
- endToken(token, false);
- }
- break;
-
- // double token (..)
- case '.':
- if (cNext == '.')
- endToken(token, false);
- token.append(c);
- if (cPrev == '.')
- endToken(token, false);
- break;
-
- // single tokens
- case '*':
- case '@':
- case '[':
- case ']':
- case '(':
- case ')':
- case '|':
- endToken(token, false);
- add(String.valueOf(c));
- break;
-
- // TODO: < > <= >= + - !=
- case '!':
- endToken(token, false);
- token.append(c);
- break;
-
- case '=':
- endToken(token, false);
- add(String.valueOf(c));
- break;
-
- default:
- token.append(c);
- }
- }
- }
- endToken(token, false);
- }
-
- public String peek()
- {
- return size > 0 ? (String)data[0] : " ";
- }
-
- public String peek(int index)
- {
- return index < size ? (String)data[index] : " ";
- }
-
- public TokenList pop()
- {
- remove(0);
- return this;
- }
-
- public TokenList pop(int count)
- {
- while (count-- > 0)
- {
- remove(count);
- }
- return this;
- }
-
- protected void endToken(StringBuffer token, boolean includeEmpty)
- {
- if (includeEmpty || token.length() > 0)
- {
- add(token.toString());
- }
- token.setLength(0);
- }
-
- protected boolean canContainNull()
- {
- return false;
- }
-
- protected Object[] newData(int capacity)
- {
- return new String [capacity];
- }
- }
-
- public String toString()
- {
- StringBuffer result = new StringBuffer("Accessor (object:");
- result.append(eObject == null ? "null" : eObject.toString());
- result.append(", feature:");
- result.append(feature == null ? "null" : feature.getName());
- result.append(", index:");
- result.append(index);
- result.append(")");
- return result.toString();
- }
- }
-
- public static Type getType(DataObject dataObject, String namespaceURI, String typeName)
- {
- DataGraph dataGraph = dataObject.getDataGraph();
- if (dataGraph != null)
- {
- return dataGraph.getType(namespaceURI, typeName);
- }
- else
- {
- //TODO think about where else to find the type
- return TypeHelper.INSTANCE.getType(namespaceURI, typeName);
- }
- }
-
- public static Property getInstanceProperty(DataObject dataObject, String propertyName)
- {
- ClassImpl type = (ClassImpl)dataObject.getType();
- Property property = type.getProperty(propertyName);
- if (property == null)
- {
- property = type.getOpenProperty((EObject)dataObject, propertyName);
- //throw new IllegalArgumentException("Type '" + dataObject.getType().getName() + "' does not have a property named '" + propertyName + "'");
- }
-
- return property;
- }
-
- public static Property getProperty(DataObject dataObject, int propertyIndex)
- {
- List typeProperties = dataObject.getType().getProperties();
- try {
- Property property = propertyIndex < typeProperties.size() ?
- (Property)typeProperties.get(propertyIndex) :
- (Property)dataObject.getInstanceProperties().get(propertyIndex);
-
- return property;
- } catch (IndexOutOfBoundsException e) {
- throw new IllegalArgumentException();
- }
- }
-
- public static Property getContainmentProperty(Property property)
- {
- if (property.isContainment())
- {
- return property;
- }
- throw new IllegalArgumentException("The property '" + property.getName() + "' of '" + property.getContainingType().getName()
- + "' isn't a containment");
- }
-
- public static DataObject create(Type type)
- {
- //return (DataObject)EcoreUtil.create((EClass)type);
- if ((type instanceof EClass) && !type.isAbstract()) {
- EClass eClass = (EClass)type;
- try {
- return (DataObject)EcoreUtil.create(eClass);
- } catch (ClassCastException e) {
- throw new IllegalArgumentException();
- }
- }
- throw new IllegalArgumentException();
- }
-
- public static ResourceSet createResourceSet()
- {
- ResourceSet result = new ResourceSetImpl();
- configureResourceSet(result);
- return result;
- }
-
- protected static Map registrations;
-
- protected static Map getRegistrations()
- {
- if (registrations == null)
- {
- Map result = new HashMap();
-
- Resource.Factory factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.datagraph"));
- result.put("datagraph", factory instanceof DataGraphResourceFactoryImpl ? factory : new DataGraphResourceFactoryImpl());
-
- factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.ecore"));
- result.put("ecore", factory instanceof EcoreResourceFactoryImpl ? factory : new EcoreResourceFactoryImpl());
-
- factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.emof"));
- result.put("emof", factory instanceof EMOFResourceFactoryImpl ? factory : new EMOFResourceFactoryImpl());
-
- factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.xsd"));
- result.put("xsd", factory instanceof XSDResourceFactoryImpl ? factory : new XSDResourceFactoryImpl());
-
- factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.wsdl"));
- result.put("wsdl", factory instanceof XSDResourceFactoryImpl ? factory : new XSDResourceFactoryImpl());
-
- factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.*"));
- result.put("*", factory instanceof SDOXMLResourceFactoryImpl ? factory : new SDOXMLResourceFactoryImpl());
-
- registrations = result;
- }
-
- return registrations;
- }
-
- protected static void configureResourceSet(ResourceSet resourceSet)
- {
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().putAll(getRegistrations());
- resourceSet.setPackageRegistry(new EPackageRegistryImpl(HelperContextImpl.getBuiltInModelRegistry()));
- resourceSet.setURIConverter(new SDOURIConverterImpl());
- }
-
- public static EClass createDocumentRoot()
- {
- EClass documentRootEClass = (EClass)SDOFactory.eINSTANCE.createClass();
- documentRootEClass.setName("DocumentRoot");
- ExtendedMetaData.INSTANCE.setName(documentRootEClass, "");
- ExtendedMetaData.INSTANCE.setContentKind(documentRootEClass, ExtendedMetaData.MIXED_CONTENT);
-
- EAttribute mixed = (EAttribute)SDOFactory.eINSTANCE.createAttribute();
- mixed.setName("mixed");
- mixed.setEType(EcorePackage.eINSTANCE.getEFeatureMapEntry());
- mixed.setUpperBound(EStructuralFeature.UNBOUNDED_MULTIPLICITY);
- ExtendedMetaData.INSTANCE.setName(mixed, ":mixed");
- ExtendedMetaData.INSTANCE.setFeatureKind(mixed, ExtendedMetaData.ELEMENT_WILDCARD_FEATURE);
- documentRootEClass.getEStructuralFeatures().add(mixed);
-
- EReference xmlnsPrefixMap = (EReference)SDOFactory.eINSTANCE.createReference();
- xmlnsPrefixMap.setName("xMLNSPrefixMap");
- xmlnsPrefixMap.setEType(EcorePackage.eINSTANCE.getEStringToStringMapEntry());
- xmlnsPrefixMap.setUpperBound(EStructuralFeature.UNBOUNDED_MULTIPLICITY);
- xmlnsPrefixMap.setContainment(true);
- xmlnsPrefixMap.setTransient(true);
- ExtendedMetaData.INSTANCE.setName(xmlnsPrefixMap, "xmlns:prefix");
- ExtendedMetaData.INSTANCE.setFeatureKind(xmlnsPrefixMap, ExtendedMetaData.ATTRIBUTE_FEATURE);
- documentRootEClass.getEStructuralFeatures().add(xmlnsPrefixMap);
-
- EReference xsiSchemaLocation = (EReference)SDOFactory.eINSTANCE.createReference();
- xsiSchemaLocation.setName("xSISchemaLocation");
- xsiSchemaLocation.setEType(EcorePackage.eINSTANCE.getEStringToStringMapEntry());
- xsiSchemaLocation.setUpperBound(EStructuralFeature.UNBOUNDED_MULTIPLICITY);
- xsiSchemaLocation.setContainment(true);
- xsiSchemaLocation.setTransient(true);
- ExtendedMetaData.INSTANCE.setName(xsiSchemaLocation, "xsi:schemaLocation");
- ExtendedMetaData.INSTANCE.setFeatureKind(xsiSchemaLocation, ExtendedMetaData.ATTRIBUTE_FEATURE);
- documentRootEClass.getEStructuralFeatures().add(xsiSchemaLocation);
-
- return documentRootEClass;
- }
-
- /**
- * Configure EMF to support the SDO runtime by registering a specialized Ecore factory, SDOEcoreFactory.
- * This static initializion must run before any SDO metadata is created or loaded.
- * As long as SDO helper classes (e.g., TypeHelper, XMLHelper, etc.) are accessed though their
- * corresponding INSTANCE fields (e.g., TypeHelper.INSTANCE), or using the SDOUtil methods (e.g.,
- * SDOUtil.createTypeHelper(), this will always be the case.
- */
- /*
- static
- {
- EPackage.Registry.INSTANCE.put(EcorePackage.eNS_URI, new EPackage.Descriptor()
- {
- public EPackage getEPackage()
- {
- return EcorePackage.eINSTANCE;
- }
-
- public EFactory getEFactory()
- {
- return new SDOFactoryImpl.SDOEcoreFactory();
- }
- });
- }
- */
-
- /*
- protected static StringBuffer getXPath(DataObject dataObject, StringBuffer path, DataObject root)
- {
- DataObject container = dataObject.getContainer();
- if (container == null) return path;
-
- if (container == root) {
- throw new IllegalStateException("There is a cycle in the containment hierarchy of " + root);
- }
-
- boolean first = path.length() == 0;
- Property property = dataObject.getContainmentProperty();
- if (SDOUtil.isMany(property, dataObject))
- {
- List list = container.getList(property);
- int pos = list.indexOf(dataObject);
- path.insert(0, property.getName() + "." + pos + (first ? "" : "/"));
- }
- else
- {
- path.insert(0, property.getName() + (first ? "" : "/"));
- }
-
- return getXPath(container, path, root);
- }
- */
-
- public static String getXPath(DataObject dataObject)
- {
- return SDOUtil.getXPath(dataObject);
- //StringBuffer path = getXPath(dataObject, new StringBuffer(), dataObject);
- //return path.toString();
- }
-
- protected static XMLParserPool globalXMLParserPool = new XMLParserPoolImpl();
-
- public static void configureXMLResource(XMLResource resource, ExtendedMetaData extendedMetaData)
- {
- XMLOptions xmlOptions = new XMLOptionsImpl();
- xmlOptions.setProcessAnyXML(true);
- resource.getDefaultLoadOptions().put(XMLResource.OPTION_XML_OPTIONS, xmlOptions);
-
- resource.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
- resource.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
-
- resource.getDefaultLoadOptions().put(XMLResource.OPTION_USE_PARSER_POOL, globalXMLParserPool);
-
- resource.getDefaultLoadOptions().put(XMLResource.OPTION_USE_DEPRECATED_METHODS, Boolean.FALSE);
-
- resource.getDefaultSaveOptions().put(XMLResource.OPTION_CONFIGURATION_CACHE, Boolean.TRUE);
- resource.getDefaultLoadOptions().put(XMLResource.OPTION_CONFIGURATION_CACHE, Boolean.TRUE);
-
- resource.getDefaultLoadOptions().put(XMLResource.OPTION_ANY_TYPE, SDOPackage.eINSTANCE.getAnyTypeDataObject());
- resource.getDefaultSaveOptions().put(XMLResource.OPTION_ANY_TYPE, SDOPackage.eINSTANCE.getAnyTypeDataObject());
-
- resource.getDefaultLoadOptions().put(XMLResource.OPTION_ANY_SIMPLE_TYPE, SDOPackage.eINSTANCE.getSimpleAnyTypeDataObject());
- resource.getDefaultSaveOptions().put(XMLResource.OPTION_ANY_SIMPLE_TYPE, SDOPackage.eINSTANCE.getSimpleAnyTypeDataObject());
-
- //resource.getDefaultLoadOptions().put(XMLResource.OPTION_USE_XML_NAME_TO_FEATURE_MAP, globalHashMap);
-
- //resource.getDefaultSaveOptions().put(XMLResource.OPTION_FORMATTED, Boolean.FALSE);
- }
-
- /**
- * @deprecated SDO runtime initialization is no longer required
- */
- public static void initRuntime()
- {
- // NOOP since init is done during static initialization of this class. See above.
- }
-
- /*
- public static Object get(org.apache.tuscany.sdo.model.Property property, int propertyIndex) {
- switch(propertyIndex)
- {
- case ModelPackageImpl.PROPERTY__ALIAS_NAME:
- return property.getAliasName();
- case ModelPackageImpl.PROPERTY__ANY:
- return property.getAny();
- case ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE:
- return property.getAnyAttribute();
- case ModelPackageImpl.PROPERTY__CONTAINMENT:
- return Boolean.valueOf(property.isContainment());
- case ModelPackageImpl.PROPERTY__DEFAULT:
- return property.getDefault_();
- case ModelPackageImpl.PROPERTY__MANY:
- return Boolean.valueOf(property.isMany());
- case ModelPackageImpl.PROPERTY__NAME:
- return property.getName();
- case ModelPackageImpl.PROPERTY__OPPOSITE:
- return property.getOpposite_();
- case ModelPackageImpl.PROPERTY__READ_ONLY:
- return Boolean.valueOf(property.isReadOnly());
- case ModelPackageImpl.PROPERTY__TYPE:
- return property.getType_();
- }
- return null;
- }
-
- public static boolean isSet(org.apache.tuscany.sdo.model.Property property, int propertyIndex) {
- switch(propertyIndex)
- {
- case ModelPackageImpl.PROPERTY__ALIAS_NAME:
- return !property.getAliasName().isEmpty();
- case ModelPackageImpl.PROPERTY__ANY:
- return false;
- case ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE:
- return false;
- case ModelPackageImpl.PROPERTY__CONTAINMENT:
- return property.isSetContainment();
- case ModelPackageImpl.PROPERTY__DEFAULT:
- return property.getDefault_() != null;
- case ModelPackageImpl.PROPERTY__MANY:
- return property.isSetMany();
- case ModelPackageImpl.PROPERTY__NAME:
- return property.getName() != null;
- case ModelPackageImpl.PROPERTY__OPPOSITE:
- return property.getOpposite_() != null;
- case ModelPackageImpl.PROPERTY__READ_ONLY:
- return property.isSetReadOnly();
- case ModelPackageImpl.PROPERTY__TYPE:
- return property.getType_() != null;
- }
- return false;
- }
-
- public static Object get(org.apache.tuscany.sdo.model.Type type, int propertyIndex) {
- switch (propertyIndex)
- {
- case ModelPackageImpl.TYPE__BASE_TYPE:
- return type.getBaseType();
- case ModelPackageImpl.TYPE__PROPERTY:
- return type.getProperty();
- case ModelPackageImpl.TYPE__ALIAS_NAME:
- return type.getAliasName();
- case ModelPackageImpl.TYPE__ANY:
- return type.getAny();
- case ModelPackageImpl.TYPE__ABSTRACT:
- return Boolean.valueOf(type.isAbstract());
- case ModelPackageImpl.TYPE__DATA_TYPE:
- return Boolean.valueOf(type.isDataType());
- case ModelPackageImpl.TYPE__NAME:
- return type.getName();
- case ModelPackageImpl.TYPE__OPEN:
- return Boolean.valueOf(type.isOpen());
- case ModelPackageImpl.TYPE__SEQUENCED:
- return Boolean.valueOf(type.isSequenced());
- case ModelPackageImpl.TYPE__URI:
- return type.getUri();
- case ModelPackageImpl.TYPE__ANY_ATTRIBUTE:
- return type.getAnyAttribute();
- }
- return null;
- }
-
- public static boolean isSet(org.apache.tuscany.sdo.model.Type type, int propertyIndex) {
- //FB Note that this implementation has the undesirable effect of invoking lazy creation of feature lists
- switch (propertyIndex)
- {
- case ModelPackageImpl.TYPE__BASE_TYPE:
- return !type.getBaseType().isEmpty();
- case ModelPackageImpl.TYPE__PROPERTY:
- return !type.getProperty().isEmpty();
- case ModelPackageImpl.TYPE__ALIAS_NAME:
- return !type.getAliasName().isEmpty();
- case ModelPackageImpl.TYPE__ANY:
- return false;
- case ModelPackageImpl.TYPE__ABSTRACT:
- return type.isSetAbstract();
- case ModelPackageImpl.TYPE__DATA_TYPE:
- return type.isSetDataType();
- case ModelPackageImpl.TYPE__NAME:
- return type.getName() != null;
- case ModelPackageImpl.TYPE__OPEN:
- return type.isSetOpen();
- case ModelPackageImpl.TYPE__SEQUENCED:
- return type.isSetSequenced();
- case ModelPackageImpl.TYPE__URI:
- return type.getUri() != null;
- case ModelPackageImpl.TYPE__ANY_ATTRIBUTE:
- return false;
- }
- return false;
- }
- */
-
- /**
- * Returns a unique list of meta object instance properties (stored in EAnnotations)
- *
- * @param metaObject - A Type or Property instance
- * @return A list of commonj.sdo.Property instances
- */
- public static List getMetaObjectInstanceProperties(EModelElement metaObject)
- {
- // Use the default helper context for now
- // TypeHelper typeHelper = HelperProvider.getDefaultContext().getTypeHelper();
- HelperContext hc = HelperProvider.getDefaultContext();
-
- List result = new UniqueEList();
- List annotations = metaObject.getEAnnotations();
- int size = annotations.size();
- for (int i=0; i<size; i++)
- {
- EAnnotation annotation = (EAnnotation)annotations.get(i);
- String propertyURI = annotation.getSource();
-
- for (Iterator iter = annotation.getDetails().iterator(); iter.hasNext(); )
- {
- EStringToStringMapEntryImpl entry = (EStringToStringMapEntryImpl)iter.next();
- String propertyName = entry.getTypedKey();
-
- Property globalProperty = getGlobalProperty(hc, propertyURI, propertyName);
- if (globalProperty != null)
- {
- result.add(globalProperty);
- }
- }
- }
- return result;
- }
-
- /**
- * Return the value of the specified mata object instance property (stored in EAnnotations)
- *
- * @param metaObject - A Type or Property instance
- * @param property - The instance property to retrieve
- * @return The value of the instance property
- */
- /*public static Object getMetaObjectInstanceProperty(EModelElement metaObject, Property property)
- {
- String value = EcoreUtil.getAnnotation(metaObject, property.getContainingType().getURI(), property.getName());
- //TODO if (property.isMany()) ... // create list of values from from string
- return SDOUtil.createFromString(property.getType(), value);
- }*/
-
- public static Object getMetaObjectInstanceProperty(EModelElement metaObject, Property property)
- {
- if(metaObject instanceof EDataTypeImpl){
- if(property.getName().equals("enumeration")) {
- List enumVals = ((EDataTypeImpl)metaObject).getExtendedMetaData().getEnumerationFacet();
- return enumVals;
- }
-
- if(property.getName().equals("pattern")) {
- List patternVals = ((EDataTypeImpl)metaObject).getExtendedMetaData().getPatternFacet();
- return patternVals;
- }
- }
- String value = EcoreUtil.getAnnotation(metaObject, property.getContainingType().getURI(), property.getName());
- //TODO if (property.isMany()) ... // create list of values from from string
- return SDOUtil.createFromString(property.getType(), value);
- }
-
-
-/*
- protected static Property getGlobalProperty(TypeHelper typeHelper, String uri, String name)
- {
- Property property;
- if (ExtendedMetaData.ANNOTATION_URI.equals(uri)) {
- if ("minExclusive".equals(name) ||
- "minInclusive".equals(name) ||
- "maxExclusive".equals(name) ||
- "maxInclusive".equals(name) ||
- "totalDigits".equals(name) ||
- "fractionDigits".equals(name) ||
- "length".equals(name) ||
- "minLength".equals(name) ||
- "maxLength".equals(name) ||
- "enumeration".equals(name) ||
- "whiteSpace".equals(name) ||
- "pattern".equals(name))
- {
- //TODO Use standard facet properties, once SDO defines them
- //TODO property = getSDOFacetProperty(name);
- //TEMP For now just expose a string property for the EMF (ExtendedMetaData) facets
- property = SDOUtil.createOpenContentProperty(typeHelper, uri, name, ((ModelFactoryImpl)ModelFactory.INSTANCE).getString());
- }
- else
- {
- //TODO Should we consider exposing more ExtendedMetaData?
- property = null;
- }
- }
- else
- {
- property = typeHelper.getOpenContentProperty(uri, name);
- if (property == null)
- {
- property = SDOUtil.createOpenContentProperty(typeHelper, uri, name, ((ModelFactoryImpl)ModelFactory.INSTANCE).getString());
- }
- }
- return property;
- }
-*/
- protected static Property getGlobalProperty(HelperContext hc, String uri, String name)
- {
- Property property;
- if (ExtendedMetaData.ANNOTATION_URI.equals(uri)) {
- if ("minExclusive".equals(name) ||
- "minInclusive".equals(name) ||
- "maxExclusive".equals(name) ||
- "maxInclusive".equals(name) ||
- "totalDigits".equals(name) ||
- "fractionDigits".equals(name) ||
- "length".equals(name) ||
- "minLength".equals(name) ||
- "maxLength".equals(name) ||
- "enumeration".equals(name) ||
- "whiteSpace".equals(name) ||
- "pattern".equals(name))
- {
- //TODO Use standard facet properties, once SDO defines them
- //TODO property = getSDOFacetProperty(name);
- //TEMP For now just expose a string property for the EMF (ExtendedMetaData) facets
- property = SDOUtil.createOpenContentProperty(hc, uri, name, ((ModelFactoryImpl)ModelFactory.INSTANCE).getString());
- }
- else
- {
- //TODO Should we consider exposing more ExtendedMetaData?
- property = null;
- }
- }
- else
- {
- property = hc.getTypeHelper().getOpenContentProperty(uri, name);
- if (property == null)
- {
- property = SDOUtil.createOpenContentProperty(hc, uri, name, ((ModelFactoryImpl)ModelFactory.INSTANCE).getString());
- }
- }
- return property;
- }
-
- protected static Class loadClass(final ClassLoader classLoader, final String className) {
- Class returnClass = null;
- try
- {
- returnClass = (Class)AccessController.doPrivileged(new PrivilegedExceptionAction()
- {
- public Object run() throws Exception
- {
- return classLoader.loadClass(className);
- }
- });
- }
- catch (Exception e)
- {
- return null;
- }
-
- return returnClass;
- }
-
- public static Class getImplementationClass(Class instanceClass, boolean concrete)
- {
- if (instanceClass.isInterface())
- {
- String sdoTypeImplClassName = instanceClass.getName();
- int index = sdoTypeImplClassName.lastIndexOf('.');
- if (index == -1) {
- sdoTypeImplClassName = "impl." + sdoTypeImplClassName + "Impl";
- }
- else {
- sdoTypeImplClassName = sdoTypeImplClassName.substring(0, index) + ".impl" + sdoTypeImplClassName.substring(index) + "Impl";
- }
- if (concrete) sdoTypeImplClassName += "$ConcreteBase";
- return loadClass(instanceClass.getClassLoader(), sdoTypeImplClassName);
- }
- else
- {
- return instanceClass;
- }
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
deleted file mode 100644
index 19ac5e8a09..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
+++ /dev/null
@@ -1,593 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.lang.reflect.Field;
-import java.security.AccessController;
-import java.security.PrivilegedExceptionAction;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sdo.api.SDOHelper.XMLOptions;
-import org.apache.tuscany.sdo.helper.DataFactoryImpl;
-import org.apache.tuscany.sdo.helper.HelperContextImpl;
-import org.apache.tuscany.sdo.helper.SDOExtendedMetaDataImpl;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-import org.apache.tuscany.sdo.helper.XMLHelperImpl;
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.helper.XSDHelperImpl;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * This class provides some useful static utility functions which are not specified in the SDO
- * specification itself. Use of the functions in this class is recommended, instead of resorting
- * to low-level implementation-specific APIs.
- * @deprecated
- * @see {@link org.apache.tuscany.sdo.api.SDOUtil}.
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.XMLOptions}.
- */
-public final class SDOUtil
-{
- /**
- * Line Break String such as "\n", "\r\n", "\r" and "", absence/null is the default (line.separator System Property)
- * @deprecated see {@link org.apache.tuscany.sdo.api.SDOHelper.XMLOptions}.
- */
- static public final String XML_SAVE_LineBreak = XMLOptions.XML_SAVE_LINE_BREAK,
- /**
- * Indent String such as "\t", "", etc. absence/null is the default (" ")
- */
- XML_SAVE_INDENT = XMLOptions.XML_SAVE_INDENT,
- /**
- * Margin String such as " ", "\t\t", etc. Absence/null/"" is the default (no margin)
- */
- XML_SAVE_MARGIN = XMLOptions.XML_SAVE_MARGIN,
- /**
- * Attribute formatting that exceeds the specified width as Integer will cause a line break so that formatting will continue indented on the next line
- */
- XML_SAVE_LineWidth = XMLOptions.XML_SAVE_LINE_WIDTH,
- /**
- * Boolean to save a doctype declaration
- */
- XML_SAVE_DocType = XMLOptions.XML_SAVE_DOCTYPE,
- /**
- * Boolean to process the schemaLocation/noNamespaceSchemaLocation attributes occurring in the instance document to {@link XSDHelper#define convert XSD(s) to Types}
- */
- XML_LOAD_SCHEMA = XMLOptions.XML_LOAD_SCHEMA,
- /**
- * To tolerate malformed elements and attributes (default unless set by System property XML.load.form.lax). 0 not to.
- */
- XML_LOAD_LaxForm = XMLOptions.XML_LOAD_LAX_FORM;
-
- /**
- * Create a new TypeHelper instance. The returned type helper will have visibility of types registered
- * directly by calling a define method on it or by calling define on an associated XSDHelper. It will
- * also have visibility of static types registered by calling SDOUtil.registerStaticTypes in the
- * same classLoader scope.
- * @return the new TypeHelper.
- * @deprecated see {@link org.apache.tuscany.sdo.api.SDOUtil#createHelperContext}
- */
- public static TypeHelper createTypeHelper()
- {
- EPackage.Registry registry = new EPackageRegistryImpl(EPackage.Registry.INSTANCE);
- ExtendedMetaData extendedMetaData = new SDOExtendedMetaDataImpl(registry); //TODO create subclass that makes demand() methods synchronous
- //return new TypeHelperImpl(extendedMetaData);
- return (new HelperContextImpl(extendedMetaData, false)).getTypeHelper();
- }
-
- /**
- * Create a new DataFactory, with visibility to types in the specified TypeHelper scope.
- * @param scope the TypeHelper to use for locating types.
- * @return the new DataFactory.
- * @deprecated see {@link org.apache.tuscany.sdo.api.SDOUtil#createHelperContext}
- */
- public static DataFactory createDataFactory(TypeHelper scope)
- {
- return ((TypeHelperImpl)scope).getHelperContext().getDataFactory();
- }
-
- /**
- * Create a new XMLHelper, with visibility to types in the specified TypeHelper scope.
- * @param scope the TypeHelper to use for locating types.
- * @return the new XMLHelper.
- * @deprecated see {@link org.apache.tuscany.sdo.api.SDOUtil#createHelperContext}
- */
- public static XMLHelper createXMLHelper(TypeHelper scope)
- {
- return ((TypeHelperImpl)scope).getHelperContext().getXMLHelper();
- }
-
- /**
- * Create a new XSDHelper, with visibility to types in the specified TypeHelper scope.
- * @param scope the TypeHelper to use for locating and populating types.
- * @return the new XSDHelper.
- * @deprecated see {@link org.apache.tuscany.sdo.api.SDOUtil#createHelperContext}
- */
- public static XSDHelper createXSDHelper(TypeHelper scope)
- {
- return ((TypeHelperImpl)scope).getHelperContext().getXSDHelper();
- }
-
- /**
- * @deprecated see {@link org.apache.tuscany.sdo.api.SDOUtil#addTypeInstanceProperty(Type, Property, Object}
- */
- public static void addTypeInstanceProperties(Type definedType, DataObject modeledType)
- {
- List instanceProperties = getOpenContentProperties(modeledType);
- for (Iterator iter = instanceProperties.iterator(); iter.hasNext(); )
- {
- Property property = (Property)iter.next();
- org.apache.tuscany.sdo.api.SDOUtil.addTypeInstanceProperty(definedType, property, modeledType.get(property));
- }
- }
-
- /**
- * @deprecated see {@link org.apache.tuscany.sdo.api.SDOUtil#addPropertyInstanceProperty(Property, Property, Object}
- */
- public static void addPropertyInstanceProperties(Property definedProperty, DataObject modeledProperty)
- {
- List instanceProperties = getOpenContentProperties(modeledProperty);
- for (Iterator iter = instanceProperties.iterator(); iter.hasNext(); )
- {
- Property property = (Property)iter.next();
- org.apache.tuscany.sdo.api.SDOUtil.addPropertyInstanceProperty(definedProperty, property, modeledProperty.get(property));
- }
- }
-
- /**
- * Register and initialize the SDO types supported by the specified generated factory class.
- * This function must be called before instances of the generated types can be created/used.
- * The registered types will be visible in all TypeHelper's created in the same classLoader
- * scope as the call to this function.
- * @param factoryClass the generated factory class.
- * @deprecated see the register(HelperContext) metods on generated Factory classes
- */
- public static void registerStaticTypes(Class factoryClass)
- {
- //TODO this implementation is temporary, until the SDO generated factory pattern is decided
- //TODO might want to clean this implementation in the light of the requirement to regenerate all classes
- //after noEMF became the default, so we have no compatibility requirements (unless we
- //cater for the simple hand edit that would make M2 generated classes work) -- as this is
- //deprecated I'm going to do nothing for now
- //
- String temp = factoryClass.getName().replaceFirst("Factory$", "PackageImpl");
- int lastDot = temp.lastIndexOf('.');
- String packageName = temp.substring(0, lastDot) + ".impl" + temp.substring(lastDot);
-
- try // this case handles the old style EMF pattern
- {
- Class javaClass = getPackageClass(factoryClass, packageName);
- Field field = javaClass.getField("eINSTANCE");
- EPackageImpl pkg = (EPackageImpl)field.get(null);
- EPackage.Registry.INSTANCE.put(pkg.getNsURI(), pkg);
- }
- catch (Exception e1)
- {
- packageName = factoryClass.getName().replaceFirst("Factory$", "Package");
- try // this case handles the EMF -noInterfaces generator pattern
- {
- Class javaClass = getPackageClass(factoryClass, packageName);
- Field field = javaClass.getField("eINSTANCE");
- EPackageImpl pkg = (EPackageImpl)field.get(null);
- EPackage.Registry.INSTANCE.put(pkg.getNsURI(), pkg);
- }
- catch (Exception e2)
- {
- try // this case handles the default (was -noEMF) generator pattern
- {
- Field field = factoryClass.getField("INSTANCE");
- EPackageImpl pkg = (EPackageImpl)field.get(null);
- EPackage.Registry.INSTANCE.put(pkg.getNsURI(), pkg);
- // TODO -- decide if we should block global initialization of Factories with the new register method.
- }
- catch (Exception e3)
- {
- e3.printStackTrace();
- }
- }
- }
- }
-
- /**
- * @deprecated
- */
- private static Class getPackageClass(Class factoryClass, String packageName) throws Exception
- {
- final Class factoryClassTemp = factoryClass;
- final String packageNameTemp = packageName;
- return (Class)AccessController.doPrivileged(new PrivilegedExceptionAction() {
- public Object run() throws Exception {
- return factoryClassTemp.getClassLoader().loadClass(packageNameTemp);
- }
- });
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataTypeWrapper(Type, Object)}.
- * @deprecated
- */
- public static DataObject createDataTypeWrapper(Type dataType, Object value)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createDataTypeWrapper(dataType, value);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createFromString(Type, String)}.
- * @deprecated
- */
- public static Object createFromString(Type dataType, String literal)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createFromString(dataType, literal);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#convertToString(Type, Object)}.
- * @deprecated
- */
- public static String convertToString(Type dataType, Object value)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.convertToString(dataType, value);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getXSDSDOType(String)}.
- * @deprecated
- */
- public static Type getXSDSDOType(String xsdType)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.getXSDSDOType(xsdType);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getSubstitutionValues(DataObject, Property)}.
- * @deprecated
- */
- public static Sequence getSubstitutionValues(DataObject dataObject, Property head)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.getSubstitutionValues(dataObject, head);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getJavaSDOType(Class)}.
- * @deprecated
- */
- public static Type getJavaSDOType(Class javaClass)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.getJavaSDOType(javaClass);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isRequired(Property)}.
- * @deprecated
- */
- public static boolean isRequired(Property property)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.isRequired(property);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getUpperBound(Property)}.
- * @deprecated
- */
- public static int getUpperBound(Property property)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.getUpperBound(property);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isMany(Property, DataObject)}.
- * @deprecated
- */
- public static boolean isMany(Property property, DataObject context)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.isMany(property, context);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataGraph}.
- * @deprecated
- */
- public static DataGraph createDataGraph()
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createDataGraph();
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#setRootObject(DataGraph, DataObject)}.
- * @deprecated
- */
- public static void setRootObject(DataGraph dataGraph, DataObject rootObject)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setRootObject(dataGraph, rootObject);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, TypeHelper)}.
- * @deprecated
- */
- public static DataGraph loadDataGraph(InputStream inputStream, Map options) throws IOException
- {
- return org.apache.tuscany.sdo.api.SDOUtil.loadDataGraph(inputStream, options, (HelperContext)null);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, TypeHelper)}.
- * @deprecated
- */
- public static DataGraph loadDataGraph(InputStream inputStream, Map options, TypeHelper scope) throws IOException
- {
- return org.apache.tuscany.sdo.api.SDOUtil.loadDataGraph(inputStream, options, ((TypeHelperImpl)scope).getHelperContext());
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#saveDataGraph(DataGraph, OutputStream, Map)}.
- * @deprecated
- */
- public static void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException
- {
- org.apache.tuscany.sdo.api.SDOUtil.saveDataGraph(dataGraph, outputStream, options);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#registerDataGraphTypes(DataGraph, List)}.
- * @deprecated
- */
- public static void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/ types)
- {
- org.apache.tuscany.sdo.api.SDOUtil.registerDataGraphTypes(dataGraph, types);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext(boolean)}.
- * @deprecated
- */
- public static HelperContext createHelperContext(boolean extensibleNamespaces)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createHelperContext(extensibleNamespaces);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}.
- * @deprecated
- */
- public static HelperContext createHelperContext()
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createHelperContext();
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(TypeHelper)}.
- * @deprecated
- */
- public static CopyHelper createCrossScopeCopyHelper(TypeHelper targetScope)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createCrossScopeCopyHelper(((TypeHelperImpl)targetScope).getHelperContext());
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(TypeHelper)}.
- * @deprecated
- */
- public static XMLStreamHelper createXMLStreamHelper(TypeHelper scope)
- {
- return (XMLStreamHelper)org.apache.tuscany.sdo.api.SDOUtil.createXMLStreamHelper(((TypeHelperImpl)scope).getHelperContext());
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectInputStream(InputStream, HelperContext)}.
- * @deprecated
- */
- public static ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createObjectInputStream(inputStream, helperContext);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectOutputStream(OutputStream, HelperContext)}.
- * @deprecated
- */
- public static ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createObjectOutputStream(outputStream, helperContext);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getTypes(TypeHelper, String)}.
- * @deprecated
- */
- public static List getTypes(TypeHelper scope, String uri) {
-
- return org.apache.tuscany.sdo.api.SDOUtil.getTypes(((TypeHelperImpl)scope).getHelperContext(), uri);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getOpenContentProperties(DataObject)}.
- * @deprecated
- */
- public static List getOpenContentProperties(DataObject dataObject)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.getOpenContentProperties(dataObject);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isDocumentRoot(Type)}.
- * @deprecated
- */
- public static boolean isDocumentRoot(Type type)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.isDocumentRoot(type);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createType(TypeHelper, String, String, boolean)}.
- * @deprecated
- */
- public static Type createType(TypeHelper scope, String uri, String name, boolean isDataType)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createType(((TypeHelperImpl)scope).getHelperContext(), uri, name, isDataType);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addBaseType(Type, Type)}.
- * @deprecated
- */
- public static void addBaseType(Type type, Type baseType)
- {
- org.apache.tuscany.sdo.api.SDOUtil.addBaseType(type, baseType);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Type, String)}.
- * @deprecated
- */
- public static void addAliasName(Type type, String aliasName)
- {
- org.apache.tuscany.sdo.api.SDOUtil.addAliasName(type, aliasName);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpen(Type, boolean)}.
- * @deprecated
- */
- public static void setOpen(Type type, boolean isOpen)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setOpen(type, isOpen);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setSequenced(Type, boolean)}.
- * @deprecated
- */
- public static void setSequenced(Type type, boolean isSequenced)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setSequenced(type, isSequenced);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setAbstract(Type, boolean)}.
- * @deprecated
- */
- public static void setAbstract(Type type, boolean isAbstract)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setAbstract(type, isAbstract);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setJavaClassName(Type, String)}.
- * @deprecated
- */
- public static void setJavaClassName(Type type, String javaClassName)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setJavaClassName(type, javaClassName);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createProperty(Type, String, Type)}.
- * @deprecated
- */
- public static Property createProperty(Type containingType, String name, Type propertyType)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createProperty(containingType, name, propertyType);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createGlobalProperty(TypeHelper, String, String, Type)}.
- * @deprecated
- */
- public static Property createGlobalProperty(TypeHelper scope, String uri, String name, Type type)
- {
- return org.apache.tuscany.sdo.api.SDOUtil.createOpenContentProperty(((TypeHelperImpl)scope).getHelperContext(), uri, name, type);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Property, String)}.
- * @deprecated
- */
- public static void addAliasName(Property property, String aliasName)
- {
- org.apache.tuscany.sdo.api.SDOUtil.addAliasName(property, aliasName);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setMany(Property, boolean)}.
- * @deprecated
- */
- public static void setMany(Property property, boolean isMany)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setMany(property, isMany);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setContainment(Property, boolean)}.
- * @deprecated
- */
- public static void setContainment(Property property, boolean isContainment)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setContainment(property, isContainment);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setDefault(Property, String)}.
- * @deprecated
- */
- public static void setDefault(Property property, String defaultValue)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setDefault(property, defaultValue);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setReadOnly(Property, boolean)}.
- * @deprecated
- */
- public static void setReadOnly(Property property, boolean isReadOnly)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setReadOnly(property, isReadOnly);
- }
-
- /**
- * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpposite(Property, Property)}.
- * @deprecated
- */
- public static void setOpposite(Property property, Property opposite)
- {
- org.apache.tuscany.sdo.api.SDOUtil.setOpposite(property, opposite);
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java
deleted file mode 100644
index de91421140..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.Location;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Adapter that converts from StAX to SAX event streams. Currently the following SAX events are not generated:
- * <ul>
- * <li>ignorableWhitespace</li>
- * <li>skippedEntity</li>
- * <ul>
- * Also the following StAX events are not mapped:
- * <ul>
- * <li>CDATA</li>
- * <li>COMMENT</li>
- * <li>DTD</li>
- * <li>ENTITY_DECLARATION</li>
- * <li>ENTITY_REFERENCE</li>
- * <li>NOTATION_DECLARATION</li>
- * <li>SPACE</li>
- * </ul>
- * StAX ATTRIBUTE events are ignored but the equivalent attributes (derived from the START_ELEMENT event) are supplied in the SAX startElement event's
- * Attributes parameter. If the adaptor is configured to pass namespace prefixes then namespace information will also be included in the Attributes;
- * StAX NAMESPACE events are ignored.
- * <p/>
- * Another issue is namespace processing. If the reader is positioned at a sub-node, we cannot capture all the in-scope namespace bindings. Therefore
- * we cannot re-create a proper SAX event stream from a StAX parser.
- * <p/>
- * For example
- * <p/>
- * &lt;a:root xmlns:a="foo" xmlns:b="bar"&gt;&lt;b:sub&gt;a:foo&lt;/b:sub&gt;&lt;/a:root&gt;
- * <p/>
- * And if you are handed a parser at &lt;b:sub&gt;, then your SAX events should look like:
- * <p/>
- * &lt;b:sub xmlns:a="foo" xmlns:b="bar"&gt;a:foo&lt;/b:sub&gt;
- * <p/>
- * not:
- * <p/>
- * &lt;b:sub&gt;a:foo&lt;/b:sub&gt;
- * <p/>
- * <p/>
- * Proposal: we change the receiver of SAX events (SDOXMLResourceImpl) so that it uses NamespaceContext to resolve prefix (as opposed to record
- * start/endPrefixMappings and use it for resolution.)
- *
- * @version $Rev$ $Date$
- */
-public class StAX2SAXAdapter {
- private final boolean namespacePrefixes;
-
- /**
- * Construct a new StAX to SAX adapter that will convert a StAX event stream into a SAX event stream.
- *
- * @param namespacePrefixes whether xmlns attributes should be included in startElement events;
- */
- public StAX2SAXAdapter(boolean namespacePrefixes) {
- this.namespacePrefixes = namespacePrefixes;
- }
-
- /**
- * Pull events from the StAX stream and dispatch to the SAX ContentHandler. The StAX stream would typically be located on a START_DOCUMENT or
- * START_ELEMENT event and when this method returns it will be located on the associated END_DOCUMENT or END_ELEMENT event. Behaviour with other
- * start events is undefined.
- *
- * @param reader StAX event source to read
- * @param handler SAX ContentHandler for processing events
- * @throws XMLStreamException if there was a problem reading the stream
- * @throws SAXException passed through from the ContentHandler
- */
- public void parse(XMLStreamReader reader, ContentHandler handler) throws XMLStreamException, SAXException {
- handler.setDocumentLocator(new LocatorAdaptor(reader.getLocation()));
-
- // remembers the nest level of elements to know when we are done
- int level = 0;
- int event = reader.getEventType();
- while (true) {
- switch (event) {
- case XMLStreamConstants.START_DOCUMENT:
- level++;
- handler.startDocument();
- break;
- case XMLStreamConstants.START_ELEMENT:
- level++;
- handleStartElement(reader, handler);
- break;
- case XMLStreamConstants.PROCESSING_INSTRUCTION:
- handler.processingInstruction(reader.getPITarget(), reader.getPIData());
- break;
- case XMLStreamConstants.CHARACTERS:
- handler.characters(reader.getTextCharacters(), reader.getTextStart(), reader.getTextLength());
- break;
- case XMLStreamConstants.END_ELEMENT:
- handleEndElement(reader, handler);
- level--;
- if (level == 1) {
- return;
- }
- break;
- case XMLStreamConstants.END_DOCUMENT:
- handler.endDocument();
- return;
- /*
- * uncomment to handle all events rather than just mapped ones // StAX events that are not mapped to SAX case XMLStreamConstants.COMMENT:
- * case XMLStreamConstants.SPACE: case XMLStreamConstants.ENTITY_REFERENCE: case XMLStreamConstants.DTD: case XMLStreamConstants.CDATA:
- * case XMLStreamConstants.NOTATION_DECLARATION: case XMLStreamConstants.ENTITY_DECLARATION: break; // StAX events handled in
- * START_ELEMENT case XMLStreamConstants.ATTRIBUTE: case XMLStreamConstants.NAMESPACE: break; default: throw new AssertionError("Unknown
- * StAX event: " + event);
- */
- }
- event = reader.next();
- }
- }
-
- private void handleStartElement(XMLStreamReader reader, ContentHandler handler) throws SAXException {
- // send startPrefixMapping events immediately before startElement event
- int nsCount = reader.getNamespaceCount();
- for (int i = 0; i < nsCount; i++) {
- String prefix = reader.getNamespacePrefix(i);
- if (prefix == null) { // true for default namespace
- prefix = "";
- }
- handler.startPrefixMapping(prefix, reader.getNamespaceURI(i));
- }
-
- // fire startElement
- QName qname = reader.getName();
- String prefix = qname.getPrefix();
- String rawname;
- if (prefix == null || prefix.length() == 0) {
- rawname = qname.getLocalPart();
- } else {
- rawname = prefix + ':' + qname.getLocalPart();
- }
- Attributes attrs = getAttributes(reader);
- handler.startElement(qname.getNamespaceURI(), qname.getLocalPart(), rawname, attrs);
- }
-
- private static void handleEndElement(XMLStreamReader reader, ContentHandler handler) throws SAXException {
- // fire endElement
- QName qname = reader.getName();
- handler.endElement(qname.getNamespaceURI(), qname.getLocalPart(), qname.toString());
-
- // send endPrefixMapping events immediately after endElement event
- // we send them in the opposite order to that returned but this is not actually required by SAX
- int nsCount = reader.getNamespaceCount();
- for (int i = nsCount - 1; i >= 0; i--) {
- String prefix = reader.getNamespacePrefix(i);
- if (prefix == null) { // true for default namespace
- prefix = "";
- }
- handler.endPrefixMapping(prefix);
- }
- }
-
- /**
- * Get the attributes associated with the current START_ELEMENT event.
- *
- * @return the StAX attributes converted to org.xml.sax.Attributes
- */
- private Attributes getAttributes(XMLStreamReader reader) {
- // assert reader.getEventType() == XMLStreamConstants.START_ELEMENT;
-
- AttributesImpl attrs = new AttributesImpl();
-
- // add namespace declarations if required
- if (namespacePrefixes) {
- for (int i = 0; i < reader.getNamespaceCount(); i++) {
- String prefix = reader.getNamespacePrefix(i);
- String uri = reader.getNamespaceURI(i);
- attrs.addAttribute(null, prefix, "xmlns:" + prefix, "CDATA", uri);
- }
- }
-
- // Regular attributes
- for (int i = 0; i < reader.getAttributeCount(); i++) {
- String uri = reader.getAttributeNamespace(i);
- if (uri == null) {
- uri = "";
- }
- String localName = reader.getAttributeLocalName(i);
- String prefix = reader.getAttributePrefix(i);
- String qname;
- if (prefix == null || prefix.length() == 0) {
- qname = localName;
- } else {
- qname = prefix + ':' + localName;
- }
- String type = reader.getAttributeType(i);
- String value = reader.getAttributeValue(i);
-
- attrs.addAttribute(uri, localName, qname, type, value);
- }
-
- return attrs;
- }
-
- /**
- * Adaptor for mapping Locator information.
- */
- private static class LocatorAdaptor implements Locator {
- private final Location location;
-
- private LocatorAdaptor(Location location) {
- this.location = location;
- }
-
- public int getColumnNumber() {
- return location == null ? 0 : location.getColumnNumber();
- }
-
- public int getLineNumber() {
- return location == null ? 0 : location.getLineNumber();
- }
-
- public String getPublicId() {
- return location == null ? "" : location.getPublicId();
- }
-
- public String getSystemId() {
- return location == null ? "" : location.getSystemId();
- }
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StreamDeserializer.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StreamDeserializer.java
deleted file mode 100644
index 9e1492c9fd..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StreamDeserializer.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util;
-
-import java.util.Comparator;
-
-import javax.xml.XMLConstants;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.util.resource.RecordedEventXMLStreamReader;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xml.type.internal.QName;
-
-/**
- * StAX Deserializer. The instance isn't thread-safe, however it's safe to use the instance any times on the same thread.
- */
-public class StreamDeserializer implements XMLStreamConstants {
- protected XMLStreamReader reader;
-
- protected final XMLStreamReader play(RecordedEventXMLStreamReader.Tag tag) {
- return tag.play(reader);
- }
-
- protected String nameSpace, name;
-
- protected final boolean typedXSI() {
- name = reader.getAttributeValue(ExtendedMetaData.XSI_URI, XMLResource.TYPE);
- if (name == null)
- return false;
- int index = name.indexOf(':');
- if (index == -1)
- nameSpace = reader.getNamespaceURI(XMLConstants.DEFAULT_NS_PREFIX); // may be XMLConstants.NULL_NS_URI
- else {
- nameSpace = reader.getNamespaceURI(name.substring(0, index));
- name = name.substring(++index);
- }
- return true;
- }
-
- static protected Object value(Object type, String literal, NamespaceContext nameSpaces) {
- Object value = EcoreUtil.createFromString((EDataType) type, literal);
- if (!(value instanceof QName))
- return value;
- QName qName = (QName) value;
- qName.setNamespaceURI(nameSpaces.getNamespaceURI(qName.getPrefix()));
- return value;
- }
-
- static public class Attribute {
- public String name, value;
- }
-
- static public final class QualifiedAttribute extends Attribute {
- public String nameSpace;
- }
-
- static protected final Comparator EQUAL_NULL = new Comparator() {
- public int compare(Object v, Object NULL) {
- return v == null || v.equals(null) ? 0 : 1;
- }
- }, EQUAL = new Comparator() {
- public int compare(Object v, Object value) {
- return value.equals(v) ? 0 : -1;
- }
- }, SAME = new Comparator() {
- public int compare(Object v, Object value) {
- return value == v ? 0 : -1;
- }
- };
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/VirtualSequence.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/VirtualSequence.java
deleted file mode 100644
index a5982ceb35..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/VirtualSequence.java
+++ /dev/null
@@ -1,780 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.ClassImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-
-/**
- * SDO Sequance implementation which delegates to a Collection of DataObject properties.
- */
-public class VirtualSequence implements Sequence
-{
- private final DataObject dataObject;
- protected final List delegateProperties; // size > 1
-
- public VirtualSequence(DataObject object)
- {
- dataObject = object;
- delegateProperties = ((ClassImpl)dataObject.getType()).getVirtualSequenceProperties();
- }
-
- static protected boolean isSequenceProperty(Object property)
- {
- return FeatureMapUtil.isFeatureMap((EStructuralFeature)property);
- }
-
- public int size()
- {
- int size = 0;
- for (Iterator iterator = delegateProperties.iterator() ; iterator.hasNext() ;)
- {
- Property property = (Property)iterator.next();
- if (dataObject.isSet(property))
- if (isSequenceProperty(property))
- size += ((Sequence)dataObject.get(property)).size();
- else if (property.isMany())
- size += dataObject.getList(property).size();
- else
- ++size;
- }
- return size;
- }
-
- public Property getProperty(int index)
- {
- for (Iterator iterator = delegateProperties.iterator() ; iterator.hasNext() ;)
- {
- Property property = (Property)iterator.next();
- if (dataObject.isSet(property))
- if (isSequenceProperty(property))
- {
- Sequence sequence = (Sequence)dataObject.get(property);
- int size = sequence.size();
- if (index < size)
- return sequence.getProperty(index);
- index -= size;
- }
- else if (property.isMany())
- {
- int size = dataObject.getList(property).size();
- if (index < size)
- return property;
- index -= size;
- }
- else if (index == 0)
- return property;
- else
- --index;
- }
- throw new IndexOutOfBoundsException();
- }
-
- public Object getValue(int index)
- {
- for (Iterator iterator = delegateProperties.iterator() ; iterator.hasNext() ;)
- {
- Property property = (Property)iterator.next();
- if (dataObject.isSet(property))
- if (isSequenceProperty(property))
- {
- Sequence sequence = (Sequence)dataObject.get(property);
- int size = sequence.size();
- if (index < size)
- return sequence.getValue(index);
- index -= size;
- }
- else if (property.isMany())
- {
- List values = dataObject.getList(property);
- int size = values.size();
- if (index < size)
- return values.get(index);
- index -= size;
- }
- else if (index == 0)
- return dataObject.get(property);
- else
- --index;
- }
- throw new IndexOutOfBoundsException();
- }
-
- public Object setValue(int index, Object value)
- {
- for (Iterator iterator = delegateProperties.iterator() ; iterator.hasNext() ;)
- {
- Property property = (Property)iterator.next();
- if (dataObject.isSet(property))
- if (isSequenceProperty(property))
- {
- Sequence sequence = (Sequence)dataObject.get(property);
- int size = sequence.size();
- if (index < size)
- return sequence.setValue(index, value);
- index -= size;
- }
- else if (property.isMany())
- {
- List values = dataObject.getList(property);
- int size = values.size();
- if (index < size)
- return values.set(index, value);
- index -= size;
- }
- else if (index == 0)
- {
- Object old = dataObject.get(property);
- dataObject.set(property, value);
- return old;
- }
- else
- --index;
- }
- throw new IndexOutOfBoundsException();
- }
-
- boolean validate(EStructuralFeature feature, Object property)
- {
- return FeatureMapUtil.getValidator((EClass)dataObject.getType(), feature).isValid((EStructuralFeature)property);
- }
-
- boolean append(Property delegateProperty, Property property, Object value)
- {
- return ((Sequence)dataObject.get(delegateProperty)).add(property, value);
- }
-
- boolean append(Property property, Object value)
- {
- return dataObject.getList(property).add(value);
- }
-
- boolean set(Property property, Object value)
- {
- if (property.isMany())
- return append(property, value);
- dataObject.set(property, value);
- return true;
- }
-
- public final boolean add(Property p, Object value)
- {
- Property property;
- int size = delegateProperties.size(), index = size;
- do
- {
- property = (Property)delegateProperties.get(--index);
- if (!dataObject.isSet(property))
- continue;
- EStructuralFeature feature = (EStructuralFeature)property;
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- if (validate(feature, p))
- return append(property, p, value);
- }
- else if (property == p && property.isMany())
- return append(property, value);
- if (size == ++index)
- return false;
- property = (Property)delegateProperties.get(index);
- break;
- }
- while (index != 0);
- for (;;)
- {
- EStructuralFeature feature = (EStructuralFeature)property;
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- if (validate(feature, p))
- return append(property, p, value);
- }
- else if (property == p)
- return set(p, value);
- if (size == ++index)
- return false;
- property = (Property)delegateProperties.get(index);
- }
- }
-
- protected final Property property(String name)
- {
- return dataObject.getType().getProperty(name);
- }
-
- public boolean add(String propertyName, Object value)
- {
- return add(property(propertyName), value);
- }
-
- protected final Property property(int index)
- {
- return (Property)dataObject.getType().getProperties().get(index);
- }
-
- public boolean add(int propertyIndex, Object value)
- {
- return add(property(propertyIndex), value);
- }
-
- void insert(Property property, Property p, Object value)
- {
- ((Sequence)dataObject.get(property)).add(0, p, value);
- }
-
- void insert(Property property, Object value)
- {
- dataObject.getList(property).add(0, value);
- }
-
- protected final int insert(Iterator iterator, Property p, Object value)
- {
- while (iterator.hasNext())
- {
- Property property = (Property)iterator.next();
- EStructuralFeature feature = (EStructuralFeature)property;
- if (dataObject.isSet(property))
- {
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- if (!validate(feature, p))
- return 2;
- insert(property, p, value);
- return 0;
- }
- if (property != p || !property.isMany())
- return 2;
- insert(property, value);
- return 0;
- }
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- if (validate(feature, p))
- {
- append(property, p, value);
- return 0;
- }
- }
- else if (property == p)
- {
- set(property, value);
- return 0;
- }
- } // iterator.hasNext()
- return 1;
- }
-
- public final void add(int index, Property p, Object value)
- {
- Iterator iterator = delegateProperties.iterator();
- if (index == 0)
- switch (insert(iterator, p, value))
- {
- case 0:
- return;
- case 1:
- throw new IndexOutOfBoundsException();
- default: // 2
- throw new IllegalArgumentException();
- }
- while (iterator.hasNext())
- {
- Property property = (Property)iterator.next();
- if (dataObject.isSet(property))
- if (isSequenceProperty(property))
- {
- Sequence sequence = (Sequence)dataObject.get(property);
- int size = sequence.size();
- if (index < size)
- {
- sequence.add(index, p, value);
- return;
- }
- index -= size;
- if (index != 0)
- continue;
- if (insert(iterator, p, value) != 0)
- /*assert */sequence.add(p, value);
- return;
- } // sequence(property)
- else if (property.isMany())
- {
- List values = dataObject.getList(property);
- int size = values.size();
- if (index < size)
- {
- values.add(index, value);
- return;
- }
- index -= size;
- if (index == 0 && property == p)
- {
- values.add(value);
- return;
- }
- }
- else if (index == 0)
- throw new IllegalArgumentException();
- else
- --index;
- }
- throw new IndexOutOfBoundsException();
- }
-
- public void add(int index, String propertyName, Object value)
- {
- add(index, property(propertyName), value);
- }
-
- public void add(int index, int propertyIndex, Object value)
- {
- add(index, property(propertyIndex), value);
- }
-
- public final void addText(String text)
- {
- throw new IllegalArgumentException();
- }
-
- /**
- * @deprecated
- */
- public void add(String text)
- {
- addText(text);
- }
-
- public final void addText(int index, String text)
- {
- throw new IllegalArgumentException();
- }
-
- /**
- * @deprecated
- */
- public void add(int index, String text)
- {
- addText(index, text);
- }
-
- public void remove(int index)
- {
- for (Iterator iterator = delegateProperties.iterator() ; iterator.hasNext() ;)
- {
- Property property = (Property)iterator.next();
- if (dataObject.isSet(property))
- if (isSequenceProperty(property))
- {
- Sequence sequence = (Sequence)dataObject.get(property);
- int size = sequence.size();
- if (index < size)
- {
- sequence.remove(index);
- return;
- }
- index -= size;
- }
- else if (property.isMany())
- {
- List values = dataObject.getList(property);
- int size = values.size();
- if (index < size)
- {
- values.remove(index);
- return;
- }
- index -= size;
- }
- else if (index == 0)
- {
- dataObject.unset(property);
- return;
- }
- else
- --index;
- }
- throw new IndexOutOfBoundsException();
- }
-
- static private Object remove(Sequence sequence, int index)
- {
- Object value = sequence.getValue(index);
- sequence.remove(index);
- return value;
- }
-
- static void move(Sequence fromSequence, int fromIndex, Sequence toSequence, int toIndex, Property property)
- {
- toSequence.add(toIndex, property, remove(fromSequence, fromIndex)); // removes containment
- }
-
- static protected void move(Sequence fromSequence, int fromIndex, Sequence toSequence, int toIndex)
- {
- move(fromSequence, fromIndex, toSequence, toIndex, fromSequence.getProperty(fromIndex));
- }
-
- static protected void add(Object value,List list,int index, int size)
- {
- if (++index == size)
- /*assert */list.add(value);
- else
- list.add(index, value); // removes containment
- }
-
- static protected void add(Property property, Object value, Sequence toSequence, int toIndex, int size)
- {
- if (++toIndex == size)
- toSequence.add(property, value); // removes containment
- else
- toSequence.add(toIndex, property, value); // removes containment
- }
-
- public void move(int toIndex, int fromIndex)
- {
- for (Iterator iterator = delegateProperties.iterator(); iterator.hasNext() ;)
- {
- Property property = (Property)iterator.next();
- if (dataObject.isSet(property))
- if (isSequenceProperty(property))
- {
- Sequence sequence = (Sequence)dataObject.get(property);
- int size = sequence.size();
- if (toIndex < size)
- {
- if (fromIndex < size)
- {
- sequence.move(toIndex, fromIndex);
- return;
- }
- while (iterator.hasNext())
- {
- property = (Property)iterator.next();
- if (!dataObject.isSet(property))
- continue;
- fromIndex -= size;
- if (isSequenceProperty(property))
- {
- Sequence fromSequence = (Sequence)dataObject.get(property);
- size = fromSequence.size();
- if (fromIndex >= size)
- continue;
- move(fromSequence, fromIndex, sequence, toIndex);
- return;
- }
- if (property.isMany())
- {
- List list = dataObject.getList(property);
- size = list.size();
- if (fromIndex >= size)
- continue;
- sequence.add(toIndex, property, list.remove(fromIndex)); // removes containment
- return;
- }
- if (fromIndex == 0)
- {
- sequence.add(toIndex, property, dataObject.get(property)); // removes containment
- dataObject.unset(property);
- return;
- }
- size = 1;
- } // iterator.hasNext()
- break;
- } // toIndex < size
- if (fromIndex < size)
- {
- while (iterator.hasNext())
- {
- property = (Property)iterator.next();
- if (!dataObject.isSet(property))
- continue;
- toIndex -= size;
- if (isSequenceProperty(property))
- {
- Sequence toSequence = (Sequence)dataObject.get(property);
- size = toSequence.size();
- if (toIndex >= size)
- continue;
- if (++toIndex == size)
- toSequence.add(sequence.getProperty(fromIndex), remove(sequence, fromIndex)); // Java pushes stack from left to right
- // removes containment
- else
- move(sequence, fromIndex, toSequence, toIndex);
- return;
- }
- if (property.isMany())
- {
- List list = dataObject.getList(property);
- size = list.size();
- if (toIndex >= size)
- continue;
- if (sequence.getProperty(fromIndex) != property)
- throw new IllegalArgumentException();
- add(remove(sequence, fromIndex), list, toIndex, size);
- return;
- }
- if (toIndex == 0)
- {
- while (iterator.hasNext())
- {
- Property p = sequence.getProperty(fromIndex);
- property = (Property)iterator.next();
- EStructuralFeature feature = (EStructuralFeature)property;
- if (dataObject.isSet(property))
- {
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- /*if (!validate(feature, p))
- throw new IllegalArgumentException(); */
- move(sequence, fromIndex, (Sequence)dataObject.get(property), 0, p);
- return;
- }
- if (property != p || !property.isMany())
- throw new IllegalArgumentException();
- insert(property, remove(sequence, fromIndex)); // removes containment
- return;
- }
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- if (validate(feature, p))
- {
- append(property, p, remove(sequence, fromIndex)); // removes containment
- return;
- }
- }
- else if (property == p)
- {
- set(property, remove(sequence, fromIndex));
- return;
- }
- } // iterator.hasNext()
- break;
- }
- size = 1;
- } // iterator.hasNext()
- break;
- } // fromIndex < size
- toIndex -= size;
- fromIndex -= size;
- } // sequence(property)
- else if (property.isMany())
- {
- List list = dataObject.getList(property);
- int size = list.size();
- if (toIndex < size)
- {
- if (fromIndex < size)
- {
- ((EList)list).move(toIndex, fromIndex);
- return;
- }
- while (iterator.hasNext())
- {
- Property p = (Property)iterator.next();
- if (!dataObject.isSet(p))
- continue;
- fromIndex -= size;
- if (isSequenceProperty(p))
- {
- Sequence fromSequence = (Sequence)dataObject.get(p);
- size = fromSequence.size();
- if (fromIndex >= size)
- continue;
- if (fromSequence.getProperty(fromIndex) != property)
- throw new IllegalArgumentException();
- list.add(toIndex, remove(fromSequence, fromIndex)); // removes containment
- return;
- }
- if (p.isMany())
- {
- List l = dataObject.getList(p);
- size = l.size();
- if (fromIndex >= size)
- continue;
- /*if (p != property)
- throw new IllegalArgumentException(); */
- list.add(toIndex, l.remove(fromIndex)); // removes containment
- return;
- }
- if (fromIndex == 0)
- {
- /*if (p != property)
- throw new IllegalArgumentException(); */
- list.add(toIndex, dataObject.get(p)); // removes containment
- dataObject.unset(p);
- return;
- }
- size = 1;
- } // iterator.hasNext()
- break;
- } // toIndex < size
- if (fromIndex < size)
- {
- while (iterator.hasNext())
- {
- Property p = (Property)iterator.next();
- if (!dataObject.isSet(p))
- continue;
- toIndex -= size;
- if (isSequenceProperty(p))
- {
- Sequence toSequence = (Sequence)dataObject.get(p);
- size = toSequence.size();
- if (toIndex >= size)
- continue;
- add(property, list.remove(fromIndex), toSequence, toIndex, size);
- return;
- }
- if (p.isMany())
- {
- List l = dataObject.getList(p);
- size = l.size();
- if (toIndex >= size)
- continue;
- /*if (property != p)
- throw new IllegalArgumentException(); */
- add(list.remove(fromIndex), l, toIndex, size);
- return;
- }
- if (toIndex == 0)
- {
- while (iterator.hasNext())
- {
- p = (Property)iterator.next();
- EStructuralFeature feature = (EStructuralFeature)p;
- if (dataObject.isSet(p))
- {
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- /*if (!validate(feature, property))
- throw new IllegalArgumentException(); */
- insert(p, property, list.remove(fromIndex));
- return;
- }
- if (/*p != property || */!p.isMany())
- throw new IllegalArgumentException();
- insert(p, list.remove(fromIndex)); // removes containment
- return;
- }
- if (FeatureMapUtil.isFeatureMap(feature))
- {
- if (!validate(feature, property))
- continue;
- append(p, property, list.remove(fromIndex)); // removes containment
- return;
- }
- else if (p == property)
- {
- set(p, list.remove(fromIndex));
- return;
- }
- } // iterator.hasNext()
- break;
- } // toIndex == 0
- size = 1;
- } // iterator.hasNext()
- break;
- } // fromIndex < size
- toIndex -= size;
- fromIndex -= size;
- } // property.isMany()
- else if (toIndex == 0)
- throw new IllegalArgumentException();
- else if (fromIndex == 0)
- {
- for (int size = 1; iterator.hasNext() ;)
- {
- Property p = (Property)iterator.next();
- if (!dataObject.isSet(p))
- continue;
- toIndex -= size;
- if (isSequenceProperty(p))
- {
- Sequence toSequence = (Sequence)dataObject.get(p);
- size = toSequence.size();
- if (toIndex >= size)
- continue;
- add(property, dataObject.get(property), toSequence, toIndex, size);
- dataObject.unset(property);
- return;
- }
- if (p.isMany())
- {
- List l = dataObject.getList(p);
- size = l.size();
- if (toIndex >= size)
- continue;
- /*if (property != p)
- throw new IllegalArgumentException(); */
- add(dataObject.get(property), l, toIndex, size);
- dataObject.unset(property);
- return;
- }
- if (toIndex == 0)
- {
- while (iterator.hasNext())
- {
- p = (Property)iterator.next();
- EStructuralFeature feature = (EStructuralFeature)p;
- if (dataObject.isSet(p))
- if (FeatureMapUtil.isFeatureMap(feature))
- /*if (!validate(feature, property))
- throw new IllegalArgumentException(); */
- insert(p, property, dataObject.get(property));
- else if (/*p == property && */p.isMany())
- insert(p, dataObject.get(property)); // removes containment
- else
- throw new IllegalArgumentException();
- else if (FeatureMapUtil.isFeatureMap(feature))
- {
- if (!validate(feature, property))
- continue;
- append(p, property, dataObject.get(property)); // removes containment
- }
- else if (p == property)
- set(p, dataObject.get(property));
- else
- continue;
- dataObject.unset(property);
- return;
- } // iterator.hasNext()
- break;
- } // toIndex == 0
- size = 1;
- } // iterator.hasNext()
- break;
- } // fromIndex == 0
- else
- {
- --toIndex;
- --fromIndex;
- }
- }
- throw new IndexOutOfBoundsException();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/JavaMetaData.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/JavaMetaData.java
deleted file mode 100644
index f24b166f77..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/JavaMetaData.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Java Meta Data</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.JavaMetaData#getFactoryInterface <em>Factory Interface</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.JavaMetaData#getTypeInterface <em>Type Interface</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface JavaMetaData extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Factory Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Factory Interface</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Factory Interface</em>' attribute.
- * @see #setFactoryInterface(String)
- * @generated
- */
- String getFactoryInterface();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.util.metadata.JavaMetaData#getFactoryInterface <em>Factory Interface</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Factory Interface</em>' attribute.
- * @see #getFactoryInterface()
- * @generated
- */
- void setFactoryInterface(String value);
-
- /**
- * Returns the value of the '<em><b>Type Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Type Interface</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Type Interface</em>' attribute.
- * @see #setTypeInterface(String)
- * @generated
- */
- String getTypeInterface();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.util.metadata.JavaMetaData#getTypeInterface <em>Type Interface</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type Interface</em>' attribute.
- * @see #getTypeInterface()
- * @generated
- */
- void setTypeInterface(String value);
-
-} // JavaMetaData
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/MetadataFactory.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/MetadataFactory.java
deleted file mode 100644
index 1f540afa2c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/MetadataFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface MetadataFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- MetadataFactory INSTANCE = org.apache.tuscany.sdo.util.metadata.impl.MetadataFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Java Meta Data</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Java Meta Data</em>'.
- * @generated
- */
- JavaMetaData createJavaMetaData();
-
- /**
- * Returns a new object of class '<em>SDO Meta Data Group</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>SDO Meta Data Group</em>'.
- * @generated
- */
- SDOMetaDataGroup createSDOMetaDataGroup();
-
- /**
- * Returns a new object of class '<em>Type Meta Data</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Type Meta Data</em>'.
- * @generated
- */
- TypeMetaData createTypeMetaData();
-
- /**
- * Returns a new object of class '<em>XSD Meta Data</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>XSD Meta Data</em>'.
- * @generated
- */
- XSDMetaData createXSDMetaData();
-
-} //MetadataFactory
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/SDOMetaDataGroup.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/SDOMetaDataGroup.java
deleted file mode 100644
index 5657f26ca5..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/SDOMetaDataGroup.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata;
-
-import java.io.Serializable;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>SDO Meta Data Group</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.SDOMetaDataGroup#getJavaMetaData <em>Java Meta Data</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.SDOMetaDataGroup#getXsdMetaData <em>Xsd Meta Data</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.SDOMetaDataGroup#getTypeMetaData <em>Type Meta Data</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface SDOMetaDataGroup extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Java Meta Data</b></em>' containment reference list.
- * The list contents are of type {@link org.apache.tuscany.sdo.util.metadata.JavaMetaData}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Java Meta Data</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Java Meta Data</em>' containment reference list.
- * @generated
- */
- List getJavaMetaData();
-
- /**
- * Returns the value of the '<em><b>Xsd Meta Data</b></em>' containment reference list.
- * The list contents are of type {@link org.apache.tuscany.sdo.util.metadata.XSDMetaData}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Xsd Meta Data</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Xsd Meta Data</em>' containment reference list.
- * @generated
- */
- List getXsdMetaData();
-
- /**
- * Returns the value of the '<em><b>Type Meta Data</b></em>' containment reference list.
- * The list contents are of type {@link org.apache.tuscany.sdo.util.metadata.TypeMetaData}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Type Meta Data</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Type Meta Data</em>' containment reference list.
- * @generated
- */
- List getTypeMetaData();
-
-} // SDOMetaDataGroup
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/TypeMetaData.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/TypeMetaData.java
deleted file mode 100644
index c3d67a8318..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/TypeMetaData.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Type Meta Data</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.TypeMetaData#getLocation <em>Location</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface TypeMetaData extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Location</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Location</em>' attribute.
- * @see #setLocation(String)
- * @generated
- */
- String getLocation();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.util.metadata.TypeMetaData#getLocation <em>Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Location</em>' attribute.
- * @see #getLocation()
- * @generated
- */
- void setLocation(String value);
-
-} // TypeMetaData
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/XSDMetaData.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/XSDMetaData.java
deleted file mode 100644
index 09bffece71..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/XSDMetaData.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.util.metadata;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>XSD Meta Data</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.XSDMetaData#getLocation <em>Location</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface XSDMetaData extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Location</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Location</em>' attribute.
- * @see #setLocation(String)
- * @generated
- */
- String getLocation();
-
- /**
- * Sets the value of the '{@link org.apache.tuscany.sdo.util.metadata.XSDMetaData#getLocation <em>Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Location</em>' attribute.
- * @see #getLocation()
- * @generated
- */
- void setLocation(String value);
-
-} // XSDMetaData
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/JavaMetaDataImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/JavaMetaDataImpl.java
deleted file mode 100644
index 8a6dce6161..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/JavaMetaDataImpl.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata.impl;
-
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.util.metadata.JavaMetaData;
-import org.apache.tuscany.sdo.util.metadata.MetadataFactory;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Java Meta Data</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.impl.JavaMetaDataImpl#getFactoryInterface <em>Factory Interface</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.impl.JavaMetaDataImpl#getTypeInterface <em>Type Interface</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JavaMetaDataImpl extends DataObjectBase implements JavaMetaData
-{
- /**
- * The feature id for the '<em><b>Factory Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int FACTORY_INTERFACE = 0;
-
- /**
- * The feature id for the '<em><b>Type Interface</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int TYPE_INTERFACE = 1;
-
- /**
- * This represents the number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
-
- public final static int SDO_PROPERTY_COUNT = 2;
-
- /**
- * The default value of the '{@link #getFactoryInterface() <em>Factory Interface</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFactoryInterface()
- * @generated
- * @ordered
- */
- protected static final String FACTORY_INTERFACE_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getFactoryInterface() <em>Factory Interface</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFactoryInterface()
- * @generated
- * @ordered
- */
- protected String factoryInterface = FACTORY_INTERFACE_DEFAULT_;
-
- /**
- * The default value of the '{@link #getTypeInterface() <em>Type Interface</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypeInterface()
- * @generated
- * @ordered
- */
- protected static final String TYPE_INTERFACE_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getTypeInterface() <em>Type Interface</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypeInterface()
- * @generated
- * @ordered
- */
- protected String typeInterface = TYPE_INTERFACE_DEFAULT_;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected JavaMetaDataImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((MetadataFactoryImpl)MetadataFactory.INSTANCE).getJavaMetaData();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getFactoryInterface()
- {
- return factoryInterface;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFactoryInterface(String newFactoryInterface)
- {
- String oldFactoryInterface = factoryInterface;
- factoryInterface = newFactoryInterface;
- if (isNotifying())
- notify(ChangeKind.SET, FACTORY_INTERFACE, oldFactoryInterface, factoryInterface);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getTypeInterface()
- {
- return typeInterface;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTypeInterface(String newTypeInterface)
- {
- String oldTypeInterface = typeInterface;
- typeInterface = newTypeInterface;
- if (isNotifying())
- notify(ChangeKind.SET, TYPE_INTERFACE, oldTypeInterface, typeInterface);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case FACTORY_INTERFACE:
- return getFactoryInterface();
- case TYPE_INTERFACE:
- return getTypeInterface();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case FACTORY_INTERFACE:
- setFactoryInterface((String)newValue);
- return;
- case TYPE_INTERFACE:
- setTypeInterface((String)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case FACTORY_INTERFACE:
- setFactoryInterface(FACTORY_INTERFACE_DEFAULT_);
- return;
- case TYPE_INTERFACE:
- setTypeInterface(TYPE_INTERFACE_DEFAULT_);
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case FACTORY_INTERFACE:
- return FACTORY_INTERFACE_DEFAULT_ == null ? factoryInterface != null : !FACTORY_INTERFACE_DEFAULT_.equals(factoryInterface);
- case TYPE_INTERFACE:
- return TYPE_INTERFACE_DEFAULT_ == null ? typeInterface != null : !TYPE_INTERFACE_DEFAULT_.equals(typeInterface);
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (factoryInterface: ");
- result.append(factoryInterface);
- result.append(", typeInterface: ");
- result.append(typeInterface);
- result.append(')');
- return result.toString();
- }
-
-} //JavaMetaDataImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/MetadataFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/MetadataFactoryImpl.java
deleted file mode 100644
index a4ea322549..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/MetadataFactoryImpl.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata.impl;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.SDOFactory;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import org.apache.tuscany.sdo.util.metadata.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class MetadataFactoryImpl extends FactoryBase implements MetadataFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "org.apache.tuscany.sdo/metadata";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "metadata";
- public static final int JAVA_META_DATA = 1;
- public static final int SDO_META_DATA_GROUP = 2;
- public static final int TYPE_META_DATA = 3;
- public static final int XSD_META_DATA = 4;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public MetadataFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- case JAVA_META_DATA: return (DataObject)createJavaMetaData();
- case SDO_META_DATA_GROUP: return (DataObject)createSDOMetaDataGroup();
- case TYPE_META_DATA: return (DataObject)createTypeMetaData();
- case XSD_META_DATA: return (DataObject)createXSDMetaData();
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaMetaData createJavaMetaData()
- {
- JavaMetaDataImpl javaMetaData = new JavaMetaDataImpl();
- return javaMetaData;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SDOMetaDataGroup createSDOMetaDataGroup()
- {
- SDOMetaDataGroupImpl sdoMetaDataGroup = new SDOMetaDataGroupImpl();
- return sdoMetaDataGroup;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TypeMetaData createTypeMetaData()
- {
- TypeMetaDataImpl typeMetaData = new TypeMetaDataImpl();
- return typeMetaData;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public XSDMetaData createXSDMetaData()
- {
- XSDMetaDataImpl xsdMetaData = new XSDMetaDataImpl();
- return xsdMetaData;
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected Type javaMetaDataType = null;
-
- public Type getJavaMetaData()
- {
- return javaMetaDataType;
- }
-
- protected Type sdoMetaDataGroupType = null;
-
- public Type getSDOMetaDataGroup()
- {
- return sdoMetaDataGroupType;
- }
-
- protected Type typeMetaDataType = null;
-
- public Type getTypeMetaData()
- {
- return typeMetaDataType;
- }
-
- protected Type xsdMetaDataType = null;
-
- public Type getXSDMetaData()
- {
- return xsdMetaDataType;
- }
-
-
- private static boolean isInited = false;
-
- public static MetadataFactoryImpl init()
- {
- if (isInited) return (MetadataFactoryImpl)FactoryBase.getStaticFactory(MetadataFactoryImpl.NAMESPACE_URI);
- MetadataFactoryImpl theMetadataFactoryImpl = new MetadataFactoryImpl();
- isInited = true;
-
- // Initialize simple dependencies
- SDOUtil.registerStaticTypes(SDOFactory.class);
- SDOUtil.registerStaticTypes(ModelFactory.class);
-
- // Create package meta-data objects
- theMetadataFactoryImpl.createMetaData();
-
- // Initialize created meta-data
- theMetadataFactoryImpl.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theMetadataFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return theMetadataFactoryImpl;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
-
- javaMetaDataType = createType(false, JAVA_META_DATA);
- createProperty(true, javaMetaDataType, JavaMetaDataImpl.FACTORY_INTERFACE);
- createProperty(true, javaMetaDataType, JavaMetaDataImpl.TYPE_INTERFACE);
-
- sdoMetaDataGroupType = createType(false, SDO_META_DATA_GROUP);
- createProperty(false, sdoMetaDataGroupType, SDOMetaDataGroupImpl.JAVA_META_DATA);
- createProperty(false, sdoMetaDataGroupType, SDOMetaDataGroupImpl.XSD_META_DATA);
- createProperty(false, sdoMetaDataGroupType, SDOMetaDataGroupImpl.TYPE_META_DATA);
-
- typeMetaDataType = createType(false, TYPE_META_DATA);
- createProperty(true, typeMetaDataType, TypeMetaDataImpl.LOCATION);
-
- xsdMetaDataType = createType(false, XSD_META_DATA);
- createProperty(true, xsdMetaDataType, XSDMetaDataImpl.LOCATION);
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Obtain other dependent packages
- ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)FactoryBase.getStaticFactory(ModelFactoryImpl.NAMESPACE_URI);
- Property property = null;
-
- // Add supertypes to classes
-
- // Initialize classes and features; add operations and parameters
- initializeType(javaMetaDataType, JavaMetaData.class, "JavaMetaData");
-
- property = (Property)javaMetaDataType.getProperties().get(JavaMetaDataImpl.FACTORY_INTERFACE);
- initializeProperty(property, theModelPackageImpl.getString(), "factoryInterface", null, 0, 1, JavaMetaData.class, false, false, false);
-
- property = (Property)javaMetaDataType.getProperties().get(JavaMetaDataImpl.TYPE_INTERFACE);
- initializeProperty(property, theModelPackageImpl.getString(), "typeInterface", null, 0, 1, JavaMetaData.class, false, false, false);
-
- initializeType(sdoMetaDataGroupType, SDOMetaDataGroup.class, "SDOMetaDataGroup");
-
- property = (Property)sdoMetaDataGroupType.getProperties().get(SDOMetaDataGroupImpl.JAVA_META_DATA);
- initializeProperty(property, this.getJavaMetaData(), "javaMetaData", null, 0, -1, SDOMetaDataGroup.class, false, false, false, true , null);
-
- property = (Property)sdoMetaDataGroupType.getProperties().get(SDOMetaDataGroupImpl.XSD_META_DATA);
- initializeProperty(property, this.getXSDMetaData(), "xsdMetaData", null, 0, -1, SDOMetaDataGroup.class, false, false, false, true , null);
-
- property = (Property)sdoMetaDataGroupType.getProperties().get(SDOMetaDataGroupImpl.TYPE_META_DATA);
- initializeProperty(property, this.getTypeMetaData(), "typeMetaData", null, 0, -1, SDOMetaDataGroup.class, false, false, false, true , null);
-
- initializeType(typeMetaDataType, TypeMetaData.class, "TypeMetaData");
-
- property = (Property)typeMetaDataType.getProperties().get(TypeMetaDataImpl.LOCATION);
- initializeProperty(property, theModelPackageImpl.getString(), "location", null, 1, 1, TypeMetaData.class, false, false, false);
-
- initializeType(xsdMetaDataType, XSDMetaData.class, "XSDMetaData");
-
- property = (Property)xsdMetaDataType.getProperties().get(XSDMetaDataImpl.LOCATION);
- initializeProperty(property, theModelPackageImpl.getString(), "location", null, 1, 1, XSDMetaData.class, false, false, false);
-
- createXSDMetaData(theModelPackageImpl);
- }
-
- protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl)
- {
- super.initXSD();
-
- Property property = null;
-
- property = createGlobalProperty
- ("sdoMetaDataGroup",
- this.getSDOMetaDataGroup(),
- new String[]
- {
- "kind", "element",
- "name", "sdoMetaDataGroup",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (javaMetaDataType,
- new String[]
- {
- "name", "JavaMetaData",
- "kind", "empty"
- });
-
- addXSDMapping
- ((Property)javaMetaDataType.getProperties().get(JavaMetaDataImpl.FACTORY_INTERFACE),
- new String[]
- {
- "kind", "attribute",
- "name", "factoryInterface"
- });
-
- addXSDMapping
- ((Property)javaMetaDataType.getProperties().get(JavaMetaDataImpl.TYPE_INTERFACE),
- new String[]
- {
- "kind", "attribute",
- "name", "typeInterface"
- });
-
- addXSDMapping
- (sdoMetaDataGroupType,
- new String[]
- {
- "name", "SDOMetaDataGroup",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- ((Property)sdoMetaDataGroupType.getProperties().get(SDOMetaDataGroupImpl.JAVA_META_DATA),
- new String[]
- {
- "kind", "element",
- "name", "javaMetaData"
- });
-
- addXSDMapping
- ((Property)sdoMetaDataGroupType.getProperties().get(SDOMetaDataGroupImpl.XSD_META_DATA),
- new String[]
- {
- "kind", "element",
- "name", "xsdMetaData"
- });
-
- addXSDMapping
- ((Property)sdoMetaDataGroupType.getProperties().get(SDOMetaDataGroupImpl.TYPE_META_DATA),
- new String[]
- {
- "kind", "element",
- "name", "typeMetaData"
- });
-
- addXSDMapping
- (typeMetaDataType,
- new String[]
- {
- "name", "TypeMetaData",
- "kind", "empty"
- });
-
- addXSDMapping
- ((Property)typeMetaDataType.getProperties().get(TypeMetaDataImpl.LOCATION),
- new String[]
- {
- "kind", "attribute",
- "name", "location"
- });
-
- addXSDMapping
- (xsdMetaDataType,
- new String[]
- {
- "name", "XSDMetaData",
- "kind", "empty"
- });
-
- addXSDMapping
- ((Property)xsdMetaDataType.getProperties().get(XSDMetaDataImpl.LOCATION),
- new String[]
- {
- "kind", "attribute",
- "name", "location"
- });
-
- }
-
-} //MetadataFactoryImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/SDOMetaDataGroupImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/SDOMetaDataGroupImpl.java
deleted file mode 100644
index 43746399fc..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/SDOMetaDataGroupImpl.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata.impl;
-
-import commonj.sdo.Type;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.util.metadata.JavaMetaData;
-import org.apache.tuscany.sdo.util.metadata.MetadataFactory;
-import org.apache.tuscany.sdo.util.metadata.SDOMetaDataGroup;
-import org.apache.tuscany.sdo.util.metadata.TypeMetaData;
-import org.apache.tuscany.sdo.util.metadata.XSDMetaData;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>SDO Meta Data Group</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.impl.SDOMetaDataGroupImpl#getJavaMetaData <em>Java Meta Data</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.impl.SDOMetaDataGroupImpl#getXsdMetaData <em>Xsd Meta Data</em>}</li>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.impl.SDOMetaDataGroupImpl#getTypeMetaData <em>Type Meta Data</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class SDOMetaDataGroupImpl extends DataObjectBase implements SDOMetaDataGroup
-{
- /**
- * The feature id for the '<em><b>Java Meta Data</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int JAVA_META_DATA = 0;
-
- /**
- * The feature id for the '<em><b>Xsd Meta Data</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int XSD_META_DATA = 1;
-
- /**
- * The feature id for the '<em><b>Type Meta Data</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int TYPE_META_DATA = 2;
-
- /**
- * This represents the number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
-
- public final static int SDO_PROPERTY_COUNT = 3;
-
- /**
- * The cached value of the '{@link #getJavaMetaData() <em>Java Meta Data</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJavaMetaData()
- * @generated
- * @ordered
- */
-
- protected List javaMetaData = null;
-
- /**
- * The cached value of the '{@link #getXsdMetaData() <em>Xsd Meta Data</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getXsdMetaData()
- * @generated
- * @ordered
- */
-
- protected List xsdMetaData = null;
-
- /**
- * The cached value of the '{@link #getTypeMetaData() <em>Type Meta Data</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypeMetaData()
- * @generated
- * @ordered
- */
-
- protected List typeMetaData = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected SDOMetaDataGroupImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((MetadataFactoryImpl)MetadataFactory.INSTANCE).getSDOMetaDataGroup();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getJavaMetaData()
- {
- if (javaMetaData == null)
- {
- javaMetaData = createPropertyList(ListKind.CONTAINMENT, JavaMetaData.class, JAVA_META_DATA);
- }
- return javaMetaData;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getXsdMetaData()
- {
- if (xsdMetaData == null)
- {
- xsdMetaData = createPropertyList(ListKind.CONTAINMENT, XSDMetaData.class, XSD_META_DATA);
- }
- return xsdMetaData;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getTypeMetaData()
- {
- if (typeMetaData == null)
- {
- typeMetaData = createPropertyList(ListKind.CONTAINMENT, TypeMetaData.class, TYPE_META_DATA);
- }
- return typeMetaData;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case JAVA_META_DATA:
- return removeFromList(getJavaMetaData(), otherEnd, changeContext);
- case XSD_META_DATA:
- return removeFromList(getXsdMetaData(), otherEnd, changeContext);
- case TYPE_META_DATA:
- return removeFromList(getTypeMetaData(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case JAVA_META_DATA:
- return getJavaMetaData();
- case XSD_META_DATA:
- return getXsdMetaData();
- case TYPE_META_DATA:
- return getTypeMetaData();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case JAVA_META_DATA:
- getJavaMetaData().clear();
- getJavaMetaData().addAll((Collection)newValue);
- return;
- case XSD_META_DATA:
- getXsdMetaData().clear();
- getXsdMetaData().addAll((Collection)newValue);
- return;
- case TYPE_META_DATA:
- getTypeMetaData().clear();
- getTypeMetaData().addAll((Collection)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case JAVA_META_DATA:
- getJavaMetaData().clear();
- return;
- case XSD_META_DATA:
- getXsdMetaData().clear();
- return;
- case TYPE_META_DATA:
- getTypeMetaData().clear();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case JAVA_META_DATA:
- return javaMetaData != null && !javaMetaData.isEmpty();
- case XSD_META_DATA:
- return xsdMetaData != null && !xsdMetaData.isEmpty();
- case TYPE_META_DATA:
- return typeMetaData != null && !typeMetaData.isEmpty();
- }
- return super.isSet(propertyIndex);
- }
-
-} //SDOMetaDataGroupImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/TypeMetaDataImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/TypeMetaDataImpl.java
deleted file mode 100644
index 66d7f8625f..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/TypeMetaDataImpl.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata.impl;
-
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.util.metadata.MetadataFactory;
-import org.apache.tuscany.sdo.util.metadata.TypeMetaData;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Type Meta Data</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.impl.TypeMetaDataImpl#getLocation <em>Location</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TypeMetaDataImpl extends DataObjectBase implements TypeMetaData
-{
- /**
- * The feature id for the '<em><b>Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int LOCATION = 0;
-
- /**
- * This represents the number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
-
- public final static int SDO_PROPERTY_COUNT = 1;
-
- /**
- * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLocation()
- * @generated
- * @ordered
- */
- protected static final String LOCATION_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLocation()
- * @generated
- * @ordered
- */
- protected String location = LOCATION_DEFAULT_;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TypeMetaDataImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((MetadataFactoryImpl)MetadataFactory.INSTANCE).getTypeMetaData();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getLocation()
- {
- return location;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLocation(String newLocation)
- {
- String oldLocation = location;
- location = newLocation;
- if (isNotifying())
- notify(ChangeKind.SET, LOCATION, oldLocation, location);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- return getLocation();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- setLocation((String)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- setLocation(LOCATION_DEFAULT_);
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- return LOCATION_DEFAULT_ == null ? location != null : !LOCATION_DEFAULT_.equals(location);
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (location: ");
- result.append(location);
- result.append(')');
- return result.toString();
- }
-
-} //TypeMetaDataImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/XSDMetaDataImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/XSDMetaDataImpl.java
deleted file mode 100644
index 7a04d6b99c..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/metadata/impl/XSDMetaDataImpl.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.metadata.impl;
-
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-import org.apache.tuscany.sdo.util.metadata.MetadataFactory;
-import org.apache.tuscany.sdo.util.metadata.XSDMetaData;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>XSD Meta Data</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.apache.tuscany.sdo.util.metadata.impl.XSDMetaDataImpl#getLocation <em>Location</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class XSDMetaDataImpl extends DataObjectBase implements XSDMetaData
-{
- /**
- * The feature id for the '<em><b>Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int LOCATION = 0;
-
- /**
- * This represents the number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
-
- public final static int SDO_PROPERTY_COUNT = 1;
-
- /**
- * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLocation()
- * @generated
- * @ordered
- */
- protected static final String LOCATION_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLocation()
- * @generated
- * @ordered
- */
- protected String location = LOCATION_DEFAULT_;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected XSDMetaDataImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((MetadataFactoryImpl)MetadataFactory.INSTANCE).getXSDMetaData();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getLocation()
- {
- return location;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLocation(String newLocation)
- {
- String oldLocation = location;
- location = newLocation;
- if (isNotifying())
- notify(ChangeKind.SET, LOCATION, oldLocation, location);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- return getLocation();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- setLocation((String)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- setLocation(LOCATION_DEFAULT_);
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case LOCATION:
- return LOCATION_DEFAULT_ == null ? location != null : !LOCATION_DEFAULT_.equals(location);
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (location: ");
- result.append(location);
- result.append(')');
- return result.toString();
- }
-
-} //XSDMetaDataImpl
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamDeserializer.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamDeserializer.java
deleted file mode 100644
index 697de1c7ad..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamDeserializer.java
+++ /dev/null
@@ -1,663 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.SDOFactory;
-import org.apache.tuscany.sdo.helper.SDOAnnotations;
-import org.apache.tuscany.sdo.impl.ChangeSummaryImpl;
-import org.apache.tuscany.sdo.impl.ClassImpl;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.emf.ecore.change.ChangeDescription;
-import org.eclipse.emf.ecore.change.ChangeFactory;
-import org.eclipse.emf.ecore.change.ChangeKind;
-import org.eclipse.emf.ecore.change.FeatureChange;
-import org.eclipse.emf.ecore.change.FeatureMapEntry;
-import org.eclipse.emf.ecore.change.ListChange;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-
-/**
- * ChangeSummary StAX Deserializer whose input conforms to the SDO Java/C++/PHP specifications. The instance isn't thread-safe, however it's safe to
- * use the instance any times on the same thread.
- */
-public class ChangeSummaryStreamDeserializer extends SDODeserializer {
- static final class ForwardReference extends Ref {
- final String unset;
-
- ForwardReference(String ref, NamespaceContext nameSpaces, String u) {
- super(ref, nameSpaces);
- unset = u;
- }
-
- Collection attributes/* = null */, qualifiedAttributes/* = null */, tags/* = null */; // may be null, never empty
- }
-
- protected Collection forwardReferences/* = null */;
-
- static private final class ElementChange extends Ref {
- private final Object containing, containment;
- private ElementChange(String ref, NamespaceContext nameSpaces, Object property, Object propertyInSequence) {
- super(ref, nameSpaces);
- containing = property;
- containment = propertyInSequence;
- }
- }
-
- static private class PropertyMapChanges {
- Map/* Property,List */lists/* = null */;// may be null
-
- Collection put(Object property) {
- Collection list = new ArrayList();
- lists.put(property, list);
- return list;
- }
-
- protected final Collection get(Object property) {
- Object list = lists.get(property);
- return list == null ? put(property) : (Collection) list;
- }
-
- protected final Collection newList(Object property) {
- lists = new HashMap();
- return put(property);
- }
- }
-
- static final class ObjectChanges extends PropertyMapChanges {
- Collection elementChanges/* = null */,// may be null, never empty
- featureChanges;
-
- protected final void newElementChanges() {
- elementChanges = new ArrayList();
- }
- }
-
- Collection objectChangesCollection/* = null */, objectMapChanges, deletedDataObjects;
-
- protected final ObjectChanges newObjectChanges(Collection featureChanges) {
- ObjectChanges objectChanges = new ObjectChanges();
- objectChanges.featureChanges = featureChanges;
- if (objectChangesCollection == null)
- objectChangesCollection = new ArrayList();
- objectChangesCollection.add(objectChanges);
- return objectChanges;
- }
-
- private ChangeFactory changeFactory;
-
- private SDOFactory changeSettingFactory;
-
- private void logPropertyChange(Collection featureChanges, EStructuralFeature feature, Object value, boolean set) {
- if (changeSettingFactory == null)
- featureChanges.add(changeFactory.createFeatureChange(feature, value, set));
- else
- featureChanges.add(changeSettingFactory.createChangeSummarySetting(feature, value, set));
- }
-
- void unsetProperty(Collection featureChanges, String unset, int begin, int index, Type type) {
- logPropertyChange(featureChanges, (EStructuralFeature) type.getProperty(unset.substring(begin, index)), null, false);
- }
-
- static boolean isWhitespace(String unset, int index) {
- return Character.isWhitespace(unset.charAt(index));
- }
-
- protected final Collection unsetProperties(EObject referent, String unset, Type type) {
- Map.Entry entry = changeFactory.createEObjectToChangesMapEntry(referent);
- objectMapChanges.add(entry);
- Collection featureChanges = (Collection) entry.getValue();
- if (unset == null)
- return featureChanges;
- int end = unset.length();
- if (end != 0)
- for (int begin = 0, index = 1;/* true */; ++index) {
- if (index == end) {
- unsetProperty(featureChanges, unset, begin, index, type);
- break;
- }
- if (isWhitespace(unset, index)) {
- unsetProperty(featureChanges, unset, begin, index, type);
- while (true) {
- if (++index != end)
- return featureChanges;
- if (!isWhitespace(unset, index)) {
- begin = index;
- break;
- }
- }
- }
- }
- return featureChanges;
- }
-
- private Object value(EStructuralFeature containing, Object containment, Object value) {
- return FeatureMapUtil.isFeatureMap(containing) ? changeFactory.createFeatureMapEntry((EStructuralFeature) containment, value) : value;
- }
-
- private void logPropertyChange(Collection featureChanges, Object containing, Object containment, Object value) {
- EStructuralFeature feature = (EStructuralFeature) containing;
- logPropertyChange(featureChanges, feature, value(feature, containment, value), true);
- }
-
- private void logPropertyChange(Collection featureChanges, Object property, Object value) {
- logPropertyChange(featureChanges, property, propertyInSequence, value);
- }
-
- void logAttributeChange(Collection featureChanges, Property property, String literal, NamespaceContext nameSpaces) {
- logPropertyChange(featureChanges, property, value(property.getType(), literal, nameSpaces));
- }
-
- protected final void logAttributeChange(Collection featureChanges, String property, Type type, String value, NamespaceContext nameSpaces) {
- logAttributeChange(featureChanges, getProperty(type, property), value, nameSpaces);
- }
-
- protected final void logAttributeChange(Collection featureChanges, String nameSpace, String name, Type type, String value,
- NamespaceContext nameSpaces) {
- logAttributeChange(featureChanges, getProperty(type, nameSpace, name, false), value, nameSpaces);
- }
-
- protected final String ref() {
- return reader.getAttributeValue(SDOAnnotations.COMMONJ_SDO_NS, ChangeSummaryStreamSerializer.REF_ATTRIBUTE);
- }
-
- ChangeSummaryImpl changeSummary;
-
- protected Object load(XMLStreamReader reader, Map options) throws XMLStreamException {
- Object value = super.load(reader, options);
- deletedDataObjects.add(value);
- return value;
- }
-
- protected final void getChangeSummary(DataObject rootObject) {
- changeSummary = (ChangeSummaryImpl) rootObject.getChangeSummary(); // DynamicDataObjectImpl(EClass)
- }
-
- static protected final class Tag extends RecordedEventXMLStreamReader.Tag {
- protected String ref;
-
- protected Object value;
-
- protected Tag(XMLStreamReader reader) {
- super(reader);
- }
- }
-
- protected final void addPropertyChange(Collection list, Object value, Object containing) {
- list.add(value((EStructuralFeature) containing, propertyInSequence, value));
- }
-
- protected boolean logging;
-
- /**
- * Imports ChangeSummary 2-1. Forward references will be resolved by {@link #end()}.
- *
- * @param reader
- * Never null
- * @throws XMLStreamException
- */
- public final void begin(DataObject rootObject, HelperContext scope, XMLStreamReader reader) throws XMLStreamException {
- /*
- * 3-1. Instantiate ChangeSummary input: reader (xsi:type), factory, rootObject output: changeSummary, changeDescription
- */
- initialize(reader, scope, rootObject);
- if (typedXSI()) {
- changeSummary = (ChangeSummaryImpl) scope.getDataFactory().create(nameSpace, name);
- if (changeSummary == null)
- getChangeSummary(rootObject);
- else {
- Property csp = ((ClassImpl) rootObject.getType()).getChangeSummaryProperty();
- rootObject.set(csp, changeSummary);
- changeSummary.setDataObject(rootObject);
- }
- } else
- getChangeSummary(rootObject);
- ChangeDescription changeDescription = (ChangeDescription) changeSummary;
-
- /*
- * 3-2. "logging" attribute input: reader output: logging
- */
- logging = Boolean.valueOf(reader.getAttributeValue(null, "logging")).booleanValue();
-
- /*
- * 3-3. Modified DataObjects input: changeDescription
- */
- if (forwardReferences != null)
- forwardReferences.clear();
- if (objectChangesCollection != null)
- objectChangesCollection.clear();
- if (START_ELEMENT == reader.nextTag()) {
- objectMapChanges = changeDescription.getObjectChanges();
- deletedDataObjects = changeDescription.getObjectsToAttach();
- Object factory = changeDescription.eClass().getEPackage().getEFactoryInstance();
- changeFactory = factory instanceof ChangeFactory ? (ChangeFactory) factory : ChangeFactory.eINSTANCE;
- changeSettingFactory = factory instanceof SDOFactory ? (SDOFactory) factory : null;
- do {
- /*
- * Modified DataObject
- */
- String ref = ref(), unset = reader.getAttributeValue(SDOAnnotations.COMMONJ_SDO_NS, ChangeSummaryStreamSerializer.UNSET);
- int attributes = reader.getAttributeCount();
- NamespaceContext nameSpaces = reader.getNamespaceContext();
- EObject referent = referent(ref, nameSpaces);
- if (referent == null) {
- /*
- * Forward-referenced(unresolved) modified DataObject
- */
- ForwardReference forwardReference = new ForwardReference(ref, nameSpaces, unset);
- if (forwardReferences == null)
- forwardReferences = new ArrayList();
- forwardReferences.add(forwardReference);
- do // what about xmlns="NS1" a1="qName" xmlns="NS2" a2="qName" ?
- {
- /*
- * Record property old value as attribute for end()
- */
- String nameSpace = reader.getAttributeNamespace(--attributes), name = reader.getAttributeLocalName(attributes), value = reader
- .getAttributeValue(attributes);
- if (nameSpace == null) {
- /*
- * Local attribute
- */
- Attribute attribute = new Attribute();
- attribute.name = name;
- attribute.value = value;
- if (forwardReference.attributes == null)
- forwardReference.attributes = new ArrayList();
- forwardReference.attributes.add(attribute);
- } else if (!SDOAnnotations.COMMONJ_SDO_NS.equals(nameSpace) || !ChangeSummaryStreamSerializer.REF_ATTRIBUTE.equals(name)
- && !ChangeSummaryStreamSerializer.UNSET.equals(name)) {
- /*
- * Qualified(global) attribute
- */
- QualifiedAttribute attribute = new QualifiedAttribute();
- attribute.name = name;
- attribute.value = value;
- attribute.nameSpace = nameSpace;
- if (forwardReference.qualifiedAttributes == null)
- forwardReference.qualifiedAttributes = new ArrayList();
- forwardReference.qualifiedAttributes.add(attribute);
- }
- } while (attributes != 0);
- while (START_ELEMENT == reader.nextTag()) {
- /*
- * Record property old value as element for end()
- */
- Tag tag = new Tag(reader);
- if (forwardReference.tags == null)
- forwardReference.tags = new ArrayList();
- forwardReference.tags.add(tag);
- tag.ref = ref();
- if (tag.ref != null)
- continue;
- Type xsi = typeXSI();
- if (xsi == null) {
- if (tag.nameSpace != null)
- tag.value = value(globalElementType(tag.nameSpace, tag.name.getLocalPart())); // TODO substitutionGroup type if null
- else if (tag.record(reader))
- break;
- } else
- tag.value = value(xsi);
- }
- } else {
- /*
- * Resolved(back-referenced) modified DataObject
- */
- Type type = ((DataObject) referent).getType();
- Collection featureChanges = unsetProperties(referent, unset, type);
- do // what about xmlns="NS1" a1="qName" xmlns="NS2" a2="qName" ?
- {
- /*
- * Log property old value as attribute
- */
- String nameSpace = reader.getAttributeNamespace(--attributes), name = reader.getAttributeLocalName(attributes), value = reader
- .getAttributeValue(attributes);
- if (nameSpace == null)
- logAttributeChange(featureChanges, name, type, value, nameSpaces);
- else if (!SDOAnnotations.COMMONJ_SDO_NS.equals(nameSpace) || !ChangeSummaryStreamSerializer.REF_ATTRIBUTE.equals(name)
- && !ChangeSummaryStreamSerializer.UNSET.equals(name))
- logAttributeChange(featureChanges, nameSpace, name, type, value, nameSpaces);
- } while (attributes != 0);
- if (START_ELEMENT == reader.nextTag()) {
- ObjectChanges objectChanges = null;
- do {
- /*
- * Log property old value as element
- */
- String nameSpace = reader.getNamespaceURI(), name = reader.getLocalName();
- Property property = getProperty(nameSpace, name, type);
- boolean many = property.isMany();
- Object value;
- ref = ref();
- if (ref == null) {
- /*
- * Contained property old value
- */
- Type xsi = typeXSI();
- if (xsi != null)
- value = value(xsi);
- else if (nameSpace == null)
- value = value(reader);
- else {
- xsi = globalElementType(nameSpace, name);
- value = value(xsi == null ? propertyInSequence.getType() : xsi);
- }
- } else {
- /*
- * Referenced child DataObject
- */
- nameSpaces = reader.getNamespaceContext();
- reader.nextTag()/* END_ELEMENT */;
- value = referent(ref, nameSpaces);
- if (value == null) {
- /*
- * Forward-referenced(unresolved) child DataObject
- */
- if (!many) {
- ElementChange elementChange = new ElementChange(ref, nameSpaces, property, propertyInSequence);
- if (objectChanges == null) {
- objectChanges = newObjectChanges(featureChanges);
- objectChanges.newElementChanges();
- } else if (objectChanges.elementChanges == null)
- objectChanges.newElementChanges();
- objectChanges.elementChanges.add(elementChange);
- continue;
- }
- value = new Ref(ref, nameSpaces);
- }
- }
- if (many) {
- Collection list;
- if (objectChanges == null) {
- objectChanges = newObjectChanges(featureChanges);
- list = objectChanges.newList(property);
- } else if (objectChanges.lists == null)
- list = objectChanges.newList(property);
- else
- list = objectChanges.get(property);
- addPropertyChange(list, value, property);
- } else
- logPropertyChange(featureChanges, property, value);
- } while (START_ELEMENT == reader.nextTag());
- }
- }
- } while (START_ELEMENT == reader.nextTag());
- }
- }
-
- static private boolean sequence(Object listChanges) {
- return FeatureMapUtil.isFeatureMap(((FeatureChange) ((EStructuralFeature.Setting) listChanges).getEObject()).getFeature());
- }
-
- private ListChange createListChange(ChangeKind changeKind, int index, Collection listChanges) {
- ListChange listChange = changeFactory.createListChange();
- listChange.setKind(changeKind);
- listChange.setIndex(index);
- listChanges.add(listChange);
- return listChange;
- }
-
- Collection add(Collection adds, int change, Collection listChanges, Object value) {
- if (adds == null) {
- ListChange listChange = createListChange(ChangeKind.ADD_LITERAL, change, listChanges);
- adds = sequence(listChanges) ? listChange.getFeatureMapEntryValues() : listChange.getValues();
- }
- adds.add(value);
- return adds;
- }
-
- private int remove(int change, Collection listChanges, List list, int begin, int end) {
- ListChange listChange = createListChange(ChangeKind.REMOVE_LITERAL, change, listChanges);
- if (sequence(listChanges)) {
- Collection removes = listChange.getFeatureMapEntryValues();
- do {
- FeatureMap.Entry fme = (FeatureMap.Entry) list.get(begin);
- removes.add(changeFactory.createFeatureMapEntry(fme.getEStructuralFeature(), fme.getValue()));
- } while (++begin != end);
- return begin;
- }
- Collection removes = listChange.getValues();
- do
- removes.add(list.get(begin));
- while (++begin != end);
- return begin;
- }
-
- int remove(int begin, int end, int change, Collection listChanges, List list) {
- return begin == end ? begin : remove(change, listChanges, list, begin, end);
- }
-
- protected final void logManyChanges(PropertyMapChanges propertyMapChanges, EObject referent, Collection featureChanges) {
- for (Iterator lists = propertyMapChanges.lists.entrySet().iterator(); lists.hasNext();) {
- /*
- * Compute ListChanges out of comparision of old and new list
- */
- Map.Entry entry = (Map.Entry) lists.next();
- EStructuralFeature property = (EStructuralFeature) entry.getKey();
- Iterator values = ((Collection) entry.getValue()).iterator(); // old list
- Object value = referent.eGet(property);
- List list = value instanceof FeatureMap.Internal.Wrapper ? ((FeatureMap.Internal.Wrapper) value).featureMap() : (List) value; // new
- int change = 0;
- FeatureChange featureChange = changeSettingFactory == null ? changeFactory.createFeatureChange() : (FeatureChange) changeSettingFactory
- .createChangeSummarySetting();
- featureChange.setFeature(property);
- Collection listChanges = featureChange.getListChanges(), adds = null;
- featureChanges.add(featureChange);
- if (property.getEType() instanceof EClass) {
- /*
- * Log child DataObject changes
- */
- int begin = 0, end = list.size();
- while (values.hasNext()) {
- value = values.next();
- if (value.getClass() == Ref.class) {
- value = referent((Ref) value);
- if (value == null)
- continue;// report error?
- }
- // values.remove();
- for (int index = begin;/* true */; ++index)
- if (index == end) {
- adds = add(adds, change, listChanges, value);
- break;
- } else if (list.get(index) == value) // List#indexOf uses equals
- {
- begin = remove(begin, index, change, listChanges, list);
- ++begin;
- adds = null;
- break;
- }
- ++change;
- }
- remove(begin, end, change, listChanges, list);
- } else if (FeatureMapUtil.isFeatureMap(property)) {
- /*
- * Log Sequence changes
- */
- int begin = 0, end = list.size();
- while (values.hasNext()) {
- FeatureMapEntry featureMapEntry = (FeatureMapEntry) values.next();
- value = featureMapEntry.getValue();
- if (value.getClass() == Ref.class) {
- value = referent((Ref) value);
- if (value == null)
- continue;// report error?
- }
- // values.remove();
- Comparator equality;
- ETypedElement feature = featureMapEntry.getFeature();
- if (((Type) feature.getEType()).isDataType())
- if (value == null)
- equality = EQUAL_NULL;
- else
- equality = EQUAL;
- else
- equality = SAME;
- for (int index = begin;/* true */; ++index)
- if (index == end) {
- adds = add(adds, change, listChanges, featureMapEntry);
- break;
- } else {
- FeatureMap.Entry fme = (FeatureMap.Entry) list.get(index);
- if (feature == fme.getEStructuralFeature() && equality.compare(fme.getValue(), value) == 0) {
- begin = remove(begin, index, change, listChanges, list);
- ++begin;
- adds = null;
- break;
- }
- }
- ++change;
- }
- remove(begin, end, change, listChanges, list);
- } else {
- /*
- * Log simple value changes
- */
- while (values.hasNext()) {
- value = values.next();
- // values.remove();
- int index = list.indexOf(value);
- switch (index) {
- case -1:
- adds = add(adds, change, listChanges, value);
- break;
- default:
- remove(change, listChanges, list, 0, index);
- case 0:
- list = list.subList(++index, list.size());
- adds = null;
- }
- ++change;
- }
- remove(0, list.size(), change, listChanges, list);
- }
- }
- }
-
- protected PropertyMapChanges propertyMapChanges/* = null */;
-
- /**
- * Imports ChangeSummary 2-2. Resolves forward references from {@link #begin} and resumes logging if necessary. If it's invoked from
- * patching/resolving, try to make it last since logging may be turned on.
- *
- * @see #begin
- */
- public final ChangeSummary end() throws XMLStreamException {
- if (forwardReferences != null)
- for (Iterator iterator = forwardReferences.iterator(); iterator.hasNext();) {
- /*
- * Forward-referenced(unresolved) modified DataObject from begin(...)
- */
- ForwardReference forwardReference = (ForwardReference) iterator.next();
- EObject referent = referent(forwardReference);
- if (referent == null)
- continue; // report error?
- // iterator.remove();
- Type type = ((DataObject) referent).getType();
- Collection featureChanges = unsetProperties(referent, forwardReference.unset, type);
- if (forwardReference.attributes != null)
- for (Iterator attributes = forwardReference.attributes.iterator(); attributes.hasNext();) {
- /*
- * Log property old value as local attribute from begin(...)
- */
- Attribute attribute = (Attribute) attributes.next();
- logAttributeChange(featureChanges, attribute.name, type, attribute.value, forwardReference.nameSpaces);
- }
- if (forwardReference.qualifiedAttributes != null)
- for (Iterator attributes = forwardReference.qualifiedAttributes.iterator(); attributes.hasNext();) {
- /*
- * Log property old value as qualified/global attribute from begin(...)
- */
- QualifiedAttribute attribute = (QualifiedAttribute) attributes.next();
- logAttributeChange(featureChanges, attribute.nameSpace, attribute.name, type, attribute.value, forwardReference.nameSpaces);
- }
- if (forwardReference.tags != null) {
- if (propertyMapChanges != null)
- propertyMapChanges.lists.clear();
- for (Iterator tags = forwardReference.tags.iterator(); tags.hasNext();) {
- /*
- * Log property old value as element from begin(...)
- */
- Tag tag = (Tag) tags.next();
- Property property = getProperty(tag.nameSpace, tag.name.getLocalPart(), type);
- if (tag.ref != null)
- tag.value = referent(tag.ref, tag.nameSpaceContext);
- // if (tag.value == null) report error?
- else if (tag.events != null)
- tag.value = value(play(tag));
- if (property.isMany()) {
- Collection list;
- if (propertyMapChanges == null) {
- propertyMapChanges = new PropertyMapChanges();
- list = propertyMapChanges.newList(property);
- } else
- list = propertyMapChanges.get(property);
- addPropertyChange( list, tag.value, property);
- } else
- logPropertyChange(featureChanges, property, tag.value);
- }
- if (propertyMapChanges != null)
- logManyChanges(propertyMapChanges, referent, featureChanges);
- }
- }
- if (objectChangesCollection != null)
- for (Iterator iterator = objectChangesCollection.iterator(); iterator.hasNext();) {
- /*
- * Forward-referenced(unresolved) child DataObject from begin(...)
- */
- ObjectChanges objectChanges = (ObjectChanges) iterator.next();
- if (objectChanges.elementChanges != null)
- for (Iterator elementChanges = objectChanges.elementChanges.iterator(); elementChanges.hasNext();) {
- ElementChange elementChange = (ElementChange) elementChanges.next();
- Object value = referent(elementChange);
- if (value == null)
- continue; // report error?
- // iterator.remove();
- logPropertyChange(objectChanges.featureChanges, elementChange.containing, elementChange.containment, value);
- }
- if (objectChanges.lists != null)
- logManyChanges(objectChanges, (EObject) ((Map.Entry) ((EStructuralFeature.Setting) objectChanges.featureChanges).getEObject())
- .getKey(), objectChanges.featureChanges);
- }
- if (logging)
- changeSummary.resumeLogging();
- return changeSummary;
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamSerializer.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamSerializer.java
deleted file mode 100644
index ef5af8ab57..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/ChangeSummaryStreamSerializer.java
+++ /dev/null
@@ -1,690 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.helper.HelperContextImpl;
-import org.apache.tuscany.sdo.helper.SDOAnnotations;
-import org.apache.tuscany.sdo.helper.XSDHelperImpl;
-import org.apache.tuscany.sdo.impl.ChangeSummaryImpl;
-import org.apache.tuscany.sdo.model.ModelFactory;
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.change.ChangeDescription;
-import org.eclipse.emf.ecore.change.ChangeKind;
-import org.eclipse.emf.ecore.change.FeatureChange;
-import org.eclipse.emf.ecore.change.ListChange;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * ChangeSummary StAX Serializer whose output conforms to the SDO Java/C++/PHP specifications. The instance isn't thread-safe, however it's safe to
- * use the instance any times on the same thread.
- */
-public class ChangeSummaryStreamSerializer {
- private XMLStreamWriter writer;
-
- private String writeNamespace(String prefix, String nameSpace) throws XMLStreamException {
- writer.writeNamespace(prefix, nameSpace);
- writer.setPrefix(prefix, nameSpace);
- return prefix;
- }
-
- private int nsPrefixSuffix;
-
- private String prefix(String nameSpace, String preference) throws XMLStreamException {
- if (preference != null) {
- String bound = writer.getNamespaceContext().getNamespaceURI(preference);
- if (bound == null) {
- String prefix = writer.getPrefix(nameSpace);
- return prefix == null ? writeNamespace(preference, nameSpace) : prefix/* or null */;
- }
- if (bound.equals(nameSpace))
- return preference;
- }
- Object automaticNsPrefix = writer.getProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES);
- if (automaticNsPrefix != null && automaticNsPrefix.getClass() == Boolean.class // faster than instanceof since Boolean is final
- && ((Boolean) automaticNsPrefix).booleanValue())
- return null;
- String prefix = writer.getPrefix(nameSpace);
- if (prefix != null)
- return prefix; // or null
- NamespaceContext nameSpaces = writer.getNamespaceContext();
- do
- prefix = "CS" + nsPrefixSuffix++;
- while (nameSpaces.getNamespaceURI(prefix) != null);
- return writeNamespace(prefix, nameSpace);
- }
-
- void writeGlobalAttribute(String prefix, String nameSpace, String name, String value) throws XMLStreamException {
- prefix = prefix(nameSpace, prefix);
- if (prefix == null)
- writer.writeAttribute(nameSpace, name, value);
- else
- writer.writeAttribute(prefix, nameSpace, name, value);
- }
-
- XSDHelper xsdHelper;
-
- protected final void writeAttribute(Property property, String value) throws XMLStreamException {
- String name = xsdHelper.getLocalName(property), nameSpace = xsdHelper.getNamespaceURI(property);
- // TODO "" for no-NameSpace global attribute
- if (nameSpace == null)
- writer.writeAttribute(name, value);
- else
- writeGlobalAttribute(null, nameSpace, name, value);
- }
-
- private String lineBreak, indent, margin;
-
- private int nest;
-
- private void breakLine() throws XMLStreamException {
- writer.writeCharacters(lineBreak);
-
- if (margin != null)
- writer.writeCharacters(margin);
-
- if (indent != null)
- for (int count = nest; count != 0; --count)
- writer.writeCharacters(indent);
- }
-
- private Map options;
-
- static private final String STRING_OPTION = "String option";
-
- void startElement() throws XMLStreamException {
- if (options == null)
- return;
- if (lineBreak == STRING_OPTION)
- lineBreak = (String) options.get(SDOUtil.XML_SAVE_LineBreak);
- if (lineBreak == null)
- return;
- if (margin == STRING_OPTION)
- margin = (String) options.get(SDOUtil.XML_SAVE_MARGIN);
- if (indent == STRING_OPTION)
- indent = (String) options.get(SDOUtil.XML_SAVE_INDENT);
- breakLine();
- }
-
- void writeStartElement(String prefix, String nameSpace, String name) throws XMLStreamException {
- startElement();
- if (nameSpace == null)
- writer.writeStartElement(name);
- else {
- prefix = prefix(nameSpace, prefix);
- if (prefix == null)
- writer.writeStartElement(nameSpace, name);
- else
- writer.writeStartElement(prefix, name, nameSpace);
- }
- }
-
- void writeStartElement(Property property) throws XMLStreamException {
- ++nest;
- writeStartElement(null, xsdHelper.getNamespaceURI(property),// TODO "" for no-NameSpace global element
- xsdHelper.getLocalName(property));
- }
-
- static protected final String CREATE_ATTRIBUTE = "create", DELETE_ATTRIBUTE = "delete", LOGGING_ATTRIBUTE = "logging", REF_ATTRIBUTE = "ref", UNSET = "unset";
-
- private StringBuffer step(String nameSpace, String name, StringBuffer path) throws XMLStreamException {
- if (nameSpace != null) {
- nameSpace = writer.getPrefix(nameSpace);
- if (nameSpace != null && nameSpace.length() != 0)
- return path.append(nameSpace).append(':').append(name); // *:name[namespace-uri()='nameSpace']
- }
- return path.append(name);
- }
-
- private StringBuffer step(Property containmentProperty, StringBuffer path) throws XMLStreamException {
- return step(xsdHelper.getNamespaceURI(containmentProperty),// TODO "" for no-NameSpace global element
- xsdHelper.getLocalName(containmentProperty), path);
- }
-
- private StringBuffer step(Property containmentProperty) throws XMLStreamException {
- return step(containmentProperty, new StringBuffer());
- }
-
- private DataObject dataObject;
-
- private StringBuffer step(Object container) throws XMLStreamException {
- Property containmentProperty = dataObject.getContainmentProperty();
- StringBuffer step = step(containmentProperty);
- if (containmentProperty.isMany() || ((EObject) dataObject).eContainingFeature() != containmentProperty)
- step.append('[').append(((DataObject) container).getList(containmentProperty).indexOf(dataObject) + 1).append(']');
- return step;
- }
-
- private String pathRootObject;
- private DataObject rootObject;
-
- private EObject container(EObject object) {
- final EObject container = object.eContainer();
- if (!(container instanceof DataObject))
- return null;
- String name = extendedMetaData.getName(container.eClass());
- return name != null && name.length() == 0 // DocumentRoot
- ? null : container;
- }
-
- private String path() throws XMLStreamException {
- if (pathRootObject == STRING_OPTION)
- pathRootObject = options == null ? null : (String) options.get(OPTION_RootObject_PATH);
- if (pathRootObject != null && dataObject == rootObject)
- return null;
- EObject container = container((EObject) dataObject);
- if (container == null)
- return null;
- StringBuffer step = step(container);
- while (true) {
- String path = step.toString();
- dataObject = (DataObject) container;
- if (pathRootObject != null && container == rootObject)
- return path;
- container = container(container);
- if (container == null)
- return path;
- step = step(container).append('/').append(path);
- }
- }
-
- /*
- * not to support DataGraph 3-1 private org.eclipse.emf.ecore.resource.Resource rootResource;
- */
-
- protected String rootElementNS;
-
- String rootElementName;
-
- ExtendedMetaData extendedMetaData;
-
- protected final String rootElementName() {
- if (rootElementNS != null)
- return rootElementName;
- QName rootElement = (QName) options.get(OPTION_ROOT_ELEMENT);
- if (rootElement != null) {
- rootElementNS = rootElement.getNamespaceURI();
- return rootElementName = rootElement.getLocalPart();
- }
- EStructuralFeature element = ((EObject) rootObject).eContainingFeature();
- if (element == null) {
- rootElementNS = "";
- return rootElementName = "descendant-or-self::node()";
- }
- rootElementNS = extendedMetaData.getNamespace(element);
- if (rootElementNS == null)
- rootElementNS = "";
- return rootElementName = extendedMetaData.getName(element);
- }
-
- String ref() throws XMLStreamException {
- /*
- * not to support DataGraph 3-2 if (rootResource != null) return rootResource.getURIFragment((EObject) dataObject);
- */
- String id = EcoreUtil.getID((EObject) dataObject);
- if (id != null)
- return id;
- id = path();
- if (pathRootObject == null)
- return id == null ? "#/" + rootElementName() // descendant-or-self::node()
- : "#//" + id;
- return id == null ? pathRootObject/* + "."*/ : pathRootObject + id;
- }
-
- void writeRef(String ref) throws XMLStreamException {
- writer.writeAttribute(SDOAnnotations.COMMONJ_SDO_NS, REF_ATTRIBUTE, ref);
- }
-
- void writeRef() throws XMLStreamException {
- writeRef(ref());
- }
-
- void writeEndElement(String lineBreak) throws XMLStreamException {
- if (lineBreak != null)
- breakLine();
- writer.writeEndElement();
- --nest;
- }
-
- private StringBuffer pathDeleted/* = null */;
-
- private Collection modifiedDataObjects;
-
- private int lengthDeleted;
-
- private String changeSummaryElementNS, changeSummaryElementName;
-
- private ChangeSummary changeSummary;
-
- protected boolean skipDeletedModification(DataObject modifiedDataObject) {
- return changeSummary.isDeleted(modifiedDataObject);
- }
-
- String refDeleted() throws XMLStreamException {
- String id = EcoreUtil.getID((EObject) dataObject);
- if (id != null)
- return id;
- id = path(); // "dataObject" is updated too!!
- DataObject deletedDataObject = dataObject;
-
- /*
- * construct "#//...changeSummary/"
- * output: pathDeleted
- */
- if (lengthDeleted == -1) {
- String path = pathRootObject == null ? "#//" : pathRootObject;
- if (pathDeleted == null)
- pathDeleted = new StringBuffer(path);
- else
- pathDeleted.replace(0, pathDeleted.length(), path);
- dataObject = rootObject;
- path = path();
- if (path != null)
- pathDeleted.append(path).append('/');
- step(changeSummaryElementNS, changeSummaryElementName, pathDeleted).append('/');
- lengthDeleted = pathDeleted.length();
- } else
- pathDeleted.delete(lengthDeleted, pathDeleted.length());
-
- dataObject = changeSummary.getOldContainer(deletedDataObject);
- Property containmentProperty = dataObject.getContainmentProperty();
- String name = containmentProperty == null ? rootElementName() : xsdHelper.getLocalName(containmentProperty);
- int index = 1;
- for (Iterator iterator = modifiedDataObjects.iterator(); iterator.hasNext();) {
- DataObject modifiedDataObject = (DataObject) iterator.next();
- if (skipDeletedModification(modifiedDataObject))
- continue;
- if (modifiedDataObject == dataObject)
- break;
- Property property = modifiedDataObject.getContainmentProperty();
- if (property == containmentProperty || name.equals(property == null ? rootElementName() : xsdHelper.getLocalName(property)))
- ++index;
- }
- pathDeleted/*.append("*:")*/.append(name).append('[').append(index).append("]/");
- containmentProperty = changeSummary.getOldContainmentProperty(deletedDataObject);
- // assert containmentProperty != null;
- step(containmentProperty, pathDeleted);
- Object f;
- if (containmentProperty.isMany()
- || (f = extendedMetaData.getAffiliation(((EObject) dataObject).eClass(), (EStructuralFeature) containmentProperty)) != null
- && f != containmentProperty)
- pathDeleted.append('[').append(
- ((List) changeSummary.getOldValue(dataObject, containmentProperty).getValue()).indexOf(deletedDataObject) + 1).append(']');
- if (id != null)
- pathDeleted.append('/').append(id);
- return pathDeleted.toString();
- }
-
- static String convertToString(Property property, Object value) {
- return EcoreUtil.convertToString((EDataType) property.getType(), value);
- }
-
- void writeRefDeleted() throws XMLStreamException {
- writeRef(refDeleted());
- }
-
- protected final void writeDeletedObject(Property property) throws XMLStreamException {
- ++nest;
- startElement();
- --nest;
- DataObject oldDataObject = ((ChangeSummaryImpl)changeSummary).getOldDataObject(dataObject);
- XMLStreamReader reader = new DataObjectXMLStreamReader(property, oldDataObject, null, xsdHelper);
- new XMLStreamSerializer().serialize(new XMLDocumentStreamReader(reader), writer);
- }
-
- static public final Object ChangeSummary_TYPE = ((ModelFactoryImpl) ModelFactory.INSTANCE).getChangeSummaryType();
-
- Collection deletedDataObjects;
-
- protected final void writeElement(Object value, Property property) throws XMLStreamException {
- if (value == null) {
- writeStartElement(property);
- writeGlobalAttribute(ExtendedMetaData.XSI_PREFIX, ExtendedMetaData.XSI_URI, XMLResource.NIL, "true");
- writeEndElement(null);
- } else if (value instanceof DataObject) {
- dataObject = (DataObject) value;
- if (!changeSummary.isDeleted(dataObject)) {
- writeStartElement(property);
- writeRef();
- writeEndElement(null);
- } else if (property.isContainment() && deletedDataObjects.contains(dataObject)) {
- writeDeletedObject(property);
- } else {
- writeStartElement(property);
- writeRefDeleted();
- writeEndElement(null);
- }
- } else {
- Object type = property.getType();
- if (type == ChangeSummary_TYPE)
- return;
- writeStartElement(property);
- writer.writeCharacters(EcoreUtil.convertToString((EDataType) type, value));
- writeEndElement(null);
- }
- }
-
- protected final void writeElement(Object value) throws XMLStreamException {
- FeatureMap.Entry entry = (FeatureMap.Entry) value;
- writeElement(entry.getValue(), (Property)entry.getEStructuralFeature());
- }
-
- static protected List optimize(List values, Object featureChange, int size) {
- int fromIndex = size, toIndex = 0;
- for (Iterator changes = ((FeatureChange) featureChange).getListChanges().iterator(); changes.hasNext();) {
- ListChange change = (ListChange) changes.next();
- Object kind = change.getKind();
- if (kind == ChangeKind.MOVE_LITERAL)
- return values;
- int index = change.getIndex();
- if (kind == ChangeKind.ADD_LITERAL) {
- if (index == 0) {
- fromIndex = 0;
- if (toIndex == 0)
- toIndex = 1;
- } else {
- int to = index;
- if (--index < fromIndex)
- fromIndex = index;
- if (++to > toIndex)
- toIndex = to;
- else if (to < toIndex)
- ++toIndex;
- }
- ++size;
- } else {
- --size;
- if (index < fromIndex)
- fromIndex = index;
- if (index < toIndex)
- --toIndex;
- else if (index > toIndex && index != size)
- toIndex = index;
- }
- }
- return values.subList(fromIndex, toIndex);
- }
-
- static protected final Object CHANGE_SUMMARY = SDOPackage.eINSTANCE.getChangeSummary();
-
- /**
- * Root Object path String such as "#", etc. Absent/null is the default (automatic computation)
- */
- static public final String OPTION_RootObject_PATH = "RootObject path",
- /**
- * Boolean to optimize sequence/list/array. Absent/null/Boolean.FALSE is the default (no optimization)
- */
- OPTION_OPTIMIZE_LIST = "optimize sequence/list/array",
- /**
- * Element QName if the changeSummary Root Object is a XML root; the NameSpace can be empty, never null; the prefix is ignored.
- * Absent/null is the default (automatic computation from DocumentRoot if any)
- */
- OPTION_ROOT_ELEMENT = "Root Element";
-
- /**
- * Exports ChangeSummary
- *
- * @param changeSummary
- * Never null
- * @param changeSummaryElement
- * changeSummary element; the NameSpace can be empty if no NameSpace, or null if local element; the prefix can be null(no preference)
- * @param writer
- * Never null
- * @param options
- * {@link SDOUtil#XML_SAVE_LineBreak} (absence/null is the default i.e. no Line Breaking), {@link SDOUtil#XML_SAVE_INDENT} (absence/null is the default i.e. no indentation), {@link SDOUtil#XML_SAVE_MARGIN}, {@link #OPTION_RootObject_PATH}, {@link #OPTION_OPTIMIZE_LIST} and XMLResource.OPTION_EXTENDED_META_DATA; can be null or empty
- */
- public final void saveChangeSummary(ChangeSummary changeSummary, QName changeSummaryElement, XMLStreamWriter writer, Map options)
- throws XMLStreamException {
- /*
- * 6-1. Group created, deleted and modified DataObjects
- * input: changeSummary output: createdDataObjects, deletedDataObjects & modifiedDataObjects
- * implement: careful if compute from changeSummary.getChangedDataObjects() since it also includes children of deleted objects (thank Frank)
- */
- if (changeSummary.isLogging())
- ((ChangeSummaryImpl) changeSummary).summarize();
- ChangeDescription changeDescription = (ChangeDescription) changeSummary;
- Iterator createdDataObjects = changeDescription.getObjectsToDetach().iterator();
- deletedDataObjects = changeDescription.getObjectsToAttach();
- EMap objectChanges = changeDescription.getObjectChanges();
- modifiedDataObjects = objectChanges.keySet(); // may contain DO(s) from createdDataObjects and/or deletedDataObjects
-
- /*
- * 6-2. Prepare to compute (X)Path
- * input: changeSummary
- * output: rootResource
- */
- /*not to support DataGraph 3-3
- Object dataGraph = changeSummary.getDataGraph();
- if (dataGraph == null) {
- DataObject rootObject = changeSummary.getRootObject();
- // assert rootObject != null;
- rootResource = rootObject.getContainer() == null ? ((EObject) rootObject).eResource() // Can be null since this *StAX* writer does NOT
- // require rootObject contained by an *EMF* Resource
- : null; // eResource() direct content may not necessarily always be the XML document
- } else
- // assert dataGraph instanceof DataGraphImpl;
- rootResource = ((org.apache.tuscany.sdo.impl.DataGraphImpl) dataGraph).getRootResource(); */
-
- /*
- * 6-2. Start ChangeSummary element
- * input: writer, options, elementCS, changeSummary & changeDescription (6-1)
- */
- nsPrefixSuffix = 0;
- this.writer = writer;
- this.options = options;
- lineBreak = "";
- indent = margin = pathRootObject = STRING_OPTION;
- nest = 0;
- changeSummaryElementNS = changeSummaryElement.getNamespaceURI();
- changeSummaryElementName = changeSummaryElement.getLocalPart();
- writeStartElement(changeSummaryElement.getPrefix(), changeSummaryElementNS, changeSummaryElementName);
- lineBreak = STRING_OPTION;
- rootObject = changeSummary.getRootObject();
- extendedMetaData = (ExtendedMetaData) options.get(XMLResource.OPTION_EXTENDED_META_DATA);
- if (extendedMetaData == null)
- {
- extendedMetaData = ExtendedMetaData.INSTANCE;
- xsdHelper = XSDHelper.INSTANCE;
- }
- else{
- xsdHelper = (new HelperContextImpl(extendedMetaData, false)).getXSDHelper();
- }
- Property declaration = changeSummaryElementNS == null
- ? rootObject.getType().getProperty(changeSummaryElementName)
- : xsdHelper.getGlobalProperty(changeSummaryElementNS, changeSummaryElementName, true);
- if (declaration != null)
- {
- EClassifier type = changeDescription.eClass();
- if (type != declaration.getType() && type != CHANGE_SUMMARY)
- writeGlobalAttribute(ExtendedMetaData.XSI_PREFIX, ExtendedMetaData.XSI_URI, XMLResource.TYPE, new StringBuffer(prefix(extendedMetaData.getNamespace(type), null))
- .append(':').append(extendedMetaData.getName(type)).toString());
- }
-
- /*
- * 6-3. "create" attribute
- * input: createdDataObjects (6-1), rootResource (6-2), changeSummary & writer
- */
- rootElementNS = null;
- this.changeSummary = changeSummary;
- if (createdDataObjects.hasNext()) {
- StringBuffer buffer = new StringBuffer();
- while (true) {
- dataObject = (DataObject) createdDataObjects.next();
- buffer.append(ref());
- if (!createdDataObjects.hasNext())
- break;
- buffer.append(' ');
- }
- writer.writeAttribute(CREATE_ATTRIBUTE, buffer.toString());
- }
-
- /*
- * 6-4. "delete" attribute
- * input: deletedDataObjects (6-1), modifiedDataObjects (6-1) & writer
- */
- Iterator iterator = deletedDataObjects.iterator();
- if (iterator.hasNext()) {
- lengthDeleted = -1;
- StringBuffer buffer = null;
- do {
- dataObject = (DataObject) iterator.next();
- if (skipDeletedModification(changeSummary.getOldContainer(dataObject)))
- continue;
- if (buffer == null)
- buffer = new StringBuffer();
- else
- buffer.append(' ');
- buffer.append(refDeleted());
- } while (iterator.hasNext());
- writer.writeAttribute(DELETE_ATTRIBUTE, buffer.toString());
- }
-
- /*
- * 6-5. "logging" attribute
- * input: changeSummary & writer
- */
- writer.writeAttribute(LOGGING_ATTRIBUTE, changeSummary.isLogging() ? "true" : "false");
-
- /*
- * 6-6. Modified DataObjects
- * input: modifiedDataObjects (6-1), rootResource (6-2), changeSummary & writer
- */
- iterator = modifiedDataObjects.iterator();
- if (iterator.hasNext()) {
- boolean optimizeList;
- if (options == null)
- optimizeList = false;
- else
- {
- Object option = options.get(OPTION_OPTIMIZE_LIST);
- optimizeList = option == null ? false : ((Boolean)option).booleanValue();
- }
- prefix(SDOAnnotations.COMMONJ_SDO_NS, SDOPackage.eNS_PREFIX);
- do {
- DataObject dataObject = (DataObject) iterator.next();
- if (skipDeletedModification(dataObject))
- continue;
- Property containmentProperty = dataObject.getContainmentProperty();
- if (containmentProperty == null) {
- ++nest;
- startElement();
- rootElementName();
- writer.writeStartElement(rootElementNS, rootElementName);
- } else
- writeStartElement(containmentProperty);
- this.dataObject = dataObject;
- writeRef();
-
- String lineBreak = null;
- Collection oldValues = (Collection) objectChanges.get(dataObject); // changeSummary.getOldValues repeats Sequence changes
- Iterator settings = oldValues.iterator();
- if (settings.hasNext()) {
- do {
- ChangeSummary.Setting oldValue = (ChangeSummary.Setting) settings.next();
- if (oldValue.isSet())
- continue;
- StringBuffer unset = step(oldValue.getProperty());
- while (settings.hasNext()) {
- oldValue = (ChangeSummary.Setting) settings.next();
- if (!oldValue.isSet())
- step(oldValue.getProperty(), unset.append(' '));
- }
- writer.writeAttribute(SDOAnnotations.COMMONJ_SDO_NS, UNSET, unset.toString());
- break;
- } while (settings.hasNext());
- for (settings = oldValues.iterator(); settings.hasNext();) {
- ChangeSummary.Setting oldValue = (ChangeSummary.Setting) settings.next();
- Property property = oldValue.getProperty();
- if (oldValue.isSet() && xsdHelper.isAttribute(property))
- // assert ! property.isMany();
- writeAttribute(property, convertToString(property, oldValue.getValue()));
- }
- for (settings = oldValues.iterator(); settings.hasNext();) {
- ChangeSummary.Setting oldValue = (ChangeSummary.Setting) settings.next();
- Property property = oldValue.getProperty();
- if (!xsdHelper.isAttribute(property))
- if (property.isMany()) {
- Object value = oldValue.getValue();
- List list = (List) value;
- if (FeatureMapUtil.isFeatureMap((EStructuralFeature) property)) {
- if (optimizeList)
- list = optimize(list, oldValue, dataObject.getSequence(property).size());
- Iterator values = list.iterator();
- if (!values.hasNext())
- continue;
- do
- writeElement(values.next());
- while (values.hasNext());
- } else {
- if (optimizeList)
- list = optimize(list, oldValue, dataObject.getList(property).size());
- Iterator values = list.iterator();
- if (!values.hasNext())
- continue;
- do
- writeElement(values.next(), property);
- while (values.hasNext());
- }
- lineBreak = this.lineBreak;
- } else if (oldValue.isSet()) {
- Object value = oldValue.getValue();
- if (value instanceof FeatureMap.Entry)
- writeElement(value);
- else
- writeElement(value, property);
- lineBreak = this.lineBreak;
- }
- }
- }
- writeEndElement(lineBreak);
- } while (iterator.hasNext());
- writeEndElement(lineBreak);
- } else
- writeEndElement(null);
- writer.flush();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java
deleted file mode 100644
index 06099fe6a3..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java
+++ /dev/null
@@ -1,1579 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.stream.Location;
-import javax.xml.stream.XMLStreamException;
-
-import org.apache.tuscany.sdo.impl.AttributeImpl;
-import org.apache.tuscany.sdo.impl.ReferenceImpl;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XSDHelper;
-
-public class DataObjectXMLStreamReader implements XMLFragmentStreamReader {
- private static final QName XSI_TYPE_QNAME = new QName("http://www.w3.org/2001/XMLSchema-instance", "type", "xsi");
- private Property rootElement = null;
- private DataObject dataObject;
-
- private String rootElementURI;
-
- private String rootElementName;
-
- private DataObject serializeRoot;
-
- private TypeHelper typeHelper;
-
- private XSDHelper xsdHelper;
-
- private Map.Entry[] properties;
-
- private Map.Entry[] attributes;
-
- private QName elementQName;
-
- // we always create a new namespace context
- private NameSpaceContext namespaceContext;
-
- private Map declaredNamespaceMap = new HashMap();
-
- // states for this pullparser - it can only have three states
- private static final int START_ELEMENT_STATE = 0;
-
- private static final int END_ELEMENT_STATE = 1;
-
- private static final int DELEGATED_STATE = 2;
-
- private static final int TEXT_STATE = 3;
-
- // integer field that keeps the state of this
- // parser.
- private int state = START_ELEMENT_STATE;
-
- // reference to the child reader
- private XMLFragmentStreamReader childReader;
-
- // current property index
- // initialized at zero
- private int currentPropertyIndex = 0;
-
- public DataObjectXMLStreamReader(DataObject dataObject, String rootElmentURI, String rootElementName) {
- this(dataObject, rootElmentURI, rootElementName, null, null);
- }
-
- public DataObjectXMLStreamReader(DataObject dataObject, String rootElmentURI, String rootElementName, TypeHelper typeHelper) {
- this(dataObject, rootElmentURI, rootElementName, typeHelper, null);
- }
-
- public DataObjectXMLStreamReader(DataObject dataObject, String rootElmentURI, String rootElementName, TypeHelper typeHelper, XSDHelper xsdHelper) {
- this.dataObject = dataObject;
- this.rootElementURI = rootElmentURI;
- this.rootElementName = rootElementName;
- this.serializeRoot = dataObject;
- this.typeHelper = typeHelper == null ? TypeHelper.INSTANCE : typeHelper;
- this.xsdHelper = (xsdHelper != null) ? xsdHelper : ((typeHelper == null) ? XSDHelper.INSTANCE : SDOUtil.createXSDHelper(typeHelper));
- rootElement = this.xsdHelper.getGlobalProperty(rootElmentURI, rootElementName, true);
- namespaceContext = new NameSpaceContext();
- populateProperties();
- }
-
- protected DataObjectXMLStreamReader(TypeHelper typeHelper, XSDHelper xsdHelper, Property rootElement, DataObject dataObject) {
- this.typeHelper = typeHelper == null ? TypeHelper.INSTANCE : typeHelper;
- this.xsdHelper = (xsdHelper != null) ? xsdHelper : ((typeHelper == null) ? XSDHelper.INSTANCE : SDOUtil.createXSDHelper(typeHelper));
- this.rootElement = rootElement;
- this.dataObject = dataObject;
- this.rootElementURI = xsdHelper.getNamespaceURI(rootElement);
- this.rootElementName = xsdHelper.getLocalName(rootElement);
- }
-
- protected DataObjectXMLStreamReader(TypeHelper typeHelper, XSDHelper xsdHelper, Property rootElement, DataObject dataObject, DataObject serializeRoot) {
- this.typeHelper = typeHelper == null ? TypeHelper.INSTANCE : typeHelper;
- this.xsdHelper = (xsdHelper != null) ? xsdHelper : ((typeHelper == null) ? XSDHelper.INSTANCE : SDOUtil.createXSDHelper(typeHelper));
- this.rootElement = rootElement;
- this.dataObject = dataObject;
- this.serializeRoot = serializeRoot;
- this.rootElementURI = xsdHelper.getNamespaceURI(rootElement);
- this.rootElementName = xsdHelper.getLocalName(rootElement);
- }
- public DataObjectXMLStreamReader(Property rootElement, DataObject dataObject, TypeHelper typeHelper, XSDHelper xsdHelper) {
- this(typeHelper, xsdHelper, rootElement, dataObject);
- namespaceContext = new NameSpaceContext();
- populateProperties();
- }
-
- public DataObjectXMLStreamReader(XMLDocument document, TypeHelper typeHelper) {
- this.dataObject = document.getRootObject();
- this.rootElementName = document.getRootElementName();
- this.rootElementURI = document.getRootElementURI();
- this.serializeRoot = this.dataObject;
- this.typeHelper = typeHelper;
- this.xsdHelper = typeHelper == null ? XSDHelper.INSTANCE : SDOUtil.createXSDHelper(typeHelper);
- namespaceContext = new NameSpaceContext();
- populateProperties();
- }
-
- /*
- * we need to pass in a namespace context since when delegated, we've no idea of the current namespace context. So it needs to be passed on here!
- */
- protected DataObjectXMLStreamReader(QName elementQName, Map.Entry[] properties, Map.Entry[] attributes) {
- // validate the lengths, since both the arrays are supposed
- // to have
- this.properties = properties;
- this.elementQName = elementQName;
- this.attributes = attributes;
- namespaceContext = new NameSpaceContext();
- }
-
- private void addProperty(Property property, Object value, List propertyList) {
- if (property.isMany() && property.getContainingType().isOpen() && value instanceof Sequence) {
- addSequenceValue(propertyList, (Sequence) value);
- } else if (SDOUtil.isMany(property, dataObject) && value instanceof List) {
- addListValue(propertyList, property, (List) value);
- } else {
- // Complex Type
- addSingleValue(propertyList, property, value);
- }
- }
-
- void addProperty(List propertyList, Property property, Object value, Object type) {
- if (!isTransient(property, type))
- addProperty(property, value, propertyList);
- }
-
- private void addSequenceValue(List elements, Sequence seq) {
- if (seq != null && seq.size() > 0) {
- for (int j = 0; j < seq.size(); j++) {
- Object o = seq.getValue(j);
- Property p = seq.getProperty(j);
- addSingleValue(elements, p, o);
- }
- }
- }
-
- static private boolean isTransient(Property property, Object type) {
- // HACK: We need some SDOUtil extension to understand a property is derived
- EStructuralFeature feature = (EStructuralFeature) property;
- if (ExtendedMetaData.INSTANCE.getGroup(feature) != null)
- return false;
- feature = ExtendedMetaData.INSTANCE.getAffiliation((EClass) type, feature);
- if (feature != null && feature != property)
- return false;
- if (property instanceof ReferenceImpl) {
- ReferenceImpl r = (ReferenceImpl) property;
- if (r.isTransient())
- return true;
- EReference opposite = r.getEOpposite();
- if (opposite != null && opposite.isContainment()) {
- return true;
- }
- } else if (property instanceof AttributeImpl) {
- AttributeImpl a = (AttributeImpl) property;
- if (a.isTransient())
- return true;
- EDataType d = (EDataType) a.getEType();
- if (!d.isSerializable()) {
- return true;
- }
- }
- return false;
- }
-
- private void addListValue(List propertyList, Property property, List objList) {
- if (objList != null) {
- for (int j = 0; j < objList.size(); j++) {
- Object object = objList.get(j);
- addSingleValue(propertyList, property, object);
- }
- }
- }
-
- private void addSingleValue(List propertyList, Property property, Object value) {
- String uri = xsdHelper.getNamespaceURI(property);
- String name = xsdHelper.getLocalName(property);
- QName qname = namespaceContext.createQName(uri, name);
- Type propertyType = property.getType();
-
- if (property.getName().equals("value") && uri == null && name.equals(":0")) {
- // "value" is special property containing the value of simpleContent
- Map.Entry entry = new NameValuePair(ELEMENT_TEXT, value);
- propertyList.add(entry);
- } else
-
- // FIXME: We need to deal with non-containment properties
- if (value == null) {
- // Creating xsi:nil="true" for elements
- registerNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
- Map.Entry entry = new NameValuePair(qname, null);
- propertyList.add(entry);
- } else if (propertyType.isDataType()) {
- Map.Entry entry = new NameValuePair(qname, SDOUtil.convertToString(propertyType, value));
- propertyList.add(entry);
- } else if (property.isContainment() && value == serializeRoot) {
- // do not create the childReader because a containmentCycle exists and this is the second
- // time this DataObject has been encountered
- } else {
- DataObjectXMLStreamReader childReader = new DataObjectXMLStreamReader(typeHelper, xsdHelper, property, (DataObject) value, serializeRoot);
- childReader.namespaceContext = namespaceContext;
- childReader.populateProperties();
- childReader.rootElement = property;
- Map.Entry entry = new NameValuePair(qname, childReader);
- propertyList.add(entry);
- }
- }
-
- public void populateProperties() {
- /*declaredNamespaceMap.put("xml", "http://www.w3.org/XML/1998/namespace");
- declaredNamespaceMap.put("xmlns", "http://www.w3.org/2000/xmlns/");
- declaredNamespaceMap.put("xsi", "http://www.w3.org/2001/XMLSchema-instance");
- */
-
- if (properties != null)
- return;
- if (elementQName == null)
- elementQName = namespaceContext.createQName(this.rootElementURI, this.rootElementName);
- else
- elementQName = namespaceContext.createQName(elementQName.getNamespaceURI(), elementQName.getLocalPart());
-
- List elementList = new ArrayList();
- List attributeList = new ArrayList();
- if (dataObject == null) {
- return;
- }
- Type type = dataObject.getType();
-
- // Add xsi:type if rootElement doesn't exist or the type is different
- if (rootElement == null || (rootElement != null && rootElement.getType() != type)) {
- // FIXME: XSDHelper.getLocalName() for annoymous type returns null?
- String typeName = xsdHelper.getLocalName(type);
- if (typeName != null) {
- QName realTypeName = namespaceContext.createQName(type.getURI(), typeName);
- String typeQName = realTypeName.getPrefix() + ":" + realTypeName.getLocalPart();
- registerNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
- registerNamespace(realTypeName.getPrefix(), realTypeName.getNamespaceURI());
- attributeList.add(new NameValuePair(XSI_TYPE_QNAME, typeQName));
- }
- }
-
- if (type.isSequenced()) {
- Sequence sequence = dataObject.getSequence();
- for (int i = 0; i < sequence.size(); i++) {
- Property property = sequence.getProperty(i);
- Object value = sequence.getValue(i);
- if (property == null) {
- // property == null for text in mixed content
- elementList.add(new NameValuePair(ELEMENT_TEXT, value));
- } else {
- addProperty(property, value, elementList);
- }
- }
- // Attributes are not in the sequence
- List properties = dataObject.getInstanceProperties();
- for (Iterator i = properties.iterator(); i.hasNext();) {
- Property property = (Property) i.next();
- if (xsdHelper.isAttribute(property)) {
- // FIXME: How to handle nilable=true?
- if (!dataObject.isSet(property))
- continue;
- Object value = dataObject.get(property);
- addProperty(attributeList, property, value, type);
- }
- }
- } else {
- List properties = dataObject.getInstanceProperties();
- for (Iterator i = properties.iterator(); i.hasNext();) {
- Property property = (Property) i.next();
- // FIXME: How to handle nilable=true?
- if (!dataObject.isSet(property))
- continue;
- Object value = dataObject.get(property);
- if (xsdHelper.isAttribute(property))
- addProperty(attributeList, property, value, type);
- else
- addProperty(elementList, property, value, type);
- }
- }
- properties = (Map.Entry[]) elementList.toArray(new Map.Entry[0]);
- attributes = (Map.Entry[]) attributeList.toArray(new Map.Entry[0]);
- }
-
- public DataObject getDataObject() {
- return dataObject;
- }
-
- /**
- * we need to split out the calling to the populate namespaces seperately since this needs to be done *after* setting the parent namespace
- * context. We cannot assume it will happen at construction!
- */
- public void init() {
- // here we have an extra issue to attend to. we need to look at the
- // prefixes and uris (the combination) and populate a hashmap of
- // namespaces. The hashmap of namespaces will be used to serve the
- // namespace context
-
- populateNamespaceContext();
- }
-
- /**
- *
- * @param key
- * @return
- * @throws IllegalArgumentException
- */
- public Object getProperty(String key) throws IllegalArgumentException {
- if (state == START_ELEMENT_STATE || state == END_ELEMENT_STATE) {
- return null;
- } else if (state == TEXT_STATE) {
- return null;
- } else if (state == DELEGATED_STATE) {
- return childReader.getProperty(key);
- } else {
- return null;
- }
-
- }
-
- public int next() throws XMLStreamException {
- return updateStatus();
- }
-
- public void require(int i, String string, String string1) throws XMLStreamException {
- throw new UnsupportedOperationException();
- }
-
- /**
- * todo implement the right contract for this
- *
- * @return
- * @throws XMLStreamException
- */
- public String getElementText() throws XMLStreamException {
- if (state == DELEGATED_STATE) {
- return childReader.getElementText();
- } else {
- return null;
- }
-
- }
-
- /**
- * todo implement this
- *
- * @return
- * @throws XMLStreamException
- */
- public int nextTag() throws XMLStreamException {
- return 0;
- }
-
- /**
- * @return
- * @throws XMLStreamException
- */
- public boolean hasNext() throws XMLStreamException {
- if (state == DELEGATED_STATE) {
- if (childReader.isEndOfFragment()) {
- // the child reader is done. We shouldn't be getting the
- // hasnext result from the child pullparser then
- return true;
- } else {
- return childReader.hasNext();
- }
- } else {
- return (state == START_ELEMENT_STATE || state == TEXT_STATE);
-
- }
- }
-
- public void close() throws XMLStreamException {
- // do nothing here - we have no resources to free
- }
-
- public String getNamespaceURI(String prefix) {
- return namespaceContext.getNamespaceURI(prefix);
- }
-
- public boolean isStartElement() {
- if (state == START_ELEMENT_STATE) {
- return true;
- } else if (state == END_ELEMENT_STATE) {
- return false;
- }
- return childReader.isStartElement();
- }
-
- public boolean isEndElement() {
- if (state == START_ELEMENT_STATE) {
- return false;
- } else if (state == END_ELEMENT_STATE) {
- return true;
- }
- return childReader.isEndElement();
- }
-
- public boolean isCharacters() {
- if (state == START_ELEMENT_STATE || state == END_ELEMENT_STATE) {
- return false;
- }
- return childReader.isCharacters();
- }
-
- public boolean isWhiteSpace() {
- if (state == START_ELEMENT_STATE || state == END_ELEMENT_STATE) {
- return false;
- }
- return childReader.isWhiteSpace();
- }
-
- // /////////////////////////////////////////////////////////////////////////
- // / attribute handling
- // /////////////////////////////////////////////////////////////////////////
-
- public String getAttributeValue(String nsUri, String localName) {
-
- int attribCount = getAttributeCount();
- String returnValue = null;
- QName attribQualifiedName;
- for (int i = 0; i < attribCount; i++) {
- attribQualifiedName = getAttributeName(i);
- if (nsUri == null) {
- if (localName.equals(attribQualifiedName.getLocalPart())) {
- returnValue = getAttributeValue(i);
- break;
- }
- } else {
- if (localName.equals(attribQualifiedName.getLocalPart()) && nsUri.equals(attribQualifiedName.getNamespaceURI())) {
- returnValue = getAttributeValue(i);
- break;
- }
- }
-
- }
-
- return returnValue;
- }
-
- public int getAttributeCount() {
- return (state == DELEGATED_STATE) ? childReader.getAttributeCount()
- : ((attributes != null) && (state == START_ELEMENT_STATE) ? attributes.length : 0);
- }
-
- /**
- * @param i
- * @return
- */
- public QName getAttributeName(int i) {
- if (state == DELEGATED_STATE) {
- return childReader.getAttributeName(i);
- } else if (state == START_ELEMENT_STATE) {
- if (attributes == null) {
- return null;
- } else {
- if ((i >= (attributes.length)) || i < 0) { // out of range
- return null;
- } else {
- // get the attribute pointer
- Object attribPointer = attributes[i].getKey();
- // case one - attrib name is null
- // this should be the pointer to the OMAttribute then
- if (attribPointer instanceof String) {
- return new QName((String) attribPointer);
- } else if (attribPointer instanceof QName) {
- return (QName) attribPointer;
- } else {
- return null;
- }
- }
- }
- } else {
- throw new IllegalStateException();// as per the api contract
- }
-
- }
-
- public String getAttributeNamespace(int i) {
- if (state == DELEGATED_STATE) {
- return childReader.getAttributeNamespace(i);
- } else if (state == START_ELEMENT_STATE) {
- QName name = getAttributeName(i);
- if (name == null) {
- return null;
- } else {
- return name.getNamespaceURI();
- }
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeLocalName(int i) {
- if (state == DELEGATED_STATE) {
- return childReader.getAttributeLocalName(i);
- } else if (state == START_ELEMENT_STATE) {
- QName name = getAttributeName(i);
- if (name == null) {
- return null;
- } else {
- return name.getLocalPart();
- }
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributePrefix(int i) {
- if (state == DELEGATED_STATE) {
- return childReader.getAttributePrefix(i);
- } else if (state == START_ELEMENT_STATE) {
- QName name = getAttributeName(i);
- if (name == null) {
- return null;
- } else {
- return name.getPrefix();
- }
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeType(int i) {
- return null; // not supported
- }
-
- public String getAttributeValue(int i) {
- if (state == DELEGATED_STATE) {
- return childReader.getAttributeValue(i);
- } else if (state == START_ELEMENT_STATE) {
- if (attributes == null) {
- return null;
- } else {
- if ((i >= (attributes.length)) || i < 0) { // out of range
- return null;
- } else {
- // get the attribute pointer
- Object attribPointer = attributes[i].getKey();
- Object omAttribObj = attributes[i].getValue();
-
- // Handle xsd:QName/SDO URI type property
- // Before save, convert <uri>#<local part> to <prefix>:<local part>
- String propertyName = null;
- if (attribPointer instanceof String)
- propertyName = (String)attribPointer;
- else if (attribPointer instanceof QName)
- propertyName = ((QName)attribPointer).getLocalPart();
- else
- return null;
-
- String attrValue = (String)omAttribObj;
-
- Property property = dataObject.getType().getProperty(propertyName);
- // property can be null for xsi:type
- if (property != null && "URI".equals(property.getType().getName())) {
- String namespace = null;
- String localPart = attrValue;
-
- int index = attrValue.indexOf('#');
- if (index == -1) {
- return localPart;
- }
- else {
- namespace = localPart.substring(0, index);
- localPart = localPart.substring(index+1);
-
- String prefix = namespaceContext.getPrefix(namespace);
- if (prefix == null || prefix.length() == 0)
- return localPart;
-
- return prefix + ":" + localPart;
- }
- }
- else {
- return attrValue;
- }
- }
- }
- } else {
- throw new IllegalStateException();
- }
-
- }
-
- public boolean isAttributeSpecified(int i) {
- return false; // not supported
- }
-
- // /////////////////////////////////////////////////////////////////////////
- // //////////// end of attribute handling
- // /////////////////////////////////////////////////////////////////////////
-
- // //////////////////////////////////////////////////////////////////////////
- // //////////// namespace handling
- // //////////////////////////////////////////////////////////////////////////
-
- public int getNamespaceCount() {
- if (state == DELEGATED_STATE) {
- return childReader.getNamespaceCount();
- } else {
- return declaredNamespaceMap.size();
- }
- }
-
- /**
- * @param i
- * @return
- */
- public String getNamespacePrefix(int i) {
- if (state == DELEGATED_STATE) {
- return childReader.getNamespacePrefix(i);
- } else if (state != TEXT_STATE) {
- // order the prefixes
- String[] prefixes = makePrefixArray();
- if ((i >= prefixes.length) || (i < 0)) {
- return null;
- } else {
- return prefixes[i];
- }
-
- } else {
- throw new IllegalStateException();
- }
-
- }
-
- /**
- * Get the prefix list from the hastable and take that into an array
- *
- * @return
- */
- private String[] makePrefixArray() {
- String[] prefixes = (String[]) declaredNamespaceMap.keySet().toArray(new String[declaredNamespaceMap.size()]);
- Arrays.sort(prefixes);
- return prefixes;
- }
-
- public String getNamespaceURI(int i) {
- if (state == DELEGATED_STATE) {
- return childReader.getNamespaceURI(i);
- } else if (state != TEXT_STATE) {
- String namespacePrefix = getNamespacePrefix(i);
- return namespacePrefix == null ? null : (String) declaredNamespaceMap.get(namespacePrefix);
- } else {
- throw new IllegalStateException();
- }
-
- }
-
- public NamespaceContext getNamespaceContext() {
- if (state == DELEGATED_STATE) {
- return childReader.getNamespaceContext();
- } else {
- return namespaceContext;
- }
-
- }
-
- // /////////////////////////////////////////////////////////////////////////
- // /////// end of namespace handling
- // /////////////////////////////////////////////////////////////////////////
-
- public int getEventType() {
- if (state == START_ELEMENT_STATE) {
- return START_ELEMENT;
- } else if (state == END_ELEMENT_STATE) {
- return END_ELEMENT;
- } else { // this is the delegated state
- return childReader.getEventType();
- }
-
- }
-
- public String getText() {
- if (state == DELEGATED_STATE) {
- return childReader.getText();
- } else if (state == TEXT_STATE) {
- return (String) properties[currentPropertyIndex - 1].getValue();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public char[] getTextCharacters() {
- if (state == DELEGATED_STATE) {
- return childReader.getTextCharacters();
- } else if (state == TEXT_STATE) {
- return getTextData();
- } else {
- throw new IllegalStateException();
- }
- }
-
- private char[] getTextData() {
- return properties[currentPropertyIndex - 1].getValue() == null ? new char[0] : ((String) properties[currentPropertyIndex - 1].getValue())
- .toCharArray();
- }
-
- private int copy(int sourceStart, char[] target, int targetStart, int length) {
- char[] source = getTextData();
- if (sourceStart > source.length)
- throw new IndexOutOfBoundsException("source start > source length");
- int sourceLen = source.length - sourceStart;
- if (length > sourceLen)
- length = sourceLen;
- System.arraycopy(source, sourceStart, target, targetStart, length);
- return sourceLen;
- }
-
- public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException {
- if (state == DELEGATED_STATE) {
- return childReader.getTextCharacters(i, chars, i1, i2);
- } else if (state == TEXT_STATE) {
- return copy(i, chars, i1, i2);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public int getTextStart() {
- if (state == DELEGATED_STATE) {
- return childReader.getTextStart();
- } else if (state == TEXT_STATE) {
- return 0;// assume text always starts at 0
- } else {
- throw new IllegalStateException();
- }
- }
-
- public int getTextLength() {
- if (state == DELEGATED_STATE) {
- return childReader.getTextLength();
- } else if (state == TEXT_STATE) {
- return getTextData().length;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getEncoding() {
- if (state == DELEGATED_STATE) {
- return childReader.getEncoding();
- } else {
- // we've no idea what the encoding is going to be in this case
- // perhaps we ought to return some constant here, which the user might
- // have access to change!
- return null;
- }
- }
-
- /**
- * check the validity of this implementation
- *
- * @return
- */
- public boolean hasText() {
- if (state == DELEGATED_STATE) {
- return childReader.hasText();
- } else if (state == TEXT_STATE) {
- return true;
- } else {
- return false;
- }
-
- }
-
- /**
- * @return
- */
- public Location getLocation() {
- // return a default location
- return new Location() {
- public int getLineNumber() {
- return 0;
- }
-
- public int getColumnNumber() {
- return 0;
- }
-
- public int getCharacterOffset() {
- return 0;
- }
-
- public String getPublicId() {
- return null;
- }
-
- public String getSystemId() {
- return null;
- }
- };
- }
-
- public QName getName() {
- if (state == DELEGATED_STATE) {
- return childReader.getName();
- } else if (state != TEXT_STATE) {
- return elementQName;
- } else {
- throw new IllegalStateException();
- }
-
- }
-
- public String getLocalName() {
- if (state == DELEGATED_STATE) {
- return childReader.getLocalName();
- } else if (state != TEXT_STATE) {
- return elementQName.getLocalPart();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public boolean hasName() {
- // since this parser always has a name, the hasname
- // has to return true if we are still navigating this element
- // if not we should ask the child reader for it.
- if (state == DELEGATED_STATE) {
- return childReader.hasName();
- } else if (state != TEXT_STATE) {
- return true;
- } else {
- return false;
- }
- }
-
- public String getNamespaceURI() {
- if (state == DELEGATED_STATE) {
- return childReader.getNamespaceURI();
- } else if (state == TEXT_STATE) {
- return null;
- } else {
- return elementQName.getNamespaceURI();
- }
- }
-
- public String getPrefix() {
- if (state == DELEGATED_STATE) {
- return childReader.getPrefix();
- } else if (state == TEXT_STATE) {
- return null;
- } else {
- return elementQName.getPrefix();
- }
- }
-
- public String getVersion() {
- return null;
- }
-
- public boolean isStandalone() {
- return true;
- }
-
- public boolean standaloneSet() {
- return true;
- }
-
- public String getCharacterEncodingScheme() {
- return null; // todo - should we return something for this ?
- }
-
- public String getPITarget() {
- throw new UnsupportedOperationException("Yet to be implemented !!");
- }
-
- public String getPIData() {
- throw new UnsupportedOperationException("Yet to be implemented !!");
- }
-
- // /////////////////////////////////////////////////////////////////////////
- // / Other utility methods
- // ////////////////////////////////////////////////////////////////////////
-
- /**
- * Populates a namespace context
- */
- private void populateNamespaceContext() {
-
- // first add the current element namespace to the namespace context
- // declare it if not found
- registerNamespace(elementQName.getPrefix(), elementQName.getNamespaceURI());
-
- // traverse through the attributes and populate the namespace context
- // the attrib list can be of many combinations
- // the valid combinations are
- // String - String
- // QName - QName
- // null - OMAttribute
-
- if (attributes != null) {
- for (int i = 0; i < attributes.length; i++) { // jump in two
- Object attribName = attributes[i].getKey();
- if (attribName instanceof String) {
- // ignore this case - Nothing to do
- } else if (attribName instanceof QName) {
- QName attribQName = ((QName) attribName);
- registerNamespace(attribQName.getPrefix(), attribQName.getNamespaceURI());
-
- }
- }
- }
-
- }
-
- /**
- * @param prefix
- * @param uri
- */
- private void registerNamespace(String prefix, String uri) {
- if (!uri.equals(namespaceContext.getNamespaceURI(prefix))) {
- namespaceContext.registerMapping(prefix, uri);
- declaredNamespaceMap.put(prefix, uri);
- }
- }
-
- /**
- * By far this should be the most important method in this class this method changes the state of the parser according to the change in the
- */
- private int updateStatus() throws XMLStreamException {
- int returnEvent = -1; // invalid state is the default state
- switch (state) {
- case START_ELEMENT_STATE:
- // current element is start element. We should be looking at the
- // property list and making a pullparser for the property value
- if (properties == null || properties.length == 0) {
- // no properties - move to the end element state straightaway
- state = END_ELEMENT_STATE;
- returnEvent = END_ELEMENT;
- } else {
- // there are properties. now we should delegate this task to a
- // child reader depending on the property type
- returnEvent = processProperties();
-
- }
- break;
- case END_ELEMENT_STATE:
- // we've reached the end element already. If the user tries to push
- // further ahead then it is an exception
- throw new XMLStreamException("Trying to go beyond the end of the pullparser");
-
- case DELEGATED_STATE:
- if (childReader.isEndOfFragment()) {
- // we've reached the end!
- if (currentPropertyIndex > (properties.length - 1)) {
- state = END_ELEMENT_STATE;
- returnEvent = END_ELEMENT;
- } else {
- returnEvent = processProperties();
- }
- } else {
- returnEvent = childReader.next();
- }
- break;
-
- case TEXT_STATE:
- // if there are any more event we should be delegating to
- // processProperties. if not we just return an end element
- if (currentPropertyIndex > (properties.length - 1)) {
- state = END_ELEMENT_STATE;
- returnEvent = END_ELEMENT;
- } else {
- returnEvent = processProperties();
- }
- break;
- }
- return returnEvent;
- }
-
- /**
- * A convenient method to reuse the properties
- *
- * @return event to be thrown
- * @throws XMLStreamException
- */
- private int processProperties() throws XMLStreamException {
- // move to the next property depending on the current property
- // index
- Object propPointer = properties[currentPropertyIndex].getKey();
- QName propertyQName = null;
- boolean textFound = false;
- if (propPointer == null) {
- throw new XMLStreamException("property key cannot be null!");
- } else if (propPointer instanceof String) {
- // propPointer being a String has a special case
- // that is it can be a the special constant ELEMENT_TEXT that
- // says this text event
- if (ELEMENT_TEXT.equals(propPointer)) {
- textFound = true;
- } else {
- propertyQName = new QName((String) propPointer);
- }
- } else if (propPointer instanceof QName) {
- propertyQName = (QName) propPointer;
- } else {
- // oops - we've no idea what kind of key this is
- throw new XMLStreamException("unidentified property key!!!" + propPointer);
- }
-
- // ok! we got the key. Now look at the value
- Object propertyValue = properties[currentPropertyIndex].getValue();
- // cater for the special case now
- if (textFound) {
- // no delegation here - make the parser null and immediately
- // return with the event characters
- childReader = null;
- state = TEXT_STATE;
- currentPropertyIndex++;
- return CHARACTERS;
- } else if (propertyValue == null || propertyValue instanceof String) {
- // strings are handled by the NameValuePairStreamReader
- childReader = new SimpleElementStreamReader(propertyQName, (String) propertyValue, namespaceContext);
- childReader.init();
- } else if (propertyValue instanceof DataObjectXMLStreamReader) {
- // ADBbean has it's own method to get a reader
- XMLFragmentStreamReader reader = (DataObjectXMLStreamReader) propertyValue;
- // we know for sure that this is an ADB XMLStreamreader.
- // However we need to make sure that it is compatible
- childReader = reader;
- childReader.init();
- } else {
- // all special possiblilities has been tried! Let's treat
- // the thing as a bean and try generating events from it
- throw new UnsupportedOperationException("Not supported");
- // childReader = new WrappingXMLStreamReader(BeanUtil.getPullParser(propertyValue, propertyQName));
- // we cannot register the namespace context here
- }
-
- // set the state here
- state = DELEGATED_STATE;
- // we are done with the delegation
- // increment the property index
- currentPropertyIndex++;
- return childReader.getEventType();
- }
-
- /**
- * are we done ?
- *
- * @return
- */
- public boolean isEndOfFragment() {
- return (state == END_ELEMENT_STATE);
- }
-
- protected static class NameValuePair implements Map.Entry {
- private Object key;
-
- private Object value;
-
- public NameValuePair(Object key, Object value) {
- this.key = key;
- this.value = value;
- }
-
- public Object getKey() {
- return key;
- }
-
- public Object getValue() {
- return value;
- }
-
- public Object setValue(Object value) {
- Object v = this.value;
- this.value = value;
- return v;
- }
-
- }
-
- protected static class SimpleElementStreamReader implements XMLFragmentStreamReader {
-
- private static final int START_ELEMENT_STATE = 0;
-
- private static final int TEXT_STATE = 1;
-
- private static final int END_ELEMENT_STATE = 2;
-
- private static final int START_ELEMENT_STATE_WITH_NULL = 3;
-
- private static final QName XSI_NIL_QNAME = new QName("http://www.w3.org/2001/XMLSchema-instance", "nil", "xsi");
-
- private final NameSpaceContext namespaceContext;
-
- private QName name;
-
- private String value;
-
- private int state = START_ELEMENT_STATE;
-
- public SimpleElementStreamReader(QName name, String value, NameSpaceContext nameSpaces) {
- this.name = name;
- this.value = value;
- if (value == null)
- state = START_ELEMENT_STATE_WITH_NULL;
- namespaceContext = nameSpaces;
- }
-
- public Object getProperty(String key) throws IllegalArgumentException {
- return null;
- }
-
- public int next() throws XMLStreamException {
- switch (state) {
- case START_ELEMENT_STATE:
- state = TEXT_STATE;
- return CHARACTERS;
- case START_ELEMENT_STATE_WITH_NULL:
- state = END_ELEMENT_STATE;
- return END_ELEMENT;
- case END_ELEMENT_STATE:
- // oops, not supposed to happen!
- throw new XMLStreamException("end already reached!");
- case TEXT_STATE:
- state = END_ELEMENT_STATE;
- return END_ELEMENT;
- default:
- throw new XMLStreamException("unknown event type!");
- }
- }
-
- public void require(int i, String string, String string1) throws XMLStreamException {
- // not implemented
- }
-
- public String getElementText() throws XMLStreamException {
- if (state == START_ELEMENT) {
- // move to the end state and return the value
- state = END_ELEMENT_STATE;
- return value;
- } else {
- throw new XMLStreamException();
- }
-
- }
-
- public int nextTag() throws XMLStreamException {
- return 0;// todo
- }
-
- public boolean hasNext() throws XMLStreamException {
- return (state != END_ELEMENT_STATE);
- }
-
- public void close() throws XMLStreamException {
- // Do nothing - we've nothing to free here
- }
-
- public String getNamespaceURI(String prefix) {
- return namespaceContext.getNamespaceURI(prefix);
- }
-
- public boolean isStartElement() {
- return (state == START_ELEMENT_STATE || state == START_ELEMENT_STATE_WITH_NULL);
- }
-
- public boolean isEndElement() {
- return (state == END_ELEMENT_STATE);
- }
-
- public boolean isCharacters() {
- return (state == TEXT_STATE);
- }
-
- public boolean isWhiteSpace() {
- return false; // no whitespaces here
- }
-
- public boolean isAttributeSpecified(int i) {
- return false; // no attribs here
- }
-
- public NamespaceContext getNamespaceContext() {
- return this.namespaceContext;
- }
-
- public int getEventType() {
- switch (state) {
- case START_ELEMENT_STATE:
- case START_ELEMENT_STATE_WITH_NULL:
- return START_ELEMENT;
- case END_ELEMENT_STATE:
- return END_ELEMENT;
- case TEXT_STATE:
- return CHARACTERS;
- default:
- throw new UnsupportedOperationException();
- // we've no idea what this is!!!!!
- }
-
- }
-
- public String getText() {
- if (state == TEXT_STATE) {
- return value;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public char[] getTextCharacters() {
- if (state == TEXT_STATE) {
- return value.toCharArray();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException {
- // not implemented
- throw new UnsupportedOperationException();
- }
-
- public int getTextStart() {
- if (state == TEXT_STATE) {
- return 0;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public int getTextLength() {
- if (state == TEXT_STATE) {
- return value.length();
- } else {
- throw new IllegalStateException();
- }
-
- }
-
- public String getEncoding() {
- return "UTF-8";
- }
-
- public boolean hasText() {
- return (state == TEXT_STATE);
- }
-
- public Location getLocation() {
- return new Location() {
- public int getLineNumber() {
- return 0;
- }
-
- public int getColumnNumber() {
- return 0;
- }
-
- public int getCharacterOffset() {
- return 0;
- }
-
- public String getPublicId() {
- return null;
- }
-
- public String getSystemId() {
- return null;
- }
- };
- }
-
- public QName getName() {
- if (state != TEXT_STATE) {
- return name;
- } else {
- return null;
- }
- }
-
- public String getLocalName() {
- if (state != TEXT_STATE) {
- return name.getLocalPart();
- } else {
- return null;
- }
- }
-
- public boolean hasName() {
- return (state != TEXT_STATE);
-
- }
-
- public String getNamespaceURI() {
- if (state != TEXT_STATE) {
- return name.getNamespaceURI();
- } else {
- return null;
- }
-
- }
-
- public String getPrefix() {
- if (state != TEXT_STATE) {
- return name.getPrefix();
- } else {
- return null;
- }
- }
-
- public String getVersion() {
- return null; // todo 1.0 ?
- }
-
- public boolean isStandalone() {
- return false;
- }
-
- public boolean standaloneSet() {
- return false;
- }
-
- public String getCharacterEncodingScheme() {
- return null;
- }
-
- public String getPITarget() {
- return null;
- }
-
- public String getPIData() {
- return null;
- }
-
- public boolean isEndOfFragment() {
- return (state == END_ELEMENT_STATE);
- }
-
- public void init() {
- // just add the current elements namespace and prefix to the this
- // elements nscontext
- registerNamespace(name.getPrefix(), name.getNamespaceURI());
-
- }
-
- /**
- * @param prefix
- * @param uri
- */
- private void registerNamespace(String prefix, String uri) {
- // todo - need to fix this up to cater for cases where
- // namespaces are having no prefixes
- if (!uri.equals(namespaceContext.getNamespaceURI(prefix))) {
- // this namespace is not there. Need to declare it
- namespaceContext.registerMapping(prefix, uri);
- }
- }
-
- public int getAttributeCount() {
- if (state == START_ELEMENT_STATE_WITH_NULL)
- return 1;
- if (state == START_ELEMENT_STATE) {
- return 0;
- } else {
- throw new IllegalStateException();
- }
-
- }
-
- public String getAttributeLocalName(int i) {
- if (state == START_ELEMENT_STATE_WITH_NULL && i == 0)
- return XSI_NIL_QNAME.getLocalPart();
- if (state == START_ELEMENT_STATE) {
- return null;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public QName getAttributeName(int i) {
- if (state == START_ELEMENT_STATE_WITH_NULL && i == 0)
- return XSI_NIL_QNAME;
- if (state == START_ELEMENT_STATE) {
- return null;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeNamespace(int i) {
- if (state == START_ELEMENT_STATE_WITH_NULL && i == 0)
- return XSI_NIL_QNAME.getNamespaceURI();
- if (state == START_ELEMENT_STATE) {
- return null;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributePrefix(int i) {
- if (state == START_ELEMENT_STATE_WITH_NULL && i == 0)
- return XSI_NIL_QNAME.getPrefix();
- if (state == START_ELEMENT_STATE) {
- return null;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeType(int i) {
- return null; // not implemented
- }
-
- public String getAttributeValue(int i) {
- if (state == START_ELEMENT_STATE_WITH_NULL && i == 0)
- return "true";
- if (state == START_ELEMENT_STATE) {
- return null;
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeValue(String string, String string1) {
- if (state == TEXT_STATE) {
- // todo something
- return null;
- } else {
- return null;
- }
-
- }
-
- public int getNamespaceCount() {
- if (state == START_ELEMENT_STATE_WITH_NULL && isXsiNamespacePresent())
- return 1;
- else
- return 0;
-
- }
-
- public String getNamespacePrefix(int i) {
- if (state == START_ELEMENT_STATE_WITH_NULL && isXsiNamespacePresent() && i == 0)
- return XSI_NIL_QNAME.getPrefix();
- else
- return null;
- }
-
- public String getNamespaceURI(int i) {
- if (state == START_ELEMENT_STATE_WITH_NULL && isXsiNamespacePresent() && i == 0)
- return XSI_NIL_QNAME.getNamespaceURI();
- else
- return null;
- }
-
- /**
- * Test whether the xsi namespace is present
- *
- * @return
- */
- private boolean isXsiNamespacePresent() {
- return (namespaceContext.getNamespaceURI(XSI_NIL_QNAME.getPrefix()) != null);
- }
-
- }
-
- protected class NameSpaceContext implements NamespaceContext {
- private Map prefixToNamespaceMapping = new HashMap();
-
- public NameSpaceContext() {
- prefixToNamespaceMapping.put("xml", "http://www.w3.org/XML/1998/namespace");
- prefixToNamespaceMapping.put("xmlns", "http://www.w3.org/2000/xmlns/");
- prefixToNamespaceMapping.put("xsi", "http://www.w3.org/2001/XMLSchema-instance");
- }
-
- public String getNamespaceURI(String prefix) {
- if (prefix == null)
- throw new IllegalArgumentException("Prefix is null");
-
- String ns = (String) prefixToNamespaceMapping.get(prefix);
- if (ns != null)
- return ns;
- else
- return null;
- }
-
- public String getPrefix(String nsURI) {
- if (nsURI == null)
- throw new IllegalArgumentException("Namespace is null");
- for (Iterator i = prefixToNamespaceMapping.entrySet().iterator(); i.hasNext();) {
- Map.Entry entry = (Map.Entry) i.next();
- if (entry.getValue().equals(nsURI)) {
- return (String) entry.getKey();
- }
- }
- return null;
- }
-
- public Iterator getPrefixes(String nsURI) {
- List prefixList = new ArrayList();
- for (Iterator i = prefixToNamespaceMapping.entrySet().iterator(); i.hasNext();) {
- Map.Entry entry = (Map.Entry) i.next();
- if (entry.getValue().equals(nsURI)) {
- prefixList.add(entry.getKey());
- }
- }
- return prefixList.iterator();
- }
-
- public void registerMapping(String prefix, String nsURI) {
- prefixToNamespaceMapping.put(prefix, nsURI);
- }
-
- private int counter = 0;
-
- public synchronized QName createQName(String nsURI, String name) {
- String prefix = nsURI != null ? (String) getPrefix(nsURI) : null;
- if (prefix == null && nsURI != null && !nsURI.equals(""))
- prefix = "p" + (counter++);
- if (prefix == null)
- prefix = "";
- if (nsURI != null) {
- prefixToNamespaceMapping.put(prefix, nsURI);
- declaredNamespaceMap.put(prefix, nsURI);
- }
- return new QName(nsURI, name, prefix);
- }
-
- public void removeMapping(String prefix) {
- prefixToNamespaceMapping.remove(prefix);
- }
- }
-
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/RecordedEventXMLStreamReader.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/RecordedEventXMLStreamReader.java
deleted file mode 100644
index a0da5d2609..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/RecordedEventXMLStreamReader.java
+++ /dev/null
@@ -1,868 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-
-import javax.xml.XMLConstants;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.stream.Location;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.xml.sax.Attributes;
-import org.xml.sax.Locator;
-
-/**
- * This special purpose XMLStreamReader is used to produce a StAX event stream corresponding to a list of events
- * recorded earlier. The recorded events are generated by the inner class RecordedEventXMLStreamReader.Tag,
- * which records the events in either of 2 ways:
- *
- * 1) in conjunction with class SDOXMLLoadImpl, it records events corresponding to the SAX events being
- * handled by the SDOXMLLoadImpl when loading XML using SDOXMLResourceImpl.
- * 2) when Tag.record() is called (see class ChangeSummaryStreamDeserializer), it walks through and records
- * the StAX events produced by another XMLStreamReader.
- *
- * This class is used by the SDO StAX-based ChangeSummaryType-property loader, class
- * ChangeSummaryStreamDeserializer, which is inoked by and uses (for loading deleted object XML fragments)
- * the SAX-based loader class XMLResourceImpl.
- */
-public abstract class RecordedEventXMLStreamReader implements XMLStreamReader {
-
- static private class Event {
- int type;
-
- public NamespaceContext nameSpaceContext;
-
- Location location;
-
- protected final void initialize(XMLStreamReader reader) {
- nameSpaceContext = reader.getNamespaceContext();
- location = reader.getLocation();
- }
-
- protected final void location(final Locator locator) {
- location = new Location() {
- public int getCharacterOffset() {
- return -1;
- }
-
- public int getColumnNumber() {
- return locator.getColumnNumber();
- }
-
- public int getLineNumber() {
- return locator.getLineNumber();
- }
-
- public String getPublicId() {
- return locator.getPublicId();
- }
-
- public String getSystemId() {
- return locator.getSystemId();
- }
- };
- }
- }
-
- static class ValueEvent extends Event {
- final String value;
-
- protected ValueEvent(String v) {
- value = v;
- }
- }
-
- static protected class Reference extends ValueEvent {
- final String target;
-
- protected Reference(String name, String data) {
- super(data);
- target = name;
- }
- }
-
- static protected final class AttributeEvent extends Reference {
- final QName name;
-
- final String nameSpace, prefix;
-
- int attributes;
-
- final boolean specified;
-
- protected AttributeEvent(XMLStreamReader reader) {
- super(reader.getAttributeType(0), reader.getAttributeValue(0));
- attributes = reader.getAttributeCount();
- name = reader.getAttributeName(0);
- nameSpace = reader.getAttributeNamespace(0);
- prefix = reader.getAttributePrefix(0);
- specified = reader.isAttributeSpecified(0);
- }
- }
-
- static protected final class NameSpaceEvent extends Reference {
- int nameSpaces;
-
- protected NameSpaceEvent(XMLStreamReader reader) {
- super(reader.getNamespacePrefix(0), reader.getNamespaceURI(0));
- nameSpaces = reader.getNamespaceCount();
- }
- }
-
- static protected String prefix(String qName, String nameSpace) {
- int delimiter = qName.indexOf(':');
- if (delimiter != -1)
- return qName.substring(0, delimiter);
- if (nameSpace.length() != 0)
- return XMLConstants.DEFAULT_NS_PREFIX;
- // if (nameSpaceContext.getNamespaceURI(XMLConstants.DEFAULT_NS_PREFIX) != null || xsdHelper.getGlobalProperty(null, name, element) == null)
- return null;
- }
-
- static class EndElement extends Event {
- List nameSpaces/* = null */;
-
- public final QName name;
-
- public final String nameSpace;
-
- final String prefix;
-
- protected EndElement(XMLStreamReader reader) {
- name = reader.getName();
- nameSpace = reader.getNamespaceURI();
- prefix = reader.getPrefix();
- int count = reader.getNamespaceCount();
- if (count == 0)
- return;
- nameSpaces = new ArrayList(count);
- int index = 0;
- do
- Tag.bind(reader.getNamespacePrefix(index), reader.getNamespaceURI(index), nameSpaces);
- while (++index != count);
- }
-
- protected EndElement(String uri, String local, String p, Locator locator) {
- if (p == null) {
- name = new QName(uri, local, XMLConstants.DEFAULT_NS_PREFIX);
- nameSpace = null;
- } else {
- name = new QName(uri, local, p);
- nameSpace = uri;
- }
- prefix = p;
- location(locator);
- }
- }
-
- static class NameSpace {
- final String prefix, uri;
-
- protected NameSpace(String p, String nameSpace) {
- prefix = p;
- uri = nameSpace;
- }
- }
-
- static final class Attribute extends NameSpace {
- final String type, value;
-
- final QName qName;
-
- boolean specified/* = false */;
-
- protected Attribute(String t, String v, QName name, String prefix, String nameSpace) {
- super(prefix, nameSpace);
- type = t;
- value = v;
- qName = name;
- }
- }
-
- static final class AttributeList /* implements Attributes */{// TODO exclude XMLConstants.XMLNS_ATTRIBUTE
- final List attributes;
-
- protected AttributeList(int size) {
- attributes = new ArrayList(size);
- }
-
- /*
- * @param uri Never null
- */
- public final int getIndex(String uri, String localName) {
- for (int index = getLength(); index != 0;)
- if (getLocalName(--index).equals(localName) && uri.equals(getURI(index)))
- return index;
- return -1;
- }
-
- public final int getLength() {
- return attributes.size();
- }
-
- protected final Attribute attribute(int index) {
- return (Attribute) attributes.get(index);
- }
-
- public final String getLocalName(int index) {
- return attribute(index).qName.getLocalPart();
- }
-
- public final String getType(int index) {
- return attribute(index).type;
- }
-
- /*public String getType(String uri, String localName) {
- int index = getIndex(uri, localName);
- return index == -1 ? null: getType(index);
- } */
-
- public final String getURI(int index) {
- return attribute(index).uri;
- }
-
- public final String getValue(int index) {
- return attribute(index).value;
- }
-
- /*
- * @param uri Never null
- */
- public final String getValue(String uri, String localName) {
- int index = getIndex(uri, localName);
- return index == -1 ? null : getValue(index);
- }
- }
-
- static protected class StartElement extends EndElement {
- final AttributeList attributes;
-
- protected StartElement(XMLStreamReader reader) {
- super(reader);
- int count = reader.getAttributeCount();
- if (count == 0)
- attributes = null;
- else {
- attributes = new AttributeList(count);
- int index = 0;
- do {
- Attribute attribute = new Attribute(reader.getAttributeType(index), reader.getAttributeValue(index), reader
- .getAttributeName(index), reader.getAttributePrefix(index), reader.getAttributeNamespace(index));
- attribute.specified = reader.isAttributeSpecified(index);
- attributes.attributes.add(attribute);
- } while (++index != count);
- }
- }
-
- protected StartElement(String nameSpace, String local, String prefix, Attributes attributeArray, Locator locator, List bindings,
- final NamespaceContext context) {
- super(nameSpace, local, prefix, locator);
- nameSpaces = bindings;
- nameSpaceContext = bindings == null || bindings.isEmpty() ? context : new NamespaceContext() {
- public String getNamespaceURI(String prefix) {
- for (int index = nameSpaces.size(); index != 0;) {
- NameSpace binding = (NameSpace) nameSpaces.get(--index);
- if (binding.prefix.equals(prefix))
- return binding.uri;
- }
- return context.getNamespaceURI(prefix);
- }
-
- public String getPrefix(String namespaceURI) {
- for (int index = nameSpaces.size(); index != 0;) {
- NameSpace binding = (NameSpace) nameSpaces.get(--index);
- if (binding.uri.equals(namespaceURI))
- return binding.prefix;
- }
- return context.getPrefix(namespaceURI);
- }
-
- public Iterator getPrefixes(final String namespaceURI) {
- final Iterator iterator = context.getPrefixes(namespaceURI);
- return new Iterator() {
- Iterator bindings = nameSpaces.iterator();
-
- NameSpace binding/* = null */;
-
- protected final boolean prefix() {
- while (bindings.hasNext()) {
- binding = (NameSpace) bindings.next();
- if (binding.uri.equals(namespaceURI))
- return true;
- }
- bindings = null;
- return false;
- }
-
- public boolean hasNext() {
- return bindings != null && prefix() || iterator.hasNext();
- }
-
- protected NameSpace nameSpace;
-
- public Object next() {
- if (bindings == null || binding == null && !prefix())
- return iterator.next();
- nameSpace = binding;
- binding = null;
- return nameSpace.prefix;
- }
-
- public void remove() {
- if (bindings == null)
- iterator.remove();
- else
- nameSpaces.remove(nameSpace);
- }
- };
- }
- };
- int count = attributeArray.getLength();
- if (count == 0)
- attributes = null;
- else {
- attributes = new AttributeList(count);
- int index = 0;
- do {
- QName name;
- nameSpace = attributeArray.getURI(index);
- local = attributeArray.getLocalName(index);
- prefix = prefix(attributeArray.getQName(index), nameSpace);
- if (prefix == null) {
- name = new QName(nameSpace, local, XMLConstants.DEFAULT_NS_PREFIX);
- nameSpace = null;
- } else
- name = new QName(nameSpace, local, prefix);
- attributes.attributes.add(new Attribute(attributeArray.getType(index), attributeArray.getValue(index), name, prefix, nameSpace));
- } while (++index != count);
- }
- }
- }
-
- static public class Tag extends StartElement {
- public Tag(XMLStreamReader reader) {
- super(reader);
- initialize(reader);
- }
-
- public List events/* = null */; // may be empty
-
- protected final void events() {
- events = new ArrayList();
- }
-
- public Tag(String nameSpace, String local, String prefix, Attributes attributes, Locator locator, NamespaceContext context, List bindings) {
- super(nameSpace, local, prefix, attributes, locator, bindings, context);
- events();
- }
-
- static public void bind(String prefix, String nameSpace, Collection nameSpaces) {
- nameSpaces.add(new NameSpace(prefix, nameSpace));
- }
-
- protected int nest/* = 0 */;
-
- public final void start(String nameSpace, String local, String qName, Attributes attributes, Locator locator, List bindings) {
- Event event;
- for (int index = events.size();/* true */;) {
- if (index == 0) {
- event = this;
- break;
- }
- event = (Event) events.get(--index);
- if (event.type != END_ELEMENT)
- break;
- siblings: for (int nest = 0;/* true */;)
- switch (((Event) events.get(--index)).type) {
- case START_ELEMENT:
- if (nest == 0)
- break siblings;
- --nest;
- break;
- case END_ELEMENT:
- ++nest;
- }
- }
- Event start = new StartElement(nameSpace, local, prefix(qName, nameSpace), attributes, locator, bindings, event.nameSpaceContext);
- start.type = START_ELEMENT;
- events.add(start);
- ++nest;
- }
-
- protected final void add (Event event)
- {
- int index = events.size();
- event.nameSpaceContext = index == 0 ? nameSpaceContext : ((Event) events.get(--index)).nameSpaceContext;
- events.add(event);
- }
-
- public final void text(int type, String value, Locator locator) {
- Event event = new ValueEvent(value);
- event.type = type;
- event.location(locator);
- //int index = events.size();
- add(event);
- }
-
- public final boolean end(String nameSpace, String local, String qName, Locator locator) {
- Event end = new EndElement(nameSpace, local, prefix(qName, nameSpace), locator);
- end.type = END_ELEMENT;
- add(end);
- if (nest == 0)
- return true;
- --nest;
- return false;
- }
-
- public final XMLStreamReader play(final XMLResource resource) {
- return new RecordedEventXMLStreamReader(this) {
- public void close() {
- }
-
- public String getCharacterEncodingScheme() {
- return null; // TODO
- }
-
- public String getEncoding() {
- return resource.getEncoding();
- }
-
- public Object getProperty(String property) {
- return null; // TODO javax.xml.stream.notations & javax.xml.stream.entities for DTD
- }
-
- public String getVersion() {
- return resource.getXMLVersion();
- }
-
- public boolean isStandalone() {
- return false; // TODO
- }
-
- public boolean standaloneSet() {
- return false; // TODO
- }
- };
- }
-
- protected final void add(Event event, int type, XMLStreamReader reader) {
- event.type = type;
- event.initialize(reader);
- events.add(event);
- }
-
- public final boolean record(XMLStreamReader reader) throws XMLStreamException {
- events();
- for (int nest = 0; reader.hasNext();) {
- Event event;
- int type = reader.next();
- switch (type) {
- case CHARACTERS:
- case CDATA:
- case COMMENT:
- case SPACE:
- case DTD:
- event = new ValueEvent(reader.getText());
- break;
- case ENTITY_REFERENCE:
- event = new Reference(reader.getLocalName(), reader.getText());
- break;
- case PROCESSING_INSTRUCTION:
- event = new Reference(reader.getPITarget(), reader.getPIData());
- break;
- case ATTRIBUTE:
- event = new AttributeEvent(reader);
- break;
- case NAMESPACE:
- event = new NameSpaceEvent(reader);
- break;
- case START_ELEMENT:
- ++nest;
- event = new StartElement(reader);
- break;
- case END_ELEMENT:
- add(new EndElement(reader), type, reader);
- if (nest == 0)
- return false;
- --nest;
- continue;
- case END_DOCUMENT:
- return true; // report error?
- default: // new type
- event = new Event();
- }
- add(event, type, reader);
- }
- return true; // report error?
- }
-
- public final XMLStreamReader play(final XMLStreamReader reader) {
- return new RecordedEventXMLStreamReader(this) {
- public void close() throws XMLStreamException {
- reader.close();
- }
-
- public String getCharacterEncodingScheme() {
- return reader.getCharacterEncodingScheme();
- }
-
- public String getEncoding() {
- return reader.getEncoding();
- }
-
- public Object getProperty(String property) {
- return reader.getProperty(property); // TODO javax.xml.stream.notations & javax.xml.stream.entities for DTD
- }
-
- public String getVersion() {
- return reader.getVersion();
- }
-
- public boolean isStandalone() {
- return reader.isStandalone();
- }
-
- public boolean standaloneSet() {
- return reader.standaloneSet();
- }
- };
- }
- }
-
- Event event;
-
- final List events;
-
- final int size;
-
- protected RecordedEventXMLStreamReader(Tag tag) {
- event = tag;
- tag.type = START_ELEMENT;
- events = tag.events;
- size = events.size();
- }
-
- public int getAttributeCount() {
- switch (getEventType()) {
- case START_ELEMENT:
- AttributeList attributes = ((StartElement) event).attributes;
- return attributes == null ? 0 : attributes.getLength();
- case ATTRIBUTE:
- return ((AttributeEvent) event).attributes;
- }
- throw new IllegalStateException("Neither START_ELEMENT nor ATTRIBUTE");
- }
-
- protected final AttributeList attributes() {
- if (getEventType() == START_ELEMENT)
- return ((StartElement) event).attributes;
- throw new IllegalStateException("Neither START_ELEMENT nor ATTRIBUTE");
- }
-
- public String getAttributeLocalName(int index) {
- return attributes().getLocalName(index);
- }
-
- static Attribute attribute(AttributeList attributes, int index) {
- return (Attribute) attributes.attributes.get(index);
- }
-
- public QName getAttributeName(int index) {
- return getEventType() == ATTRIBUTE ? ((AttributeEvent) event).name : attribute(attributes(), index).qName;
- }
-
- public String getAttributeNamespace(int index) {
- return getEventType() == ATTRIBUTE ? ((AttributeEvent) event).nameSpace : attributes().getURI(index);
- }
-
- public String getAttributePrefix(int index) {
- return getEventType() == ATTRIBUTE ? ((AttributeEvent) event).prefix : attribute(attributes(), index).prefix;
- }
-
- public String getAttributeType(int index) {
- return getEventType() == ATTRIBUTE ? ((Reference) event).target : attributes().getType(index);
- }
-
- public String getAttributeValue(int index) {
- return getEventType() == ATTRIBUTE ? ((ValueEvent) event).value : attributes().getValue(index);
- }
-
- public boolean isAttributeSpecified(int index) {
- if (getEventType() == ATTRIBUTE)
- return ((AttributeEvent) event).specified;
- AttributeList attributes = attributes();
- return attribute(attributes, index).specified;
- }
-
- public String getAttributeValue(String nameSpace, String name) {
- if (getEventType() == ATTRIBUTE) {
- AttributeEvent attribute = (AttributeEvent) event;
- return !attribute.name.getLocalPart().equals(name) ? null : nameSpace == null ? (attribute.nameSpace == null ? attribute.value : null)
- : nameSpace.equals(attribute.nameSpace) ? attribute.value : null;
- }
- AttributeList attributes = attributes();
- return attributes == null ? null : attributes.getValue(nameSpace == null ? "" : nameSpace, name);
- }
-
- protected StringBuffer buffer/* = null */;
-
- public String getElementText() {
- if (buffer != null)
- buffer.delete(0, buffer.length());
- for (;;)
- switch (next()) {
- case END_ELEMENT:
- return buffer == null ? null : buffer.toString();
- default:
- if (buffer == null)
- buffer = new StringBuffer();
- buffer.append(getText());
- case PROCESSING_INSTRUCTION:
- case COMMENT:
- }
- }
-
- public final int getEventType() {
- return event.type;
- }
-
- public String getLocalName() {
- if (getEventType() == ENTITY_REFERENCE)
- return ((Reference) event).target;
- if (event instanceof EndElement)
- return ((EndElement) event).name.getLocalPart();
- throw new IllegalStateException("Neither START_ELEMENT, END_ELEMENT nor ENTITY_REFERENCE");
- }
-
- public final Location getLocation() {
- return event.location;
- }
-
- public QName getName() {
- if (hasName())
- return ((EndElement) event).name;
- throw new IllegalStateException("Neither START_ELEMENT nor END_ELEMENT");
- }
-
- public final NamespaceContext getNamespaceContext() {
- return event.nameSpaceContext;
- }
-
- public int getNamespaceCount() {
- if (getEventType() == NAMESPACE)
- return ((NameSpaceEvent) event).nameSpaces;
- if (!(event instanceof EndElement))
- throw new IllegalStateException("Neither START_ELEMENT, END_ELEMENT nor NAMESPACE");
- Collection nameSpaces = ((EndElement) event).nameSpaces;
- return nameSpaces == null ? 0 : nameSpaces.size();
- }
-
- protected final NameSpace getNameSpace(int index) {
- if (event instanceof EndElement)
- return (NameSpace) ((EndElement) event).nameSpaces.get(index);
- throw new IllegalStateException("Neither START_ELEMENT, END_ELEMENT nor NAMESPACE");
- }
-
- public String getNamespacePrefix(int index) {
- return getEventType() == NAMESPACE ? ((Reference) event).target : getNameSpace(index).prefix;
- }
-
- public final String getNamespaceURI() {
- switch (getEventType()) {
- case ATTRIBUTE:
- return ((AttributeEvent) event).nameSpace;
- case NAMESPACE:
- return ((ValueEvent) event).value;
- }
- return event instanceof EndElement ? ((EndElement) event).nameSpace : null;
- }
-
- public String getNamespaceURI(String prefix) {
- return getNamespaceContext().getNamespaceURI(prefix);
- }
-
- public String getNamespaceURI(int index) {
- return getEventType() == NAMESPACE ? ((ValueEvent) event).value : getNameSpace(index).uri;
- }
-
- public String getPIData() {
- return getEventType() == PROCESSING_INSTRUCTION ? ((ValueEvent) event).value : null;
- }
-
- public String getPITarget() {
- return getEventType() == PROCESSING_INSTRUCTION ? ((Reference) event).target : null;
- }
-
- public String getPrefix() {
- switch (getEventType()) {
- case ATTRIBUTE:
- return ((AttributeEvent) event).prefix;
- case NAMESPACE:
- return ((Reference) event).target;
- }
- return event instanceof EndElement ? ((EndElement) event).prefix : null;
- }
-
- public final String getText() {
- if (hasText())
- return ((ValueEvent) event).value;
- throw new IllegalStateException("Neither CHARACTERS, CDATA, COMMENT, SPACE, ENTITY_REFERENCE nor DTD");
- }
-
- public final char[] getTextCharacters() {
- switch (getEventType()) {
- case CHARACTERS:
- case CDATA:
- case COMMENT:
- case SPACE:
- return ((ValueEvent) event).value.toCharArray();
- }
- throw new IllegalStateException("Neither CHARACTERS, CDATA, COMMENT nor SPACE");
- }
-
- public int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) {
- char[] source = getTextCharacters();
- if (sourceStart > source.length)
- throw new IndexOutOfBoundsException("source start > source length");
- int sourceLen = source.length - sourceStart;
- if (length > sourceLen)
- length = sourceLen;
- System.arraycopy(source, sourceStart, target, targetStart, length);
- return sourceLen;
- }
-
- public int getTextLength() {
- return getTextCharacters().length;
- }
-
- public int getTextStart() {
- return 0;
- }
-
- public final boolean hasName() {
- return event instanceof EndElement;
- }
-
- protected int next/* = 0 */;
-
- public final boolean hasNext() {
- return next != size;
- }
-
- public final boolean hasText() {
- switch (getEventType()) {
- case CHARACTERS:
- case CDATA:
- case COMMENT:
- case SPACE:
- case ENTITY_REFERENCE:
- case DTD:
- return true;
- }
- return false;
- }
-
- public boolean isCharacters() {
- switch (getEventType()) {
- case CHARACTERS:
- case CDATA:
- case SPACE:
- return true;
- }
- return false;
- }
-
- public boolean isEndElement() {
- return getEventType() == END_ELEMENT;
- }
-
- public boolean isStartElement() {
- return getEventType() == START_ELEMENT;
- }
-
- protected final boolean areWhiteSpace() {
- String text = getText();
- for (int index = text.length(); index != 0;)
- if (!Character.isWhitespace(text.charAt(--index)))
- return false;
- return true;
- }
-
- public boolean isWhiteSpace() {
- switch (getEventType()) {
- case CHARACTERS:
- case CDATA:
- return areWhiteSpace();
- case SPACE:
- return true;
- }
- return false;
- }
-
- public final int next() {
- if (!hasNext())
- throw new NoSuchElementException();
- event = (Event) events.get(next++);
- return event.type;
- }
-
- protected final void throwXMLStreamException(String message) throws XMLStreamException {
- throw new XMLStreamException(message, getLocation());
- }
-
- public int nextTag() throws XMLStreamException {
- for (;;) {
- int type = next();
- switch (type) {
- case CHARACTERS:
- case CDATA:
- if (!areWhiteSpace())
- break;
- case SPACE:
- case PROCESSING_INSTRUCTION:
- case COMMENT:
- continue;
- case START_ELEMENT:
- case END_ELEMENT:
- return type;
- }
- throwXMLStreamException("expected start or end tag");
- }
- }
-
- public void require(int type, String nameSpace, String name) throws XMLStreamException {
- if (getEventType() != type)
- throwXMLStreamException("type not matched");
- if (nameSpace != null && !nameSpace.equals(getNamespaceURI()))
- throwXMLStreamException("Name Space not matched");
- if (name != null
- && !(getEventType() == ATTRIBUTE ? name.equals(((AttributeEvent) event).name.getLocalPart()) : event instanceof EndElement
- && name.equals(((EndElement) event).name.getLocalPart())))
- throwXMLStreamException("name not matched");
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDODeserializer.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDODeserializer.java
deleted file mode 100644
index 01c043b074..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDODeserializer.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.helper.HelperContextImpl;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.helper.XMLStreamHelperImpl;
-import org.apache.tuscany.sdo.util.StreamDeserializer;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * SDO StAX Deserializer. The instance isn't thread-safe, however it's safe to use the instance any times on the same thread.
- */
-public class SDODeserializer extends StreamDeserializer {
- private HelperContext hc;
- protected final void initialize(XMLStreamReader stream, HelperContext scope, Object rootObject) {
- hc = scope;
- reader = stream;
- xsdHelper = scope.getXSDHelper();
- typeHelper = scope.getTypeHelper();
- extendedMetaData = ((TypeHelperImpl) typeHelper).getExtendedMetaData();
- deserializer = (XMLStreamHelperImpl)((HelperContextImpl)scope).getXMLStreamHelper();;
- root = (EObject) rootObject;
- }
-
- XSDHelper xsdHelper;
-
- protected Property propertyInSequence;
-
- Property getProperty(Object type) {
- EClass c = (EClass) type;
- EStructuralFeature containment = (EStructuralFeature) propertyInSequence;
- Object containing = extendedMetaData.getAffiliation(c, containment);
- // if (containing == null) report error?
- if (containment == containing && containment.isDerived()) {
- containing = extendedMetaData.getMixedFeature(c);
- if (containing == null) {
- containing = extendedMetaData.getGroup(containment);
- if (containing == null)
- return propertyInSequence;
- }
- }
- return (Property) containing;
- }
-
- protected final Property getProperty(Type type, String nameSpace, String name, boolean element) {
- for (Iterator iterator = type.getProperties().iterator(); iterator.hasNext();) {
- propertyInSequence = (Property) iterator.next();
- if (name.equals(xsdHelper.getLocalName(propertyInSequence))
- && nameSpace.equals(xsdHelper.getNamespaceURI(propertyInSequence)))
- return getProperty(type);
- }
- propertyInSequence = xsdHelper.getGlobalProperty(nameSpace, name, element);
- // if (propertyInSequence == null) report error?
- return getProperty(type);
- }
-
- protected final Property getProperty(Type type, String name) {
- propertyInSequence = type.getProperty(name);
- // if (propertyInSequence == null) report error?
- return getProperty(type);
- }
-
- protected final Property getProperty(String nameSpace, String name, Type type) {
- return null == nameSpace ? getProperty(type, name) : getProperty(type, nameSpace, name, true);
- }
-
- XMLStreamHelperImpl deserializer;
-
- TypeHelper typeHelper;
-
- protected Object load(XMLStreamReader reader, Map options) throws XMLStreamException {
- return deserializer.loadObject(reader, options);
- }
-
- static Object value(Type type, XMLStreamReader reader) throws XMLStreamException {
- return value(type, reader.getElementText(), reader.getNamespaceContext());
- }
-
- protected final Object value(Type type) throws XMLStreamException {
- return "true".equals(reader.getAttributeValue(ExtendedMetaData.XSI_URI, XMLResource.NIL)) ? null : type.isDataType() ? value(type, reader)
- : load(reader, null);
- }
-
- Map options/* = null */;
-
- protected final Object value(XMLStreamReader reader) throws XMLStreamException {
- Type propertyType = propertyInSequence.getType();
- if (propertyType.isDataType())
- return value(propertyType, reader);
- if (options == null)
- options = new HashMap();
- options.put(XMLStreamHelper.OPTION_DEFAULT_ROOT_TYPE, propertyType);
- return load(reader, options);
- }
-
- private boolean match(String name, String space, EStructuralFeature feature) {
- return name.equals(extendedMetaData.getName(feature)) && space.equals(extendedMetaData.getNamespace(feature));
- }
-
- EObject step(String ref, int step, int index, EObject container, String prefix, NamespaceContext nameSpaces) {
- String name = ref.substring(step, index);
- Iterator iterator = container.eContents().iterator();
- if (iterator.hasNext())
- if (prefix == null)
- do {
- container = (EObject) iterator.next();
- // if( container == null )continue;
- if (name.equals(extendedMetaData.getName(container.eContainmentFeature())))
- return container;
- } while (iterator.hasNext());
- else {
- prefix = nameSpaces.getNamespaceURI(prefix);
- do {
- container = (EObject) iterator.next();
- // if( container == null )continue;
- if (match(name, prefix, container.eContainmentFeature()))
- return container;
- } while (iterator.hasNext());
- }
- return null;
- }
-
- EObject root;
-
- ExtendedMetaData extendedMetaData;
-
- protected final EObject referent(String ref, NamespaceContext nameSpaces) {
- int length = ref.length();
- switch (length) {
- case 0:
- return null;
- case 1: // #
- return root;
- }
- EObject container;
- int step;
- if (ref.charAt(1) == '/') {
- container = EcoreUtil.getRootContainer(root);
- if (length == 2)
- return container;
- if (ref.charAt(2) == '/') {
- for (Iterator iterator = container.eContents().iterator();/* true */;) {
- if (!iterator.hasNext())
- return null;
- container = (EObject) iterator.next();
- // if( container != null )
- break;
- }
- /*#// is invalid
- if (length == 3)
- return container; */
- step = 3;
- } else
- step = 2;
- } else {
- container = root;
- step = 1;
- }
- String prefix = null;
- for (int index = step; ++index != length;) {
- switch (ref.charAt(index)) {
- case '/':
- container = step(ref, step, index, container, prefix, nameSpaces);
- if (container == null)
- return null;
- break;
- case ':':
- prefix = ref.substring(step, index);
- if (++index == length)
- return container; // report error?
- step = index;
- default:
- continue;
- case '[':
- name = ref.substring(step, index);
- step = ref.indexOf(']', index + 2);
- if (step == -1)
- return container; // report error?
- index = Integer.parseInt(ref.substring(++index, step));
- EStructuralFeature feature;
- Iterator iterator = container.eContents().iterator();
- if (prefix == null)
- do {
- if (!iterator.hasNext())
- return null;
- EObject content = (EObject) iterator.next();
- // if( content == null )continue;
- feature = content.eContainmentFeature();
- } while (!name.equals(extendedMetaData.getName(feature)));
- else {
- prefix = nameSpaces.getNamespaceURI(prefix);
- do {
- if (!iterator.hasNext())
- return null;
- EObject content = (EObject) iterator.next();
- // if( content == null )continue;
- feature = content.eContainmentFeature();
- } while (!match(name, prefix, feature));
- }
- Object value = container.eGet(feature);
- if (value instanceof List) {
- List values = (List) value;
- if (index > values.size())
- return null;
- container = (EObject) values.get(--index);
- } else if (index == 1)
- container = (EObject) value;
- else
- return null;
- index = ref.indexOf('/', ++step);
- if (index == -1)
- return container;
- }
- if (++index == length)
- return container;
- step = index;
- prefix = null;
- }
- return step(ref, step, length, container, prefix, nameSpaces);
- }
-
- static protected class Ref implements EObject // FeatureMapEntry value
- {
- protected Ref(String path, NamespaceContext context) {
- ref = path;
- nameSpaces = context;
- }
-
- final String ref;
-
- final NamespaceContext nameSpaces;
-
- public TreeIterator eAllContents() {
- return null;
- }
- public EClass eClass() {
- return null;
- }
- public EObject eContainer() {
- return null;
- }
- public EStructuralFeature eContainingFeature() {
- return null;
- }
- public EReference eContainmentFeature() {
- return null;
- }
- public EList eContents() {
- return null;
- }
- public EList eCrossReferences() {
- return null;
- }
- public Object eGet(EStructuralFeature feature) {
- return null;
- }
- public Object eGet(EStructuralFeature feature, boolean resolve) {
- return null;
- }
- public boolean eIsProxy() {
- return false;
- }
- public boolean eIsSet(EStructuralFeature feature) {
- return false;
- }
- public Resource eResource() {
- return null;
- }
- public void eSet(EStructuralFeature feature, Object newValue) {
- }
- public void eUnset(EStructuralFeature feature) {
- }
- public EList eAdapters() {
- return null;
- }
- public boolean eDeliver() {
- return false;
- }
- public void eNotify(Notification notification) {
- }
- public void eSetDeliver(boolean deliver) {
- }
- }
-
- protected final EObject referent(Ref path) {
- return referent(path.ref, path.nameSpaces);
- }
-
- protected final Type typeXSI() {
- return typedXSI() ? typeHelper.getType(nameSpace, name) : null;
- }
-
- protected final Type globalElementType(String nameSpace, String name) {
- return xsdHelper.getGlobalProperty(nameSpace, name, true).getType();
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
deleted file mode 100644
index 5b2e7255ef..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-public class SDOURIConverterImpl extends URIConverterImpl {
- /**
- * Disable going out to the wire.
- */
- protected InputStream createURLInputStream(URI uri) throws IOException {
- String scheme = uri.scheme();
- if ("http".equals(scheme) || "https".equals(scheme)) {
- // TUSCANY 2240: We need to compromise if the remote loading is allowed or not
- String ext = uri.fileExtension();
- if (!"wsdl".equalsIgnoreCase(ext) && !"xsd".equalsIgnoreCase(ext)) {
- throw new Resource.IOWrappedException(new RuntimeException("Reading remote URL not supported: " + uri));
- }
- }
- return super.createURLInputStream(uri);
- }
-
- /**
- * Disable going out to the wire.
- */
- protected OutputStream createURLOutputStream(URI uri) throws IOException {
- String scheme = uri.scheme();
- if ("http".equals(scheme) || "https".equals(scheme)) {
- // TUSCANY 2240: We need to compromise if the remote loading is allowed or not
- String ext = uri.fileExtension();
- if (!"wsdl".equalsIgnoreCase(ext) && !"xsd".equalsIgnoreCase(ext)) {
- throw new Resource.IOWrappedException(new RuntimeException("Reading remote URL not supported: " + uri));
- }
- }
- return super.createURLOutputStream(uri);
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceFactoryImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceFactoryImpl.java
deleted file mode 100644
index c8189f9766..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceFactoryImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-/**
- * This class creates SDOXMLResourceImpl objects.
- */
-public class SDOXMLResourceFactoryImpl extends ResourceFactoryImpl
-{
- /**
- * Constructor for SDOXMLResourceFactoryImpl.
- */
- public SDOXMLResourceFactoryImpl()
- {
- super();
- }
-
- /**
- * Creates an XMLResourceImpl and returns it.
- */
- public Resource createResource(URI uri)
- {
- return new SDOXMLResourceImpl(uri);
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java
deleted file mode 100644
index 172afb73db..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java
+++ /dev/null
@@ -1,1009 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Writer;
-import java.net.URL;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.XMLConstants;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sdo.SDOExtendedMetaData;
-import org.apache.tuscany.sdo.helper.HelperContextImpl;
-import org.apache.tuscany.sdo.helper.SDOExtendedMetaDataImpl;
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.helper.XSDHelperImpl;
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.util.StAX2SAXAdapter;
-import org.apache.tuscany.sdo.model.internal.InternalFactory;
-import org.apache.tuscany.sdo.model.internal.impl.InternalFactoryImpl;
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.xmi.XMIException;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLLoad;
-import org.eclipse.emf.ecore.xmi.XMLOptions;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.XMLSave;
-import org.eclipse.emf.ecore.xmi.impl.SAXXMLHandler;
-import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLOptionsImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLString;
-import org.eclipse.emf.ecore.xmi.util.DefaultEcoreBuilder;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.XSDHelper;
-
-public class SDOXMLResourceImpl extends XMLResourceImpl {
- private XMLStreamReader reader;
-
- /**
- * [rfeng] Override the XMLHelperImpl to replace the NamespaceSupport so that it's aware of the NamespaceContext from the XMLStreamReader
- */
- public static class SDOXMLHelperImpl extends XMLHelperImpl {
-
- /**
- * EMF XMLResource (SAX) may be used to load from only a *portion* of a StAX stream
- * which may reference (global) namespaces bound outside the (local) portion.
- * This class extends EMF's NamespaceSupport to make {@link #getPrefix} and {@link #getURI}
- * query these global binding(s) after first checking the local context(s).
- */
- private static class StreamNamespaceSupport extends XMLHelperImpl.NamespaceSupport {
- protected NamespaceContext nameSpaceContext;
-
- public String getPrefix(String uri) {
- String prefix = super.getPrefix(uri);
- if (prefix == null)
- try {
- prefix = nameSpaceContext.getPrefix(uri);
- } catch (Exception e) {
- // HACK:
- // java.lang.UnsupportedOperationException
- // at org.apache.axiom.om.impl.llom.OMStAXWrapper.getNamespaceContext(OMStAXWrapper.java:984)
- }
- return prefix;
- }
-
- public String getURI(String prefix) {
- String uri = super.getURI(prefix);
- if (uri == null)
- try {
- uri = nameSpaceContext.getNamespaceURI(prefix);
- } catch (Exception e) {
- // HACK:
- // java.lang.UnsupportedOperationException
- // at org.apache.axiom.om.impl.llom.OMStAXWrapper.getNamespaceContext(OMStAXWrapper.java:984)
- }
- return uri;
- }
-
- public StreamNamespaceSupport(XMLStreamReader reader) {
- super();
- nameSpaceContext = reader.getNamespaceContext();
- }
-
- }
-
- public SDOXMLHelperImpl(XMLResource resource, XMLStreamReader reader) {
- this(reader);
- setResource(resource);
- }
-
- public SDOXMLHelperImpl(XMLStreamReader reader) {
- super();
- if (reader instanceof XMLDocumentStreamReader) // Only use StreamNamespaceSupport when loading from a *portion* of a StAX stream
- namespaceSupport = new StreamNamespaceSupport(reader);
- }
-
- private class NameSpaceContext implements NamespaceContext { // TODO Helper# pushContext() & popContext
- public String getNamespaceURI(String prefix) {
- return SDOXMLHelperImpl.this.getNamespaceURI(prefix);
- }
-
- public String getPrefix(String namespaceURI) {
- return SDOXMLHelperImpl.this.getPrefix(namespaceURI);
- }
-
- public Iterator getPrefixes(String namespaceURI) {
- return ((Collection) urisToPrefixes.get(namespaceURI)).iterator();
- }
- }
-
- NameSpaceContext nameSpaceContext/* = null */;
-
- protected final NameSpaceContext nameSpaceContext() {
- if (nameSpaceContext == null)
- nameSpaceContext = new NameSpaceContext();
- return nameSpaceContext;
- }
-
- private String xsdQName2SDOURI(String xsdQName) {
- org.eclipse.emf.ecore.xml.type.internal.QName qname = new org.eclipse.emf.ecore.xml.type.internal.QName(xsdQName);
- try {
- updateQNameURI(qname);
- }
- catch (IllegalArgumentException e) {
- return xsdQName;
- }
- String uri = qname.getNamespaceURI();
- if (uri != "")
- return uri + "#" + qname.getLocalPart();
- else
- return qname.getLocalPart();
- }
-
- private String getPrefixFromNamespaceURI(String nsURI) {
- String nsPrefix = null;
-
- List prefixes = (List)urisToPrefixes.get(nsURI);
- if (prefixes != null)
- {
- for (Iterator i = prefixes.iterator(); i.hasNext(); )
- {
- nsPrefix = (String)i.next();
- if (nsPrefix.length() >= 0) {
- // When the length is 0, it's the default namespace
- return nsPrefix;
- }
- }
- }
-
- nsPrefix = namespaceSupport.getPrefix(nsURI);
- if (nsPrefix != null)
- {
- return nsPrefix;
- }
-
- // Demand create a new package
- EPackage ePackage = extendedMetaData.demandPackage(nsURI);
-
- if (ExtendedMetaData.XSI_URI.equals(nsURI)) {
- ePackage.setNsPrefix(ExtendedMetaData.XSI_PREFIX);
- }
-
- // getPrefix() will make sure all mapping tables are configured correctly
- nsPrefix = getPrefix(ePackage, true);
-
- return nsPrefix;
- }
-
- private String SDOURI2XsdQName(String sdoURI) {
- String namespace = null;
- String localPart = sdoURI;
-
- int index = sdoURI.indexOf('#');
- if (index == -1) {
- return localPart;
- }
- else {
- namespace = sdoURI.substring(0, index);
- localPart = sdoURI.substring(index+1);
-
- String prefix = getPrefixFromNamespaceURI(namespace);
-
- if (prefix.length() == 0)
- return localPart;
-
- return prefix + ":" + localPart;
- }
- }
-
- protected Object createFromString(EFactory eFactory, EDataType eDataType, String value) {
- Object obj = super.createFromString(eFactory, eDataType, value);
- if (eDataType == ((InternalFactoryImpl)InternalFactory.INSTANCE).getQName()) {
- if (extendedMetaData != null) {
- if (obj instanceof List) {
- List list = (List)obj;
- for (int i=0; i<list.size(); i++) {
- String xsdQName = (String)list.get(i);
- list.set(i, xsdQName2SDOURI(xsdQName));
- }
- }
- else {
- obj = xsdQName2SDOURI((String)obj);
- }
- }
- }
- return obj;
- }
-
- public String convertToString(EFactory factory, EDataType eDataType, Object value) {
- if (eDataType == ((InternalFactoryImpl)InternalFactory.INSTANCE).getQName()) {
- if (extendedMetaData != null) {
- if (value instanceof List) {
- List list = (List)value;
- for (int i=0; i<list.size(); i++) {
- String sdoURI = (String)list.get(i);
- list.set(i, SDOURI2XsdQName(sdoURI));
- }
- }
- else {
- value = SDOURI2XsdQName((String)value);
- }
- }
- }
-
- return super.convertToString(factory, eDataType, value);
- }
- }
-
- public EObject root;
-
- /**
- * An EMF XMLLoad that loads a model from a StAX stream
- */
- public class SDOXMLLoadImpl extends XMLLoadImpl {
- public SDOXMLLoadImpl(XMLHelper helper) {
- super(helper);
- }
-
- final class XmlHandler extends SAXXMLHandler {
- XmlHandler() {
- super(resource, SDOXMLLoadImpl.this.helper, options);
- }
-
- protected void handleTopLocations(String prefix, String name) {
- processSchemaLocations(prefix, name);
- if (!processAnyXML)
- return;
- String nameSpace = helper.getURI(prefix);
- if (extendedMetaData.getPackage(nameSpace) == null)
- if (options.get(XMLStreamHelper.OPTION_DEFAULT_ROOT_TYPE) == null)
- extendedMetaData.demandFeature(nameSpace, name, true);
- else
- extendedMetaData.demandPackage(nameSpace);
- }
-
- EClassifier defaultRootType(String prefix, String name, boolean isElement, EObject peekObject, String value) {
- Object type = options.get(XMLStreamHelper.OPTION_DEFAULT_ROOT_TYPE);
- if (type != null)
- return (EClassifier) type;
- super.handleUnknownFeature(prefix, name, isElement, peekObject, value);
- return null;
- }
-
- protected void handleUnknownFeature(String prefix, String name, boolean isElement, EObject peekObject, String value) {
- if (objects.size() == 1) {
- EFactory eFactory;
- EClassifier type;
- String typeQName = getXSIType();
- if (typeQName == null) {
- type = defaultRootType(prefix, name, isElement, peekObject, value);
- if (type == null)
- return;
- eFactory = type.getEPackage().getEFactoryInstance();
- } else {// createObjectFromTypeName
- String typeName = null;
- String xsiPrefix = XMLConstants.DEFAULT_NS_PREFIX;
- int index = typeQName.indexOf(":");
- if (index > 0) {
- xsiPrefix = typeQName.substring(0, index);
- typeName = typeQName.substring(index + 1);
- } else
- typeName = typeQName;
- eFactory = getFactoryForPrefix(xsiPrefix);
- if (eFactory != null)
- type = helper.getType(eFactory, typeName);
- else if (XMLConstants.DEFAULT_NS_PREFIX.equals(xsiPrefix) && helper.getURI(xsiPrefix) == null) {
- EPackage ePackage = handleMissingPackage(null);
- if (ePackage == null) {
- type = defaultRootType(prefix, name, isElement, peekObject, value);
- if (type == null)
- return;
- eFactory = type.getEPackage().getEFactoryInstance();
- } else
- type = helper.getType(eFactory = ePackage.getEFactoryInstance(), typeName);
- } else {
- type = defaultRootType(prefix, name, isElement, peekObject, value);
- if (type == null)
- return;
- eFactory = type.getEPackage().getEFactoryInstance();
- }
- }
- root = helper.createObject(eFactory, type);
- if (root != null) {
- if (disableNotify)
- root.eSetDeliver(false);
- handleObjectAttribs(root);
- processObject(root);
- return;
- }
- }
- super.handleUnknownFeature(prefix, name, isElement, peekObject, value);
- }
-
- protected RecordedEventXMLStreamReader.Tag tag/* =null */;
-
- protected List nameSpaces/* = null */;
-
- public void startPrefixMapping(String prefix, String uri) {
- if (nameSpaces == null)
- nameSpaces = new ArrayList();
- RecordedEventXMLStreamReader.Tag.bind(prefix, uri, nameSpaces);
- if (tag == null)
- super.startPrefixMapping(prefix, uri);
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (tag != null) {
- tag.start(uri, localName, qName, attributes, locator, nameSpaces);
- nameSpaces = null;
- return;
- }
- EObject peekObject = objects.peekEObject();
- if (peekObject != null) {
- String prefix = helper.getPrefix(uri.length() == 0 ? null : uri);
- EStructuralFeature feature = getFeature(peekObject, prefix == null ? XMLConstants.DEFAULT_NS_PREFIX : prefix, localName, true);
- if (feature != null && feature.getEType() == ChangeSummaryStreamSerializer.ChangeSummary_TYPE) {
- tag = new RecordedEventXMLStreamReader.Tag(uri, localName, prefix, attributes, locator, ((SDOXMLHelperImpl) helper).nameSpaceContext(),
- nameSpaces);
- nameSpaces = null;
- return;
- }
- }
- if (nameSpaces != null)
- nameSpaces.clear();
- super.startElement(uri, localName, qName, attributes);
- }
-
- public void characters(char[] ch, int start, int length) {
- if (tag == null)
- super.characters(ch, start, length);
- else
- tag.text(XMLStreamConstants.CHARACTERS, new String(ch, start, length), locator);
- }
-
- protected Collection changeSummaryDeserializers/* = null */;
-
- public void endElement(String uri, String localName, String qName) {
- if (tag == null)
- super.endElement(uri, localName, qName);
- else if (tag.end(uri, localName, qName, locator)) {
- if (changeSummaryDeserializers == null)
- changeSummaryDeserializers = new ArrayList();
- ChangeSummaryStreamDeserializer changeSummaryDeserializer = new ChangeSummaryStreamDeserializer();
- try {
- changeSummaryDeserializer.begin(
- (DataObject) objects.peekEObject(),
- new HelperContextImpl(extendedMetaData, false),
- tag.play(xmlResource));
- changeSummaryDeserializers.add(changeSummaryDeserializer);
- } catch (XMLStreamException e) {
- xmlResource.getErrors().add(new XMIException(e));
- }
- tag = null;
- }
- }
-
- public void endDocument() {
- super.endDocument();
- if (changeSummaryDeserializers != null)
- for (Iterator iterator = changeSummaryDeserializers.iterator(); iterator.hasNext();)
- try {
- ((ChangeSummaryStreamDeserializer) iterator.next()).end();
- // iterator.remove();
- } catch (XMLStreamException e) {
- xmlResource.getErrors().add(new XMIException(e));
- }
- }
- }
-
- protected DefaultHandler makeDefaultHandler() {
- return new XmlHandler();
- }
-
- /**
- * Start parsing an XMLReader with the default handler.
- */
- public void load(XMLResource resource, final XMLStreamReader reader, Map options) throws IOException {
- this.resource = resource;
- Map mergedOptions = new HashMap(defaultLoadOptions);
- if (options != null)
- mergedOptions.putAll(options);
-
- this.options = mergedOptions;
-
- final ContentHandler handler = makeDefaultHandler();
-
- if (errors != null) {
- errors.clear();
- }
-
- final StAX2SAXAdapter adapter = new StAX2SAXAdapter(true);
- // Parse the XMLReader and generate SAX events
- try {
- AccessController.doPrivileged(new PrivilegedExceptionAction() {
- public Object run() throws XMLStreamException, SAXException {
- adapter.parse(reader, handler);
- return null;
- }
- });
- } catch (PrivilegedActionException e) {
- throw new Resource.IOWrappedException(e.getException());
- }
-
- helper = null;
- if (!resource.getErrors().isEmpty()) {
- Exception error = (Exception) resource.getErrors().get(0);
- if (error instanceof XMIException) {
- XMIException exception = (XMIException) error;
- if (exception.getWrappedException() != null) {
- throw new Resource.IOWrappedException(exception.getWrappedException());
- }
- }
- throw new Resource.IOWrappedException(error);
- }
- }
- }
-
- public SDOXMLResourceImpl(URI uri) {
- super(uri);
- }
-
- protected XMLHelper createXMLHelper() {
- return new SDOXMLHelperImpl(this, reader);
- }
-
- /**
- * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#createXMLLoad()
- */
- protected XMLLoad createXMLLoad() {
- return new SDOXMLLoadImpl(createXMLHelper());
- }
-
- static protected int loadLaxForm;
- static {
- int defaultLaxForm = 0x4242;
- String property = System.getProperty("XML.load.form.lax");
- if (property == null)
- loadLaxForm = defaultLaxForm;
- else
- try {
- loadLaxForm = Integer.decode(property).intValue();
- } catch (NumberFormatException eNumberFormat) {
- loadLaxForm = defaultLaxForm;
- }
- }
-
- public void doLoad(InputSource inputSource, Map options) throws IOException {
- if (options != null) {
- /*
- * Tolerates element/attribute malform unless indicated not to
- */
- Object option = options.get(SDOHelper.XMLOptions.XML_LOAD_LAX_FORM);
- int tolerance = option == null ? loadLaxForm : ((Number) option).intValue();
- option = options.get(OPTION_EXTENDED_META_DATA);
- if (tolerance == 0) {
- if (option instanceof SDOExtendedMetaData)
- ((SDOExtendedMetaData) option).setFeatureNamespaceMatchingLax(false);
- } else if (option instanceof SDOExtendedMetaData){
- ((SDOExtendedMetaData) option).setFeatureNamespaceMatchingLax(true);
- }
- else{
- options.put(OPTION_EXTENDED_META_DATA, option = new SDOExtendedMetaDataImpl()); // TODO copy (BasicExtendedMetaData)option
- }
- /*
- * Loads schema if necessary
- */
- if (Boolean.TRUE.equals(options.get(SDOHelper.XMLOptions.XML_LOAD_SCHEMA))){
- XMLOptions xmlOptions = (XMLOptions) options.get(OPTION_XML_OPTIONS);
- if (xmlOptions == null) {
- xmlOptions = new XMLOptionsImpl();
- options.put(OPTION_XML_OPTIONS, xmlOptions);
- }
- xmlOptions.setProcessSchemaLocations(true);
- if (option == null){
- option = getDefaultLoadOptions().get(OPTION_EXTENDED_META_DATA);
- }
- ExtendedMetaData extendedMetaData;
- final XSDHelper xsdHelper;
- if (option == null) {
- extendedMetaData = ExtendedMetaData.INSTANCE;
- xsdHelper = XSDHelper.INSTANCE;
- } else {
- extendedMetaData = (ExtendedMetaData) option;
- xsdHelper = (new HelperContextImpl(extendedMetaData, false)).getXSDHelper();
- }
- xmlOptions.setEcoreBuilder(new DefaultEcoreBuilder(extendedMetaData) {
- public Collection generate(Map targetNamespaceToURI) throws IOException {
- for (Iterator iterator = targetNamespaceToURI.values().iterator(); iterator.hasNext();) {
- String uri = iterator.next().toString();
- xsdHelper.define(uri.indexOf(":/") == -1 ? Thread.currentThread().getContextClassLoader().getResourceAsStream(uri)
- : new URL(uri).openStream(), uri);
- }
- return null; // XMLHandler#processSchemaLocations doesn't take the result
- }
- });
- }
-
- if (Boolean.TRUE.equals(options.get(SDOHelper.XMLOptions.XML_LOAD_UNKNOWN_PROPERTIES))) {
- options.put(OPTION_RECORD_UNKNOWN_FEATURE , Boolean.TRUE);
- }
- }
- else if (loadLaxForm != 0) {
- /*
- * Tolerates element/attribute malform
- */
- options = new HashMap();
- options.put(OPTION_EXTENDED_META_DATA, new SDOExtendedMetaDataImpl());
- }
- super.doLoad(inputSource, options);
- // TODO there is some thinking to be done about the restoration of options
- }
-
- /**
- * Loads the resource from a StAX XMLStreamReader.
- */
- public void load(XMLStreamReader reader, Map options) throws IOException {
- this.reader = reader;
- SDOXMLLoadImpl xmlLoad = (SDOXMLLoadImpl) createXMLLoad();
- Map mergedOptions = new HashMap(defaultLoadOptions);
- if (options != null)
- mergedOptions.putAll(options);
- xmlLoad.load(this, reader, mergedOptions);
- }
-
- ChangeSummaryStreamSerializer changeSummarySerializer/* = null*/;
-
- static private final class LocalName extends QName {
- private LocalName(String name) {
- super(name);
- }
-
- public String getNamespaceURI() {
- return null;
- }
- }
-
- static final String INDENT = " ", LINE_SEPARATOR = System.getProperty("line.separator");
-
- static final class XmlString extends XMLString {
- XmlString(int lineWidth, String temporaryFileName) {
- super(lineWidth, temporaryFileName); // setLineWidth & setTemporaryFileName
- }
-
- XmlString(int lineWidth, String publicId, String systemId, String temporaryFileName) {
- super(lineWidth, publicId, systemId, temporaryFileName);
- }
-
- void setLineBreak(String lineBreak) {
- lineSeparator = lineBreak;
- }
-
- void margin(String margin) {
- indents.set(0, margin);
- }
-
- String indent = INDENT;
-
- protected String getElementIndent(int extra) {
- int nesting = depth + extra - 1;
- for (int i = indents.size() - 1; i < nesting; ++i) {
- indents.add(indents.get(i) + indent);
- }
- return (String) indents.get(nesting);
- }
-
- protected String getAttributeIndent() {
- return getElementIndent();
- }
-
- public final boolean mixed() {
- return isMixed;
- }
-
- public void reset(String publicId, String systemId, int lineWidth, String temporaryFileName) {
- super.reset(publicId, systemId, lineWidth, temporaryFileName);
- setLineBreak(LINE_SEPARATOR);
- indent = INDENT;
- }
- }
-
- static final char MARK = '\n';
-
- static final String LINE_BREAK = new String(new char[] { MARK });
-
- final class SDOXMLSaveImpl extends XMLSaveImpl {
- SDOXMLSaveImpl(XMLHelper helper) {
- super(helper);
- }
-
- XmlString doc(XMLResource resource, Map options) {
- if (doc instanceof XmlString)
- return (XmlString) doc;
- Object lineWidth = options.get(OPTION_LINE_WIDTH);
- int width = lineWidth == null ? Integer.MAX_VALUE : ((Number) lineWidth).intValue();
- XmlString d = resource != null && Boolean.TRUE.equals(options.get(OPTION_SAVE_DOCTYPE)) ? new XmlString(width, resource.getPublicId(),
- resource.getSystemId(), doc.getTemporaryFileName()) : new XmlString(width, doc.getTemporaryFileName());
- doc = d;
- return d;
- }
-
- Map changeSummaryOptions = new HashMap();
- String indent = INDENT, margin;
-
- protected void init(XMLResource resource, Map options) {
- super.init(resource, options);
- int unformat = 0;
- String lineBreak = (String) options.get(SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK);
- if (lineBreak == null)
- changeSummaryOptions.put(SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, LINE_BREAK);
- else if (lineBreak.length() == 0)
- ++unformat;
- else {
- changeSummaryOptions.put(SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, LINE_BREAK);
- if (lineBreak.equals(LINE_SEPARATOR))
- lineBreak = null;
- }
- String indent = (String) options.get(SDOHelper.XMLOptions.XML_SAVE_INDENT);
- if (indent == null)
- changeSummaryOptions.put(SDOHelper.XMLOptions.XML_SAVE_INDENT, INDENT);
- else if (indent.length() == 0)
- ++unformat;
- else {
- changeSummaryOptions.put(SDOHelper.XMLOptions.XML_SAVE_INDENT, this.indent = indent);
- if (indent.equals(INDENT))
- indent = null;
- }
- String margin = (String) options.get(SDOHelper.XMLOptions.XML_SAVE_MARGIN);
- if (margin == null || margin.length() == 0) {
- if (unformat == 2)
- doc.setUnformatted(true);
- else if (lineBreak != null) {
- XmlString d = doc(resource, options);
- d.setLineBreak(lineBreak);
- if (indent != null)
- d.indent = indent;
- } else if (indent != null)
- doc(resource, options).indent = indent;
- this.margin = this.indent;
- } else {
- XmlString d = doc(resource, options);
- d.margin(margin);
- if (lineBreak != null)
- d.setLineBreak(lineBreak);
- if (indent != null)
- d.indent = indent;
- this.margin = margin + this.indent;
- if (!toDOM && declareXML)
- d.add(margin);
- }
- // changeSummaryOptions.put(ChangeSummaryStreamSerializer.OPTION_RootObject_PATH, "#");
- // changeSummaryOptions.put(ChangeSummaryStreamSerializer.OPTION_OPTIMIZE_LIST, Boolean.TRUE);
- changeSummaryOptions.put(OPTION_EXTENDED_META_DATA, extendedMetaData);
- }
-
- QName qName(EStructuralFeature f) {
- if (extendedMetaData == null)
- return new LocalName(f.getName());
- String nameSpace = extendedMetaData.getNamespace(f), name = extendedMetaData.getName(f);
- return nameSpace == null ? new LocalName(name) : new QName(nameSpace, name);
- }
-
- XMLStreamWriter xmlStreamWriter/* = null*/;
-
- void saveChangeSummary(EObject o, EStructuralFeature f, Object changeSummary) {
- boolean notMixed;
- if (doc instanceof XmlString)
- notMixed = !((XmlString) doc).mixed();
- else if (extendedMetaData == null)
- notMixed = true;
- else
- switch (extendedMetaData.getContentKind(o.eClass())) {
- case ExtendedMetaData.MIXED_CONTENT:
- case ExtendedMetaData.SIMPLE_CONTENT:
- notMixed = false;
- break;
- default:
- notMixed = true;
- }
- if (notMixed) {
- StringBuffer margin = new StringBuffer(this.margin);
- for (EObject container = o.eContainer(), grandContainer; (grandContainer = container.eContainer()) != null; container = grandContainer)
- margin.append(indent);
- changeSummaryOptions.put(SDOHelper.XMLOptions.XML_SAVE_MARGIN, margin.toString());
- }
- try {
- if (xmlStreamWriter == null) {
- xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(new Writer() {
- public void close() {
- }
-
- public void flush() {
- }
-
- protected final void add(char[] cbuf, int index, int off) {
- doc.addText(new String(cbuf, index, off - index));
- }
-
- public void write(char[] cbuf, int off, int len) {
- if (len != 0)
- for (;;) {
- while (cbuf[off] == MARK) {
- doc.addLine();
- if (--len == 0)
- return;
- ++off;
- }
- for (int index = off;/* true */;) {
- ++off;
- if (--len == 0)
- add(cbuf, index, off);
- else {
- if (cbuf[off] != MARK)
- continue;
- add(cbuf, index, off);
- doc.addLine();
- if (--len != 0)
- break;
- }
- return;
- }
- ++off;
- }
- }
- });
- xmlStreamWriter.setNamespaceContext(((SDOXMLHelperImpl) helper).new NameSpaceContext() {
- public String getNamespaceURI(String prefix) {
- return declareXSI && ExtendedMetaData.XSI_PREFIX.equals(prefix) ? ExtendedMetaData.XSI_URI : super
- .getNamespaceURI(prefix);
- }
-
- public String getPrefix(String namespaceURI) {
- return declareXSI && ExtendedMetaData.XSI_URI.equals(namespaceURI) ? ExtendedMetaData.XSI_PREFIX : super
- .getPrefix(namespaceURI);
- }
-
- public Iterator getPrefixes(String namespaceURI) {
- final Iterator iterator = super.getPrefixes(namespaceURI);
- return ExtendedMetaData.XSI_URI.equals(namespaceURI) ? new Iterator() {
- boolean first = true;
-
- public boolean hasNext() {
- if (first)
- if (declareXSI) // never from true to false
- return true;
- else
- first = false;
- return iterator.hasNext();
- }
-
- public Object next() {
- if (first) {
- first = false;
- if (declareXSI)
- return ExtendedMetaData.XSI_PREFIX;
- }
- return iterator.next();
- }
-
- public void remove() {
- if (first)
- declareXSI = false;
- else
- iterator.remove();
- }
- } : iterator;
- }
- });
- for (Iterator iterator = helper.getPrefixToNamespaceMap().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- xmlStreamWriter.setPrefix((String) entry.getKey(), (String) entry.getValue());
- }
- if (declareXSI)
- xmlStreamWriter.setPrefix(ExtendedMetaData.XSI_PREFIX, ExtendedMetaData.XSI_URI);
- if (changeSummarySerializer == null)
- changeSummarySerializer = new ChangeSummaryStreamSerializer();
- }
- changeSummarySerializer.saveChangeSummary((ChangeSummary) changeSummary, qName(f), xmlStreamWriter, changeSummaryOptions);
- if (notMixed)
- doc.addLine();
- } catch (XMLStreamException e) {
- xmlResource.getErrors().add(new XMIException(e));
- }
- }
-
- protected void saveDataTypeElementSingle(EObject o, EStructuralFeature f) {
- if (f.getEType() == ChangeSummaryStreamSerializer.ChangeSummary_TYPE)
- saveChangeSummary(o, f, helper.getValue(o, f));
- else
- super.saveDataTypeElementSingle(o, f);
- }
-
- /*
- * TEMPORARILY COPIED FROM BASE CLASS - DO NOT EDIT - WILL BE REMOVED WHEN WE MOVE TO EMF 2.3
- */
- protected boolean saveElementFeatureMap(EObject o, EStructuralFeature f)
- {
- List values = (List)helper.getValue(o, f);
- int size = values.size();
- for (int i = 0; i < size; i++)
- {
- FeatureMap.Entry entry = (FeatureMap.Entry)values.get(i);
- EStructuralFeature entryFeature = entry.getEStructuralFeature();
- Object value = entry.getValue();
- if (entryFeature instanceof EReference)
- {
- if (value == null)
- {
- saveNil(o, entryFeature);
- }
- else
- {
- EReference referenceEntryFeature = (EReference)entryFeature;
- if (referenceEntryFeature.isContainment())
- {
- saveElement((InternalEObject)value, entryFeature);
- }
- else if (referenceEntryFeature.isResolveProxies())
- {
- saveFeatureMapElementReference((EObject)value, referenceEntryFeature);
- }
- else
- {
- saveElementIDRef(o, (EObject)value, entryFeature);
- }
- }
- }
- else
- {
- if (entryFeature == XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Text())
- {
- String svalue = value.toString();
- if (escape != null)
- {
- svalue = escape.convertText(svalue);
- }
- if (!toDOM)
- {
- doc.addText(svalue);
- }
- else
- {
- Node text = document.createTextNode(svalue);
- currentNode.appendChild(text);
- handler.recordValues(text, o, f, entry);
- }
- }
- else if (entryFeature == XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_CDATA())
- {
- String stringValue = value.toString();
- if (escape != null)
- {
- stringValue = escape.convertLines(stringValue);
- }
- if (!toDOM)
- {
- doc.addCDATA(stringValue);
- }
- else
- {
- Node cdata = document.createCDATASection(stringValue);
- currentNode.appendChild(cdata);
- handler.recordValues(cdata, o, f, entry);
- }
- }
- else if (entryFeature == XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Comment())
- {
- String stringValue = value.toString();
- if (escape != null)
- {
- stringValue = escape.convertLines(stringValue);
- }
- if (!toDOM)
- {
- doc.addComment(stringValue);
- }
- else
- {
- // TODO comments are not sent to recordValues
- currentNode.appendChild(document.createComment(stringValue));
- }
- }
- else
- {
- saveElement(o, value, entryFeature);
- }
- }
- }
- return size > 0;
- }
-
- protected final void saveElement(EObject o, Object value, EStructuralFeature f)
- {
- if (f.getEType() == ChangeSummaryStreamSerializer.ChangeSummary_TYPE)
- {
- saveChangeSummary(o, f, value);
- return;
- }
- /* super.saveElement(o, value, f);
- * TEMPORARILY COPIED FROM BASE CLASS - DO NOT EDIT - WILL BE REMOVED WHEN WE MOVE TO EMF 2.3
- */
- if (value == null)
- {
- saveNil(o, f);
- }
- else
- {
- String svalue = getDatatypeValue(value, f, false);
- if (!toDOM)
- {
- doc.saveDataValueElement(helper.getQName(f), svalue);
- }
- else
- {
- helper.populateNameInfo(nameInfo, f);
- Element elem = document.createElementNS(nameInfo.getNamespaceURI(), nameInfo.getQualifiedName());
- Node text = document.createTextNode(svalue);
- elem.appendChild(text);
- currentNode.appendChild(elem);
- handler.recordValues(elem, o, f, value);
- handler.recordValues(text, o, f, value);
- }
- }
- }
- }
-
- protected XMLSave createXMLSave() {
- return new SDOXMLSaveImpl(createXMLHelper());
- }
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLDocumentStreamReader.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLDocumentStreamReader.java
deleted file mode 100644
index 64088a0366..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLDocumentStreamReader.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import java.util.NoSuchElementException;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.stream.Location;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-/**
- * This class is derived from Apache Axis2 class <a
- * href="http://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/StreamWrapper.java">
- * org.apache.axis2.util.StreamWrapper</a>. It's used wrap a XMLStreamReader to create a XMLStreamReader representing a document and it will produce
- * START_DOCUMENT, END_DOCUMENT events.
- *
- */
-public class XMLDocumentStreamReader implements XMLStreamReader {
- private static final int STATE_INIT = 0; // The wrapper will produce START_DOCUMENT
-
- private static final int STATE_SWITCHED = 1; // The real reader will produce events
-
- private static final int STATE_COMPLETE_AT_NEXT = 2; // The wrapper will produce END_DOCUMENT
-
- private static final int STATE_COMPLETED = 3; // Done
-
- private XMLStreamReader realReader = null;
-
- private int state = STATE_INIT;
-
- public XMLDocumentStreamReader(XMLStreamReader realReader) {
- if (realReader == null) {
- throw new UnsupportedOperationException("Reader cannot be null");
- }
-
- this.realReader = realReader;
-
- // If the real reader is positioned at START_DOCUMENT, always use the real reader
- if (realReader.getEventType() == START_DOCUMENT)
- state = STATE_SWITCHED;
- }
-
- public void close() throws XMLStreamException {
- realReader.close();
- }
-
- public int next() throws XMLStreamException {
- int returnEvent = -1;
-
- switch (state) {
- case STATE_SWITCHED:
- returnEvent = realReader.next();
- if (returnEvent == END_DOCUMENT) {
- state = STATE_COMPLETED;
- } else if (!realReader.hasNext()) {
- state = STATE_COMPLETE_AT_NEXT;
- }
- break;
- case STATE_INIT:
- state = STATE_SWITCHED;
- returnEvent = realReader.getEventType();
- break;
- case STATE_COMPLETE_AT_NEXT:
- state = STATE_COMPLETED;
- returnEvent = END_DOCUMENT;
- break;
- case STATE_COMPLETED:
- // oops - no way we can go beyond this
- throw new NoSuchElementException("End of stream has reached.");
- default:
- throw new UnsupportedOperationException();
- }
-
- return returnEvent;
- }
-
- private boolean isDelegating() {
- return state == STATE_SWITCHED || state == STATE_COMPLETE_AT_NEXT;
- }
-
- public int nextTag() throws XMLStreamException {
- if (isDelegating()) {
- return realReader.nextTag();
- } else {
- throw new XMLStreamException();
- }
- }
-
- public void require(int i, String s, String s1) throws XMLStreamException {
- if (isDelegating()) {
- realReader.require(i, s, s1);
- }
- }
-
- public boolean standaloneSet() {
- if (isDelegating()) {
- return realReader.standaloneSet();
- } else {
- return false;
- }
- }
-
- public int getAttributeCount() {
- if (isDelegating()) {
- return realReader.getAttributeCount();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeLocalName(int i) {
- if (isDelegating()) {
- return realReader.getAttributeLocalName(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public QName getAttributeName(int i) {
- if (isDelegating()) {
- return realReader.getAttributeName(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeNamespace(int i) {
- if (isDelegating()) {
- return realReader.getAttributeNamespace(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributePrefix(int i) {
- if (isDelegating()) {
- return realReader.getAttributePrefix(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeType(int i) {
- if (isDelegating()) {
- return realReader.getAttributeType(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeValue(int i) {
- if (isDelegating()) {
- return realReader.getAttributeValue(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getAttributeValue(String s, String s1) {
- if (isDelegating()) {
- return realReader.getAttributeValue(s, s1);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getCharacterEncodingScheme() {
- return realReader.getCharacterEncodingScheme();
- }
-
- public String getElementText() throws XMLStreamException {
- if (isDelegating()) {
- return realReader.getElementText();
- } else {
- throw new XMLStreamException();
- }
- }
-
- public String getEncoding() {
- return realReader.getEncoding();
- }
-
- public int getEventType() {
- int event = -1;
- switch (state) {
- case STATE_SWITCHED:
- case STATE_COMPLETE_AT_NEXT:
- event = realReader.getEventType();
- break;
- case STATE_INIT:
- event = START_DOCUMENT;
- break;
- case STATE_COMPLETED:
- event = END_DOCUMENT;
- break;
- }
- return event;
- }
-
- public Location getLocation() {
- if (isDelegating()) {
- return realReader.getLocation();
- } else {
- return null;
- }
- }
-
- public QName getName() {
- if (isDelegating()) {
- return realReader.getName();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getLocalName() {
- if (isDelegating()) {
- return realReader.getLocalName();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public NamespaceContext getNamespaceContext() {
- return realReader.getNamespaceContext();
- }
-
- public int getNamespaceCount() {
- if (isDelegating()) {
- return realReader.getNamespaceCount();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getNamespacePrefix(int i) {
- if (isDelegating()) {
- return realReader.getNamespacePrefix(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getNamespaceURI() {
- if (isDelegating()) {
- return realReader.getNamespaceURI();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getNamespaceURI(int i) {
- if (isDelegating()) {
- return realReader.getNamespaceURI(i);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getNamespaceURI(String s) {
- if (isDelegating()) {
- return realReader.getNamespaceURI(s);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getPIData() {
- if (isDelegating()) {
- return realReader.getPIData();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getPITarget() {
- if (isDelegating()) {
- return realReader.getPITarget();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getPrefix() {
- if (isDelegating()) {
- return realReader.getPrefix();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public Object getProperty(String s) throws IllegalArgumentException {
- return realReader.getProperty(s);
- }
-
- public String getText() {
- if (isDelegating()) {
- return realReader.getText();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public char[] getTextCharacters() {
- if (isDelegating()) {
- return realReader.getTextCharacters();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException {
- if (isDelegating()) {
- return realReader.getTextCharacters(i, chars, i1, i2);
- } else {
- throw new IllegalStateException();
- }
- }
-
- public int getTextLength() {
- if (isDelegating()) {
- return realReader.getTextLength();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public int getTextStart() {
- if (isDelegating()) {
- return realReader.getTextStart();
- } else {
- throw new IllegalStateException();
- }
- }
-
- public String getVersion() {
- if (isDelegating()) {
- return realReader.getVersion();
- } else {
- return null;
- }
- }
-
- public boolean hasName() {
- if (isDelegating()) {
- return realReader.hasName();
- } else {
- return false;
- }
- }
-
- public boolean hasNext() throws XMLStreamException {
- if (state == STATE_COMPLETE_AT_NEXT) {
- return true;
- } else if (state == STATE_COMPLETED) {
- return false;
- } else if (state == STATE_SWITCHED) {
- return realReader.hasNext();
- } else {
- return true;
- }
- }
-
- public boolean hasText() {
- if (isDelegating()) {
- return realReader.hasText();
- } else {
- return false;
- }
- }
-
- public boolean isAttributeSpecified(int i) {
- if (isDelegating()) {
- return realReader.isAttributeSpecified(i);
- } else {
- return false;
- }
- }
-
- public boolean isCharacters() {
- if (isDelegating()) {
- return realReader.isCharacters();
- } else {
- return false;
- }
- }
-
- public boolean isEndElement() {
- if (isDelegating()) {
- return realReader.isEndElement();
- } else {
- return false;
- }
- }
-
- public boolean isStandalone() {
- if (isDelegating()) {
- return realReader.isStandalone();
- } else {
- return false;
- }
- }
-
- public boolean isStartElement() {
- if (isDelegating()) {
- return realReader.isStartElement();
- } else {
- return false;
- }
- }
-
- public boolean isWhiteSpace() {
- if (isDelegating()) {
- return realReader.isWhiteSpace();
- } else {
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLFragmentStreamReader.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLFragmentStreamReader.java
deleted file mode 100644
index 66d8fbdc6a..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLFragmentStreamReader.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.util.resource;
-
-import javax.xml.stream.XMLStreamReader;
-
-interface XMLFragmentStreamReader extends XMLStreamReader {
-
- // this will help to handle Text within the current element.
- // user should pass the element text to the property list as this
- // ELEMENT_TEXT as the key. This key deliberately has a space in it
- // so that it is not a valid XML name
- static final String ELEMENT_TEXT = "Element Text";
-
- /**
- * Extra method to query the state of the pullparser
- * @return
- */
- boolean isEndOfFragment();
-
- /**
- * Initiate the parser - this will do whatever the needed
- * tasks to initiate the parser and must be called before
- * attempting any specific parsing using this parser
- */
- void init();
-}
diff --git a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLStreamSerializer.java b/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLStreamSerializer.java
deleted file mode 100644
index 2c2dc87aa4..0000000000
--- a/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/XMLStreamSerializer.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * 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.sdo.util.resource;
-
-import java.util.Map;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-/**
- * The XMLStreamSerializer pulls events from the XMLStreamReader and dumps into the XMLStreamWriter
- */
-public class XMLStreamSerializer implements XMLStreamConstants {
-
- private static int namespaceSuffix = 0;
-
- public static final String NAMESPACE_PREFIX = "ns";
-
- /*
- * The behavior of the serializer is such that it returns when it encounters the starting element for the second time. The depth variable tracks
- * the depth of the serilizer and tells it when to return. Note that it is assumed that this serialization starts on an Element.
- */
-
- /**
- * Field depth
- */
- private int depth = 0;
-
- /**
- * Method serialize.
- *
- * @param node
- * @param writer
- * @throws XMLStreamException
- */
- public void serialize(XMLStreamReader node, XMLStreamWriter writer) throws XMLStreamException {
- serializeNode(node, writer);
- }
-
- public void serialize(XMLStreamReader node, XMLStreamWriter writer, Map options) throws XMLStreamException {
- this.options = options;
- serializeNode(node, writer);
- }
- /**
- * Method serializeNode.
- *
- * @param reader
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeNode(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
- // TODO We get the StAXWriter at this point and uses it hereafter assuming that this is the only entry point to this class.
- // If there can be other classes calling methodes of this we might need to change methode signatures to OMOutputer
- while (reader.hasNext()) {
- int event = reader.next();
- if (event == START_ELEMENT) {
- if(options == null){
- serializeElement(reader, writer);
- }
- else{
- serializeElementWithOptions(reader, writer);
- }
- depth++;
- } else if (event == ATTRIBUTE) {
- serializeAttributes(reader, writer);
- } else if (event == CHARACTERS) {
- serializeText(reader, writer);
- } else if (event == COMMENT) {
- serializeComment(reader, writer);
- } else if (event == CDATA) {
- serializeCData(reader, writer);
- } else if (event == END_ELEMENT) {
- if(options == null){
- serializeEndElement(writer);
- }else{
- serializeEndElementWithOptions(writer);
- }
- depth--;
- } else if (event == START_DOCUMENT) {
- depth++; // if a start document is found then increment the depth
- } else if (event == END_DOCUMENT) {
- if (depth != 0)
- depth--; // for the end document - reduce the depth
- try {
- if(options == null){
- serializeEndElement(writer);
- }
- else{
- serializeEndElementWithOptions(writer);
- }
- } catch (Exception e) {
- // TODO: log exceptions
- }
- }
- if (depth == 0) {
- break;
- }
- }
- }
-
- /**
- * @param reader
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeElement(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
- String prefix = reader.getPrefix();
- String nameSpaceName = reader.getNamespaceURI();
- if (nameSpaceName != null) {
- String writer_prefix = writer.getPrefix(nameSpaceName);
- if (writer_prefix != null) {
- writer.writeStartElement(nameSpaceName, reader.getLocalName());
- } else {
- if (prefix != null) {
- writer.writeStartElement(prefix, reader.getLocalName(), nameSpaceName);
- writer.writeNamespace(prefix, nameSpaceName);
- writer.setPrefix(prefix, nameSpaceName);
- } else {
- writer.writeStartElement(nameSpaceName, reader.getLocalName());
- writer.writeDefaultNamespace(nameSpaceName);
- writer.setDefaultNamespace(nameSpaceName);
- }
- }
- } else {
- writer.writeStartElement(reader.getLocalName());
- }
-
- // add the namespaces
- int count = reader.getNamespaceCount();
- String namespacePrefix;
- for (int i = 0; i < count; i++) {
- namespacePrefix = reader.getNamespacePrefix(i);
- if (namespacePrefix != null && namespacePrefix.length() == 0)
- continue;
-
- serializeNamespace(namespacePrefix, reader.getNamespaceURI(i), writer);
- }
-
- // add attributes
- serializeAttributes(reader, writer);
-
- }
- /**
- * @param reader
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeElementWithOptions(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
- ++nest;
- boolean brk=false;
- if(oldNest != nest){
- if(oldNest < nest) brk = true;
- oldNest = nest;
- }
- startElement(writer);
- String prefix = reader.getPrefix();
- String nameSpaceName = reader.getNamespaceURI();
- if (nameSpaceName != null) {
- String writer_prefix = writer.getPrefix(nameSpaceName);
-
- if (writer_prefix != null) {
- if(brk && nest != 1){
- breakLine(writer, true, true);
- }
- else{
- breakLine(writer, false, true);
- }
-
- writer.writeStartElement(nameSpaceName, reader.getLocalName());
- } else {
- if (prefix != null) {
- if(brk && nest == 1){
- breakLine(writer, false, true);
- }
- writer.writeStartElement(prefix, reader.getLocalName(), nameSpaceName);
- writer.writeNamespace(prefix, nameSpaceName);
- writer.setPrefix(prefix, nameSpaceName);
- } else {
- if(brk && nest == 1){
- breakLine(writer, false, true);
- }
- writer.writeStartElement(nameSpaceName, reader.getLocalName());
- writer.writeDefaultNamespace(nameSpaceName);
- writer.setDefaultNamespace(nameSpaceName);
- if(brk && nest == 1){
- breakLine(writer, false, true);
- }
- }
- }
- } else {
- writer.writeStartElement(reader.getLocalName());
- }
-
- // add the namespaces
- int count = reader.getNamespaceCount();
- String namespacePrefix;
- for (int i = 0; i < count; i++) {
- namespacePrefix = reader.getNamespacePrefix(i);
- if (namespacePrefix != null && namespacePrefix.length() == 0)
- continue;
-
- serializeNamespace(namespacePrefix, reader.getNamespaceURI(i), writer);
- }
-
- // add attributes
- serializeAttributes(reader, writer);
- }
- /**
- * Method serializeEndElement.
- *
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeEndElement(XMLStreamWriter writer) throws XMLStreamException {
- writer.writeEndElement();
- }
-
- /**
- * Method serializeEndElement.
- *
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeEndElementWithOptions(XMLStreamWriter writer) throws XMLStreamException {
- --nest;
- if(oldNest > nest+1){
- nest++;
- breakLine(writer, false, true);
- writer.writeEndElement();
- breakLine(writer, true, false);
- nest--;
- }
- else{
- writer.writeEndElement();
- breakLine(writer, true, false);
- }
- }
- /**
- * @param reader
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeText(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
- writer.writeCharacters(reader.getText());
- }
-
- /**
- * Method serializeCData.
- *
- * @param reader
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeCData(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
- writer.writeCData(reader.getText());
- }
-
- /**
- * Method serializeComment.
- *
- * @param reader
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeComment(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
- writer.writeComment(reader.getText());
- }
-
- /**
- * @param reader
- * @param writer
- * @throws XMLStreamException
- */
- protected void serializeAttributes(XMLStreamReader reader, XMLStreamWriter writer)
- throws XMLStreamException {
- int count = reader.getAttributeCount();
- String prefix = null;
- String namespaceName = null;
- String writerPrefix = null;
- for (int i = 0; i < count; i++) {
- prefix = reader.getAttributePrefix(i);
- namespaceName = reader.getAttributeNamespace(i);
- if (namespaceName != null) {
- writerPrefix = writer.getNamespaceContext().getPrefix(namespaceName);
- }
-
- if (!"".equals(namespaceName)) {
- // prefix has already being declared but this particular attrib
- // has a
- // no prefix attached. So use the prefix provided by the writer
- if (writerPrefix != null && (prefix == null || prefix.equals(""))) {
- writer.writeAttribute(writerPrefix,
- namespaceName,
- reader.getAttributeLocalName(i),
- reader.getAttributeValue(i));
-
- // writer prefix is available but different from the current
- // prefix of the attrib. We should be decalring the new
- // prefix
- // as a namespace declaration
- } else if (prefix != null && !"".equals(prefix) && !prefix.equals(writerPrefix)) {
- writer.writeNamespace(prefix, namespaceName);
- writer.writeAttribute(prefix, namespaceName, reader.getAttributeLocalName(i), reader
- .getAttributeValue(i));
-
- // prefix is null (or empty), but the namespace name is
- // valid! it has not
- // being written previously also. So we need to generate a
- // prefix
- // here
- } else if (prefix == null || prefix.equals("")) {
- prefix = generateUniquePrefix(writer.getNamespaceContext());
- writer.writeNamespace(prefix, namespaceName);
- writer.writeAttribute(prefix, namespaceName, reader.getAttributeLocalName(i), reader
- .getAttributeValue(i));
- } else {
- writer.writeAttribute(prefix, namespaceName, reader.getAttributeLocalName(i), reader
- .getAttributeValue(i));
- }
- } else {
- // empty namespace is equal to no namespace!
- writer.writeAttribute(reader.getAttributeLocalName(i), reader.getAttributeValue(i));
- }
-
- }
- }
-
- /**
- * Generates a unique namespace prefix that is not in the scope of the NamespaceContext
- *
- * @param nsCtxt
- * @return string
- */
- private String generateUniquePrefix(NamespaceContext nsCtxt) {
- String prefix = NAMESPACE_PREFIX + namespaceSuffix++;
- // null should be returned if the prefix is not bound!
- while (nsCtxt.getNamespaceURI(prefix) != null) {
- prefix = NAMESPACE_PREFIX + namespaceSuffix++;
- }
-
- return prefix;
- }
-
- /**
- * Method serializeNamespace.
- *
- * @param prefix
- * @param URI
- * @param writer
- * @throws XMLStreamException
- */
- private void serializeNamespace(String prefix, String URI, XMLStreamWriter writer) throws XMLStreamException {
- String prefix1 = writer.getPrefix(URI);
- if (prefix1 == null) {
- writer.writeNamespace(prefix, URI);
- writer.setPrefix(prefix, URI);
- }
- }
- private String lineBreak, indent, margin = null;
-
- private int nest;
- private int oldNest;
-
- private void breakLine(XMLStreamWriter writer, boolean breakLine, boolean others) throws XMLStreamException {
- if (options == null || (lineBreak==null && indent==null && margin==null) )
- return;
- if(breakLine)
- writer.writeCharacters(lineBreak);
-
- if (margin != null){
- if(others)
- writer.writeCharacters(margin);
- }
-
- if (indent != null && others){
- for (int count = nest; count != 1; --count){//!= 0
- writer.writeCharacters(indent);
- }
- }
- }
-
- private Map options;
-
- static private final String STRING_OPTION = "String option";
-
- void startElement(XMLStreamWriter writer) throws XMLStreamException {
- if (options == null)
- return;
- lineBreak = (String) options.get(SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK);
- if (lineBreak == null)
- return;
- margin = (String) options.get(SDOHelper.XMLOptions.XML_SAVE_MARGIN);
- indent = (String) options.get(SDOHelper.XMLOptions.XML_SAVE_INDENT);
- }
-}
diff --git a/java/sdo/impl/src/main/resources/META-INF/DISCLAIMER b/java/sdo/impl/src/main/resources/META-INF/DISCLAIMER
deleted file mode 100644
index a65af91c5a..0000000000
--- a/java/sdo/impl/src/main/resources/META-INF/DISCLAIMER
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache 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. \ No newline at end of file
diff --git a/java/sdo/impl/src/main/resources/META-INF/LICENSE.txt b/java/sdo/impl/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 9a90d375bc..0000000000
--- a/java/sdo/impl/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,207 +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.
-
-
-
-
-
diff --git a/java/sdo/impl/src/main/resources/META-INF/MANIFEST.MF b/java/sdo/impl/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index 6c5ac9a0c6..0000000000
--- a/java/sdo/impl/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Extension-Name: tuscany-sdo-impl
-Specification-Title: Tuscany SDO Implementation
-Specification-Vendor: Apache Software Foundation
-Implementation-Vendor: Apache Software Foundation
-Implementation-Vendor-Id: org.apache
-Implementation-Title: tuscany-sdo-impl
-Implementation-Version: ${pom.version}
-Bundle-ManifestVersion: 2
-Bundle-Name: Tuscany SDO Implementation
-Bundle-SymbolicName: org.apache.tuscany.sdo.impl
-Bundle-Version: 1.0.0
-Bundle-Vendor: Apache Software Foundation
-Require-Bundle-FIXME: org.eclipse.emf.common,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.change,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.xsd,
- org.apache.tuscany.sdo.spec;visibility:=reexport
-Import-Package: org.osgi.framework
-Export-Package: commonj.sdo.impl,
- org.apache.tuscany.sdo,
- org.apache.tuscany.sdo.helper,
- org.apache.tuscany.sdo.impl,
- org.apache.tuscany.sdo.test,
- org.apache.tuscany.sdo.codegen,
- org.apache.tuscany.sdo.model,
- org.apache.tuscany.sdo.util
-Bundle-Activator: org.apache.tuscany.sdo.osgi.SdoBundleActivator
diff --git a/java/sdo/impl/src/main/resources/META-INF/NOTICE b/java/sdo/impl/src/main/resources/META-INF/NOTICE
deleted file mode 100644
index 9f9572a167..0000000000
--- a/java/sdo/impl/src/main/resources/META-INF/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Tuscany
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
diff --git a/java/sdo/impl/src/main/resources/META-INF/README.txt b/java/sdo/impl/src/main/resources/META-INF/README.txt
deleted file mode 100644
index c658fee5d5..0000000000
--- a/java/sdo/impl/src/main/resources/META-INF/README.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Apache Tuscany 1.1-incubating build April 2008
-==============================================
-
-http://incubator.apache.org/tuscany/
-
-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/java/sdo/impl/src/main/resources/META-INF/services/commonj.sdo.impl.HelperProvider b/java/sdo/impl/src/main/resources/META-INF/services/commonj.sdo.impl.HelperProvider
deleted file mode 100644
index 73693d6556..0000000000
--- a/java/sdo/impl/src/main/resources/META-INF/services/commonj.sdo.impl.HelperProvider
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.tuscany.sdo.helper.HelperProviderImpl \ No newline at end of file
diff --git a/java/sdo/impl/src/main/resources/sdo-metadata.xsd b/java/sdo/impl/src/main/resources/sdo-metadata.xsd
deleted file mode 100644
index 6a5132ed56..0000000000
--- a/java/sdo/impl/src/main/resources/sdo-metadata.xsd
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="org.apache.tuscany.sdo/metadata" xmlns:metadata="org.apache.tuscany.sdo/metadata">
-
- <element name="sdoMetaDataGroup" type="metadata:SDOMetaDataGroup"/>
-
- <complexType name="SDOMetaDataGroup">
- <sequence>
- <element name="javaMetaData" type="metadata:JavaMetaData" maxOccurs="unbounded" minOccurs="0"/>
- <element name="xsdMetaData" type="metadata:XSDMetaData" maxOccurs="unbounded" minOccurs="0"/>
- <element name="typeMetaData" type="metadata:TypeMetaData" maxOccurs="unbounded" minOccurs="0"/>
- </sequence>
- </complexType>
-
- <complexType name="JavaMetaData">
- <attribute name="factoryInterface" type="string" use="optional"/>
- <attribute name="typeInterface" type="string" use="optional"/>
- </complexType>
-
- <complexType name="XSDMetaData">
- <attribute name="location" type="string" use="required"/>
- </complexType>
-
- <complexType name="TypeMetaData">
- <attribute name="location" type="string" use="required"/>
- </complexType>
-
-</schema>
diff --git a/java/sdo/impl/src/main/resources/xml/sdoInternal.xsd b/java/sdo/impl/src/main/resources/xml/sdoInternal.xsd
deleted file mode 100644
index b606caf424..0000000000
--- a/java/sdo/impl/src/main/resources/xml/sdoInternal.xsd
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdoJava="commonj.sdo/java"
- xmlns:internal="http://www.apache.org/tuscany/commonj.sdo.internal"
- targetNamespace="http://www.apache.org/tuscany/commonj.sdo.internal">
-
- <xsd:simpleType name="Base64Bytes" sdoJava:instanceClass="byte[]">
- <xsd:restriction base="xsd:base64Binary"/>
- </xsd:simpleType>
-
- <xsd:simpleType name="QName" sdoJava:instanceClass="java.lang.String">
- <xsd:restriction base="xsd:QName"/>
- </xsd:simpleType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/main/resources/xml/sdoModelChangeSummary.xsd b/java/sdo/impl/src/main/resources/xml/sdoModelChangeSummary.xsd
deleted file mode 100644
index 6b596c5b36..0000000000
--- a/java/sdo/impl/src/main/resources/xml/sdoModelChangeSummary.xsd
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sdo="commonj.sdo" xmlns:sdoJava="commonj.sdo/java" targetNamespace="commonj.sdo">
-
- <!-- Dummy XSD definition of special SDO ChangeSummaryType -->
- <xsd:simpleType name="ChangeSummaryType" sdoJava:instanceClass="commonj.sdo.ChangeSummary">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
-
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionFactory.java b/java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionFactory.java
deleted file mode 100644
index 938c4b25d2..0000000000
--- a/java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionFactory.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.ExpectedException;
-
-import commonj.sdo.helper.HelperContext;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface ExpectedExceptionFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ExpectedExceptionFactory INSTANCE = com.example.ExpectedException.impl.ExpectedExceptionFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Type</em>'.
- * @generated
- */
- ExpectedExceptionType createExpectedExceptionType();
-
- /**
- * Returns a new object of class '<em>Sequence Read Only Type</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Sequence Read Only Type</em>'.
- * @generated
- */
- SequenceReadOnlyType createSequenceReadOnlyType();
-
- /**
- * Registers the types supported by this Factory within the supplied scope.argument
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param scope an instance of HelperContext used to manage the scoping of types.
- * @generated
- */
- public void register(HelperContext scope);
-
-} //ExpectedExceptionFactory
diff --git a/java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionType.java b/java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionType.java
deleted file mode 100644
index 80159443dc..0000000000
--- a/java/sdo/impl/src/test/java/com/example/ExpectedException/ExpectedExceptionType.java
+++ /dev/null
@@ -1,786 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.ExpectedException;
-
-import java.io.Serializable;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getStringVal <em>String Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#isBooleanVal <em>Boolean Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getByteVal <em>Byte Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getDecimalVal <em>Decimal Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getIntVal <em>Int Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getFloatVal <em>Float Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getDoubleVal <em>Double Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getDateVal <em>Date Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getShortVal <em>Short Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getLongVal <em>Long Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getListVal <em>List Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getBytesVal <em>Bytes Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getIntegerVal <em>Integer Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getCharVal <em>Char Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getReadOnlyVal <em>Read Only Val</em>}</li>
- * <li>{@link com.example.ExpectedException.ExpectedExceptionType#getReadOnlyListVal <em>Read Only List Val</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface ExpectedExceptionType extends Serializable
-{
- /**
- * Returns the value of the '<em><b>String Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>String Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>String Val</em>' attribute.
- * @see #isSetStringVal()
- * @see #unsetStringVal()
- * @see #setStringVal(String)
- * @generated
- */
- String getStringVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getStringVal <em>String Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>String Val</em>' attribute.
- * @see #isSetStringVal()
- * @see #unsetStringVal()
- * @see #getStringVal()
- * @generated
- */
- void setStringVal(String value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getStringVal <em>String Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetStringVal()
- * @see #getStringVal()
- * @see #setStringVal(String)
- * @generated
- */
- void unsetStringVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getStringVal <em>String Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>String Val</em>' attribute is set.
- * @see #unsetStringVal()
- * @see #getStringVal()
- * @see #setStringVal(String)
- * @generated
- */
- boolean isSetStringVal();
-
- /**
- * Returns the value of the '<em><b>Boolean Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Boolean Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Boolean Val</em>' attribute.
- * @see #isSetBooleanVal()
- * @see #unsetBooleanVal()
- * @see #setBooleanVal(boolean)
- * @generated
- */
- boolean isBooleanVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#isBooleanVal <em>Boolean Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Boolean Val</em>' attribute.
- * @see #isSetBooleanVal()
- * @see #unsetBooleanVal()
- * @see #isBooleanVal()
- * @generated
- */
- void setBooleanVal(boolean value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#isBooleanVal <em>Boolean Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetBooleanVal()
- * @see #isBooleanVal()
- * @see #setBooleanVal(boolean)
- * @generated
- */
- void unsetBooleanVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#isBooleanVal <em>Boolean Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Boolean Val</em>' attribute is set.
- * @see #unsetBooleanVal()
- * @see #isBooleanVal()
- * @see #setBooleanVal(boolean)
- * @generated
- */
- boolean isSetBooleanVal();
-
- /**
- * Returns the value of the '<em><b>Byte Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Byte Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Byte Val</em>' attribute.
- * @see #isSetByteVal()
- * @see #unsetByteVal()
- * @see #setByteVal(byte)
- * @generated
- */
- byte getByteVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getByteVal <em>Byte Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Byte Val</em>' attribute.
- * @see #isSetByteVal()
- * @see #unsetByteVal()
- * @see #getByteVal()
- * @generated
- */
- void setByteVal(byte value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getByteVal <em>Byte Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetByteVal()
- * @see #getByteVal()
- * @see #setByteVal(byte)
- * @generated
- */
- void unsetByteVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getByteVal <em>Byte Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Byte Val</em>' attribute is set.
- * @see #unsetByteVal()
- * @see #getByteVal()
- * @see #setByteVal(byte)
- * @generated
- */
- boolean isSetByteVal();
-
- /**
- * Returns the value of the '<em><b>Decimal Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Decimal Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Decimal Val</em>' attribute.
- * @see #isSetDecimalVal()
- * @see #unsetDecimalVal()
- * @see #setDecimalVal(BigDecimal)
- * @generated
- */
- BigDecimal getDecimalVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDecimalVal <em>Decimal Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Decimal Val</em>' attribute.
- * @see #isSetDecimalVal()
- * @see #unsetDecimalVal()
- * @see #getDecimalVal()
- * @generated
- */
- void setDecimalVal(BigDecimal value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDecimalVal <em>Decimal Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDecimalVal()
- * @see #getDecimalVal()
- * @see #setDecimalVal(BigDecimal)
- * @generated
- */
- void unsetDecimalVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDecimalVal <em>Decimal Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Decimal Val</em>' attribute is set.
- * @see #unsetDecimalVal()
- * @see #getDecimalVal()
- * @see #setDecimalVal(BigDecimal)
- * @generated
- */
- boolean isSetDecimalVal();
-
- /**
- * Returns the value of the '<em><b>Int Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Int Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Int Val</em>' attribute.
- * @see #isSetIntVal()
- * @see #unsetIntVal()
- * @see #setIntVal(int)
- * @generated
- */
- int getIntVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getIntVal <em>Int Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Int Val</em>' attribute.
- * @see #isSetIntVal()
- * @see #unsetIntVal()
- * @see #getIntVal()
- * @generated
- */
- void setIntVal(int value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getIntVal <em>Int Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetIntVal()
- * @see #getIntVal()
- * @see #setIntVal(int)
- * @generated
- */
- void unsetIntVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getIntVal <em>Int Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Int Val</em>' attribute is set.
- * @see #unsetIntVal()
- * @see #getIntVal()
- * @see #setIntVal(int)
- * @generated
- */
- boolean isSetIntVal();
-
- /**
- * Returns the value of the '<em><b>Float Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Float Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Float Val</em>' attribute.
- * @see #isSetFloatVal()
- * @see #unsetFloatVal()
- * @see #setFloatVal(float)
- * @generated
- */
- float getFloatVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getFloatVal <em>Float Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Float Val</em>' attribute.
- * @see #isSetFloatVal()
- * @see #unsetFloatVal()
- * @see #getFloatVal()
- * @generated
- */
- void setFloatVal(float value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getFloatVal <em>Float Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetFloatVal()
- * @see #getFloatVal()
- * @see #setFloatVal(float)
- * @generated
- */
- void unsetFloatVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getFloatVal <em>Float Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Float Val</em>' attribute is set.
- * @see #unsetFloatVal()
- * @see #getFloatVal()
- * @see #setFloatVal(float)
- * @generated
- */
- boolean isSetFloatVal();
-
- /**
- * Returns the value of the '<em><b>Double Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Double Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Double Val</em>' attribute.
- * @see #isSetDoubleVal()
- * @see #unsetDoubleVal()
- * @see #setDoubleVal(double)
- * @generated
- */
- double getDoubleVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDoubleVal <em>Double Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Double Val</em>' attribute.
- * @see #isSetDoubleVal()
- * @see #unsetDoubleVal()
- * @see #getDoubleVal()
- * @generated
- */
- void setDoubleVal(double value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDoubleVal <em>Double Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDoubleVal()
- * @see #getDoubleVal()
- * @see #setDoubleVal(double)
- * @generated
- */
- void unsetDoubleVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDoubleVal <em>Double Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Double Val</em>' attribute is set.
- * @see #unsetDoubleVal()
- * @see #getDoubleVal()
- * @see #setDoubleVal(double)
- * @generated
- */
- boolean isSetDoubleVal();
-
- /**
- * Returns the value of the '<em><b>Date Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Date Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Date Val</em>' attribute.
- * @see #isSetDateVal()
- * @see #unsetDateVal()
- * @see #setDateVal(String)
- * @generated
- */
- String getDateVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDateVal <em>Date Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Date Val</em>' attribute.
- * @see #isSetDateVal()
- * @see #unsetDateVal()
- * @see #getDateVal()
- * @generated
- */
- void setDateVal(String value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDateVal <em>Date Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDateVal()
- * @see #getDateVal()
- * @see #setDateVal(String)
- * @generated
- */
- void unsetDateVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getDateVal <em>Date Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Date Val</em>' attribute is set.
- * @see #unsetDateVal()
- * @see #getDateVal()
- * @see #setDateVal(String)
- * @generated
- */
- boolean isSetDateVal();
-
- /**
- * Returns the value of the '<em><b>Short Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Short Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Short Val</em>' attribute.
- * @see #isSetShortVal()
- * @see #unsetShortVal()
- * @see #setShortVal(short)
- * @generated
- */
- short getShortVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getShortVal <em>Short Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Short Val</em>' attribute.
- * @see #isSetShortVal()
- * @see #unsetShortVal()
- * @see #getShortVal()
- * @generated
- */
- void setShortVal(short value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getShortVal <em>Short Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetShortVal()
- * @see #getShortVal()
- * @see #setShortVal(short)
- * @generated
- */
- void unsetShortVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getShortVal <em>Short Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Short Val</em>' attribute is set.
- * @see #unsetShortVal()
- * @see #getShortVal()
- * @see #setShortVal(short)
- * @generated
- */
- boolean isSetShortVal();
-
- /**
- * Returns the value of the '<em><b>Long Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Long Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Long Val</em>' attribute.
- * @see #isSetLongVal()
- * @see #unsetLongVal()
- * @see #setLongVal(long)
- * @generated
- */
- long getLongVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getLongVal <em>Long Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Long Val</em>' attribute.
- * @see #isSetLongVal()
- * @see #unsetLongVal()
- * @see #getLongVal()
- * @generated
- */
- void setLongVal(long value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getLongVal <em>Long Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetLongVal()
- * @see #getLongVal()
- * @see #setLongVal(long)
- * @generated
- */
- void unsetLongVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getLongVal <em>Long Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Long Val</em>' attribute is set.
- * @see #unsetLongVal()
- * @see #getLongVal()
- * @see #setLongVal(long)
- * @generated
- */
- boolean isSetLongVal();
-
- /**
- * Returns the value of the '<em><b>List Val</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>List Val</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>List Val</em>' attribute list.
- * @generated
- */
- List getListVal();
-
- /**
- * Returns the value of the '<em><b>Bytes Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Bytes Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Bytes Val</em>' attribute.
- * @see #isSetBytesVal()
- * @see #unsetBytesVal()
- * @see #setBytesVal(byte[])
- * @generated
- */
- byte[] getBytesVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getBytesVal <em>Bytes Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Bytes Val</em>' attribute.
- * @see #isSetBytesVal()
- * @see #unsetBytesVal()
- * @see #getBytesVal()
- * @generated
- */
- void setBytesVal(byte[] value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getBytesVal <em>Bytes Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetBytesVal()
- * @see #getBytesVal()
- * @see #setBytesVal(byte[])
- * @generated
- */
- void unsetBytesVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getBytesVal <em>Bytes Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Bytes Val</em>' attribute is set.
- * @see #unsetBytesVal()
- * @see #getBytesVal()
- * @see #setBytesVal(byte[])
- * @generated
- */
- boolean isSetBytesVal();
-
- /**
- * Returns the value of the '<em><b>Integer Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Integer Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Integer Val</em>' attribute.
- * @see #isSetIntegerVal()
- * @see #unsetIntegerVal()
- * @see #setIntegerVal(BigInteger)
- * @generated
- */
- BigInteger getIntegerVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getIntegerVal <em>Integer Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Integer Val</em>' attribute.
- * @see #isSetIntegerVal()
- * @see #unsetIntegerVal()
- * @see #getIntegerVal()
- * @generated
- */
- void setIntegerVal(BigInteger value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getIntegerVal <em>Integer Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetIntegerVal()
- * @see #getIntegerVal()
- * @see #setIntegerVal(BigInteger)
- * @generated
- */
- void unsetIntegerVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getIntegerVal <em>Integer Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Integer Val</em>' attribute is set.
- * @see #unsetIntegerVal()
- * @see #getIntegerVal()
- * @see #setIntegerVal(BigInteger)
- * @generated
- */
- boolean isSetIntegerVal();
-
- /**
- * Returns the value of the '<em><b>Char Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Char Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Char Val</em>' attribute.
- * @see #isSetCharVal()
- * @see #unsetCharVal()
- * @see #setCharVal(String)
- * @generated
- */
- String getCharVal();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getCharVal <em>Char Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Char Val</em>' attribute.
- * @see #isSetCharVal()
- * @see #unsetCharVal()
- * @see #getCharVal()
- * @generated
- */
- void setCharVal(String value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getCharVal <em>Char Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetCharVal()
- * @see #getCharVal()
- * @see #setCharVal(String)
- * @generated
- */
- void unsetCharVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getCharVal <em>Char Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Char Val</em>' attribute is set.
- * @see #unsetCharVal()
- * @see #getCharVal()
- * @see #setCharVal(String)
- * @generated
- */
- boolean isSetCharVal();
-
- /**
- * Returns the value of the '<em><b>Read Only Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Read Only Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Read Only Val</em>' attribute.
- * @see #isSetReadOnlyVal()
- * @generated
- */
- String getReadOnlyVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getReadOnlyVal <em>Read Only Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Read Only Val</em>' attribute is set.
- * @see #getReadOnlyVal()
- * @generated
- */
- boolean isSetReadOnlyVal();
-
- /**
- * Returns the value of the '<em><b>Read Only List Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Read Only List Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Read Only List Val</em>' attribute.
- * @see #isSetReadOnlyListVal()
- * @generated
- */
- String getReadOnlyListVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.ExpectedExceptionType#getReadOnlyListVal <em>Read Only List Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Read Only List Val</em>' attribute is set.
- * @see #getReadOnlyListVal()
- * @generated
- */
- boolean isSetReadOnlyListVal();
-
-} // ExpectedExceptionType
diff --git a/java/sdo/impl/src/test/java/com/example/ExpectedException/SequenceReadOnlyType.java b/java/sdo/impl/src/test/java/com/example/ExpectedException/SequenceReadOnlyType.java
deleted file mode 100644
index a87511df28..0000000000
--- a/java/sdo/impl/src/test/java/com/example/ExpectedException/SequenceReadOnlyType.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.ExpectedException;
-
-import commonj.sdo.Sequence;
-
-import java.io.Serializable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Sequence Read Only Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link com.example.ExpectedException.SequenceReadOnlyType#getMixed <em>Mixed</em>}</li>
- * <li>{@link com.example.ExpectedException.SequenceReadOnlyType#getReadOnlyVal <em>Read Only Val</em>}</li>
- * <li>{@link com.example.ExpectedException.SequenceReadOnlyType#getReadOnlyListVal <em>Read Only List Val</em>}</li>
- * <li>{@link com.example.ExpectedException.SequenceReadOnlyType#getUniqueName <em>Unique Name</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface SequenceReadOnlyType extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Mixed</em>' attribute list.
- * @generated
- */
- Sequence getMixed();
-
- /**
- * Returns the value of the '<em><b>Read Only Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Read Only Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Read Only Val</em>' attribute.
- * @see #isSetReadOnlyVal()
- * @generated
- */
- String getReadOnlyVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.SequenceReadOnlyType#getReadOnlyVal <em>Read Only Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Read Only Val</em>' attribute is set.
- * @see #getReadOnlyVal()
- * @generated
- */
- boolean isSetReadOnlyVal();
-
- /**
- * Returns the value of the '<em><b>Read Only List Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Read Only List Val</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Read Only List Val</em>' attribute.
- * @see #isSetReadOnlyListVal()
- * @generated
- */
- String getReadOnlyListVal();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.SequenceReadOnlyType#getReadOnlyListVal <em>Read Only List Val</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Read Only List Val</em>' attribute is set.
- * @see #getReadOnlyListVal()
- * @generated
- */
- boolean isSetReadOnlyListVal();
-
- /**
- * Returns the value of the '<em><b>Unique Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Unique Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Unique Name</em>' attribute.
- * @see #isSetUniqueName()
- * @see #unsetUniqueName()
- * @see #setUniqueName(String)
- * @generated
- */
- String getUniqueName();
-
- /**
- * Sets the value of the '{@link com.example.ExpectedException.SequenceReadOnlyType#getUniqueName <em>Unique Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Unique Name</em>' attribute.
- * @see #isSetUniqueName()
- * @see #unsetUniqueName()
- * @see #getUniqueName()
- * @generated
- */
- void setUniqueName(String value);
-
- /**
- * Unsets the value of the '{@link com.example.ExpectedException.SequenceReadOnlyType#getUniqueName <em>Unique Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetUniqueName()
- * @see #getUniqueName()
- * @see #setUniqueName(String)
- * @generated
- */
- void unsetUniqueName();
-
- /**
- * Returns whether the value of the '{@link com.example.ExpectedException.SequenceReadOnlyType#getUniqueName <em>Unique Name</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Unique Name</em>' attribute is set.
- * @see #unsetUniqueName()
- * @see #getUniqueName()
- * @see #setUniqueName(String)
- * @generated
- */
- boolean isSetUniqueName();
-
-} // SequenceReadOnlyType
diff --git a/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionFactoryImpl.java b/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionFactoryImpl.java
deleted file mode 100644
index 68280749c4..0000000000
--- a/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionFactoryImpl.java
+++ /dev/null
@@ -1,579 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.ExpectedException.impl;
-
-import commonj.sdo.helper.HelperContext;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-
-import com.example.ExpectedException.*;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.SDOFactory;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-
-import org.apache.tuscany.sdo.model.internal.InternalFactory;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * Generator information:
- * patternVersion=1.2; -prefix ExpectedException
- * <!-- end-user-doc -->
- * @generated
- */
-public class ExpectedExceptionFactoryImpl extends FactoryBase implements ExpectedExceptionFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "http://example.com/ExpectedException";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "expect";
-
- /**
- * The version of the generator pattern used to generate this class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String PATTERN_VERSION = "1.2";
-
- public static final int EXPECTED_EXCEPTION_TYPE = 1;
- public static final int SEQUENCE_READ_ONLY_TYPE = 2;
- public static final int CHAR = 3;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExpectedExceptionFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.sdo.test.ExpectedException");
- }
-
- /**
- * Registers the Factory instance so that it is available within the supplied scope.
- * @argument scope a HelperContext instance that will make the types supported by this Factory available.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void register(HelperContext scope) {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- case EXPECTED_EXCEPTION_TYPE: return (DataObject)createExpectedExceptionType();
- case SEQUENCE_READ_ONLY_TYPE: return (DataObject)createSequenceReadOnlyType();
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(int typeNumber, String initialValue)
- {
- switch (typeNumber)
- {
- case CHAR:
- return createcharFromString(initialValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(int typeNumber, Object instanceValue)
- {
- switch (typeNumber)
- {
- case CHAR:
- return convertcharToString(instanceValue);
- default:
- throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype");
- }
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExpectedExceptionType createExpectedExceptionType()
- {
- ExpectedExceptionTypeImpl expectedExceptionType = new ExpectedExceptionTypeImpl();
- return expectedExceptionType;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SequenceReadOnlyType createSequenceReadOnlyType()
- {
- SequenceReadOnlyTypeImpl sequenceReadOnlyType = new SequenceReadOnlyTypeImpl();
- return sequenceReadOnlyType;
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected Type expectedExceptionTypeType = null;
-
- public Type getExpectedExceptionType()
- {
- return expectedExceptionTypeType;
- }
-
- protected Type sequenceReadOnlyTypeType = null;
-
- public Type getSequenceReadOnlyType()
- {
- return sequenceReadOnlyTypeType;
- }
-
- protected Type char_Type = null;
-
- public Type getchar()
- {
- return char_Type;
- }
-
-
- private static boolean isInited = false;
-
- public static ExpectedExceptionFactoryImpl init()
- {
- if (isInited) return (ExpectedExceptionFactoryImpl)FactoryBase.getStaticFactory(ExpectedExceptionFactoryImpl.NAMESPACE_URI);
- ExpectedExceptionFactoryImpl theExpectedExceptionFactoryImpl = new ExpectedExceptionFactoryImpl();
- isInited = true;
-
- // Initialize dependencies
- SDOUtil.registerStaticTypes(SDOFactory.class);
- SDOUtil.registerStaticTypes(ModelFactory.class);
- SDOUtil.registerStaticTypes(InternalFactory.class);
-
- // Create package meta-data objects
- theExpectedExceptionFactoryImpl.createMetaData();
-
- // Initialize created meta-data
- theExpectedExceptionFactoryImpl.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theExpectedExceptionFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return theExpectedExceptionFactoryImpl;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create types and their properties
- expectedExceptionTypeType = createType(false, EXPECTED_EXCEPTION_TYPE);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_STRING_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_BOOLEAN_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_BYTE_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_DECIMAL_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_INT_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_FLOAT_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_DOUBLE_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_DATE_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_SHORT_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_LONG_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_LIST_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_BYTES_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_INTEGER_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_CHAR_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_READ_ONLY_VAL);
- createProperty(true, expectedExceptionTypeType,ExpectedExceptionTypeImpl.INTERNAL_READ_ONLY_LIST_VAL);
- sequenceReadOnlyTypeType = createType(false, SEQUENCE_READ_ONLY_TYPE);
- createProperty(true, sequenceReadOnlyTypeType,SequenceReadOnlyTypeImpl.INTERNAL_MIXED);
- createProperty(true, sequenceReadOnlyTypeType,SequenceReadOnlyTypeImpl.INTERNAL_READ_ONLY_VAL);
- createProperty(true, sequenceReadOnlyTypeType,SequenceReadOnlyTypeImpl.INTERNAL_READ_ONLY_LIST_VAL);
- createProperty(true, sequenceReadOnlyTypeType,SequenceReadOnlyTypeImpl.INTERNAL_UNIQUE_NAME);
-
- // Create data types
- char_Type = createType(true, CHAR );
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Obtain other dependent packages
- ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)FactoryBase.getStaticFactory(ModelFactoryImpl.NAMESPACE_URI);
- Property property = null;
-
- // Add supertypes to types
-
- // Initialize types and properties
- initializeType(expectedExceptionTypeType, ExpectedExceptionType.class, "ExpectedExceptionType", false);
- property = getLocalProperty(expectedExceptionTypeType, 0);
- initializeProperty(property, theModelPackageImpl.getString(), "stringVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 1);
- initializeProperty(property, theModelPackageImpl.getBoolean(), "booleanVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 2);
- initializeProperty(property, theModelPackageImpl.getByte(), "byteVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 3);
- initializeProperty(property, theModelPackageImpl.getDecimal(), "decimalVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 4);
- initializeProperty(property, theModelPackageImpl.getInt(), "intVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 5);
- initializeProperty(property, theModelPackageImpl.getFloat(), "floatVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 6);
- initializeProperty(property, theModelPackageImpl.getDouble(), "doubleVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 7);
- initializeProperty(property, theModelPackageImpl.getDateTime(), "dateVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 8);
- initializeProperty(property, theModelPackageImpl.getShort(), "shortVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 9);
- initializeProperty(property, theModelPackageImpl.getLong(), "longVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 10);
- initializeProperty(property, theModelPackageImpl.getString(), "listVal", null, 0, -1, ExpectedExceptionType.class, false, false, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 11);
- initializeProperty(property, theModelPackageImpl.getBytes(), "bytesVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 12);
- initializeProperty(property, theModelPackageImpl.getInteger(), "integerVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 13);
- initializeProperty(property, this.getchar(), "charVal", null, 1, 1, ExpectedExceptionType.class, false, true, false);
-
- property = getLocalProperty(expectedExceptionTypeType, 14);
- initializeProperty(property, theModelPackageImpl.getString(), "readOnlyVal", null, 1, 1, ExpectedExceptionType.class, true, true, false);
- setInstanceProperty (property, "commonj.sdo/xml", "readOnly", "true");
-
- property = getLocalProperty(expectedExceptionTypeType, 15);
- initializeProperty(property, theModelPackageImpl.getString(), "readOnlyListVal", null, 1, 1, ExpectedExceptionType.class, true, true, false);
- setInstanceProperty (property, "commonj.sdo/xml", "readOnly", "true");
-
- initializeType(sequenceReadOnlyTypeType, SequenceReadOnlyType.class, "SequenceReadOnlyType", false);
- property = getLocalProperty(sequenceReadOnlyTypeType, 0);
- initializeProperty(property, getSequence(), "mixed", null, 0, -1, SequenceReadOnlyType.class, false, false, false);
-
- property = getLocalProperty(sequenceReadOnlyTypeType, 1);
- initializeProperty(property, theModelPackageImpl.getString(), "readOnlyVal", null, 1, 1, SequenceReadOnlyType.class, true, true, true);
- setInstanceProperty (property, "commonj.sdo/xml", "readOnly", "true");
-
- property = getLocalProperty(sequenceReadOnlyTypeType, 2);
- initializeProperty(property, theModelPackageImpl.getString(), "readOnlyListVal", null, 1, 1, SequenceReadOnlyType.class, true, true, true);
- setInstanceProperty (property, "commonj.sdo/xml", "readOnly", "true");
-
- property = getLocalProperty(sequenceReadOnlyTypeType, 3);
- initializeProperty(property, theModelPackageImpl.getString(), "uniqueName", null, 1, 1, SequenceReadOnlyType.class, false, true, true);
-
- // Initialize data types
- initializeType(char_Type, String.class, "char", true, false);
-
- createXSDMetaData(theModelPackageImpl);
- }
-
- protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl)
- {
- super.initXSD();
-
- Property property = null;
-
-
- property = createGlobalProperty
- ("expectedExceptionsElem",
- this.getExpectedExceptionType(),
- new String[]
- {
- "kind", "element",
- "name", "expectedExceptionsElem",
- "namespace", "##targetNamespace"
- });
-
- property = createGlobalProperty
- ("sequencedReadOnlyElem",
- this.getSequenceReadOnlyType(),
- new String[]
- {
- "kind", "element",
- "name", "sequencedReadOnlyElem",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (expectedExceptionTypeType,
- new String[]
- {
- "name", "ExpectedExceptionType",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_STRING_VAL),
- new String[]
- {
- "kind", "element",
- "name", "stringVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_BOOLEAN_VAL),
- new String[]
- {
- "kind", "element",
- "name", "booleanVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_BYTE_VAL),
- new String[]
- {
- "kind", "element",
- "name", "byteVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_DECIMAL_VAL),
- new String[]
- {
- "kind", "element",
- "name", "decimalVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_INT_VAL),
- new String[]
- {
- "kind", "element",
- "name", "intVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_FLOAT_VAL),
- new String[]
- {
- "kind", "element",
- "name", "floatVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_DOUBLE_VAL),
- new String[]
- {
- "kind", "element",
- "name", "doubleVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_DATE_VAL),
- new String[]
- {
- "kind", "element",
- "name", "dateVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_SHORT_VAL),
- new String[]
- {
- "kind", "element",
- "name", "shortVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_LONG_VAL),
- new String[]
- {
- "kind", "element",
- "name", "longVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_LIST_VAL),
- new String[]
- {
- "kind", "element",
- "name", "listVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_BYTES_VAL),
- new String[]
- {
- "kind", "element",
- "name", "bytesVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_INTEGER_VAL),
- new String[]
- {
- "kind", "element",
- "name", "integerVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_CHAR_VAL),
- new String[]
- {
- "kind", "element",
- "name", "charVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_READ_ONLY_VAL),
- new String[]
- {
- "kind", "element",
- "name", "readOnlyVal"
- });
-
- addXSDMapping
- (getProperty(expectedExceptionTypeType, ExpectedExceptionTypeImpl.INTERNAL_READ_ONLY_LIST_VAL),
- new String[]
- {
- "kind", "element",
- "name", "readOnlyListVal"
- });
-
- addXSDMapping
- (sequenceReadOnlyTypeType,
- new String[]
- {
- "name", "SequenceReadOnlyType",
- "kind", "mixed"
- });
-
- addXSDMapping
- (getProperty(sequenceReadOnlyTypeType, SequenceReadOnlyTypeImpl.INTERNAL_MIXED),
- new String[]
- {
- "kind", "elementWildcard",
- "name", ":mixed"
- });
-
- addXSDMapping
- (getProperty(sequenceReadOnlyTypeType, SequenceReadOnlyTypeImpl.INTERNAL_READ_ONLY_VAL),
- new String[]
- {
- "kind", "element",
- "name", "readOnlyVal"
- });
-
- addXSDMapping
- (getProperty(sequenceReadOnlyTypeType, SequenceReadOnlyTypeImpl.INTERNAL_READ_ONLY_LIST_VAL),
- new String[]
- {
- "kind", "element",
- "name", "readOnlyListVal"
- });
-
- addXSDMapping
- (getProperty(sequenceReadOnlyTypeType, SequenceReadOnlyTypeImpl.INTERNAL_UNIQUE_NAME),
- new String[]
- {
- "kind", "element",
- "name", "uniqueName"
- });
-
- addXSDMapping
- (char_Type,
- new String[]
- {
- "name", "char",
- "baseType", "commonj.sdo#String",
- "length", "1"
- });
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String createcharFromString(String initialValue)
- {
- return (String)((ModelFactoryImpl)ModelFactory.INSTANCE).createStringFromString(initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertcharToString(Object instanceValue)
- {
- return ((ModelFactoryImpl)ModelFactory.INSTANCE).convertStringToString(instanceValue);
- }
-
-} //ExpectedExceptionFactoryImpl
diff --git a/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionTypeImpl.java b/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionTypeImpl.java
deleted file mode 100644
index df7bdbd66e..0000000000
--- a/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/ExpectedExceptionTypeImpl.java
+++ /dev/null
@@ -1,1682 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.ExpectedException.impl;
-
-import com.example.ExpectedException.ExpectedExceptionFactory;
-import com.example.ExpectedException.ExpectedExceptionType;
-
-import commonj.sdo.Type;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getStringVal <em>String Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#isBooleanVal <em>Boolean Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getByteVal <em>Byte Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getDecimalVal <em>Decimal Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getIntVal <em>Int Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getFloatVal <em>Float Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getDoubleVal <em>Double Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getDateVal <em>Date Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getShortVal <em>Short Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getLongVal <em>Long Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getListVal <em>List Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getBytesVal <em>Bytes Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getIntegerVal <em>Integer Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getCharVal <em>Char Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getReadOnlyVal <em>Read Only Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.ExpectedExceptionTypeImpl#getReadOnlyListVal <em>Read Only List Val</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ExpectedExceptionTypeImpl extends DataObjectBase implements ExpectedExceptionType
-{
-
- public final static int STRING_VAL = 0;
-
- public final static int BOOLEAN_VAL = 1;
-
- public final static int BYTE_VAL = 2;
-
- public final static int DECIMAL_VAL = 3;
-
- public final static int INT_VAL = 4;
-
- public final static int FLOAT_VAL = 5;
-
- public final static int DOUBLE_VAL = 6;
-
- public final static int DATE_VAL = 7;
-
- public final static int SHORT_VAL = 8;
-
- public final static int LONG_VAL = 9;
-
- public final static int LIST_VAL = 10;
-
- public final static int BYTES_VAL = 11;
-
- public final static int INTEGER_VAL = 12;
-
- public final static int CHAR_VAL = 13;
-
- public final static int READ_ONLY_VAL = 14;
-
- public final static int READ_ONLY_LIST_VAL = 15;
-
- public final static int SDO_PROPERTY_COUNT = 16;
-
- public final static int EXTENDED_PROPERTY_COUNT = 0;
-
-
- /**
- * The internal feature id for the '<em><b>String Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_STRING_VAL = 0;
-
- /**
- * The internal feature id for the '<em><b>Boolean Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_BOOLEAN_VAL = 1;
-
- /**
- * The internal feature id for the '<em><b>Byte Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_BYTE_VAL = 2;
-
- /**
- * The internal feature id for the '<em><b>Decimal Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_DECIMAL_VAL = 3;
-
- /**
- * The internal feature id for the '<em><b>Int Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_INT_VAL = 4;
-
- /**
- * The internal feature id for the '<em><b>Float Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_FLOAT_VAL = 5;
-
- /**
- * The internal feature id for the '<em><b>Double Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_DOUBLE_VAL = 6;
-
- /**
- * The internal feature id for the '<em><b>Date Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_DATE_VAL = 7;
-
- /**
- * The internal feature id for the '<em><b>Short Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_SHORT_VAL = 8;
-
- /**
- * The internal feature id for the '<em><b>Long Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_LONG_VAL = 9;
-
- /**
- * The internal feature id for the '<em><b>List Val</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_LIST_VAL = 10;
-
- /**
- * The internal feature id for the '<em><b>Bytes Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_BYTES_VAL = 11;
-
- /**
- * The internal feature id for the '<em><b>Integer Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_INTEGER_VAL = 12;
-
- /**
- * The internal feature id for the '<em><b>Char Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_CHAR_VAL = 13;
-
- /**
- * The internal feature id for the '<em><b>Read Only Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_READ_ONLY_VAL = 14;
-
- /**
- * The internal feature id for the '<em><b>Read Only List Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_READ_ONLY_LIST_VAL = 15;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 16;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_STRING_VAL: return STRING_VAL;
- case INTERNAL_BOOLEAN_VAL: return BOOLEAN_VAL;
- case INTERNAL_BYTE_VAL: return BYTE_VAL;
- case INTERNAL_DECIMAL_VAL: return DECIMAL_VAL;
- case INTERNAL_INT_VAL: return INT_VAL;
- case INTERNAL_FLOAT_VAL: return FLOAT_VAL;
- case INTERNAL_DOUBLE_VAL: return DOUBLE_VAL;
- case INTERNAL_DATE_VAL: return DATE_VAL;
- case INTERNAL_SHORT_VAL: return SHORT_VAL;
- case INTERNAL_LONG_VAL: return LONG_VAL;
- case INTERNAL_LIST_VAL: return LIST_VAL;
- case INTERNAL_BYTES_VAL: return BYTES_VAL;
- case INTERNAL_INTEGER_VAL: return INTEGER_VAL;
- case INTERNAL_CHAR_VAL: return CHAR_VAL;
- case INTERNAL_READ_ONLY_VAL: return READ_ONLY_VAL;
- case INTERNAL_READ_ONLY_LIST_VAL: return READ_ONLY_LIST_VAL;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The default value of the '{@link #getStringVal() <em>String Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getStringVal()
- * @generated
- * @ordered
- */
- protected static final String STRING_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getStringVal() <em>String Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getStringVal()
- * @generated
- * @ordered
- */
- protected String stringVal = STRING_VAL_DEFAULT_;
-
- /**
- * This is true if the String Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean stringVal_set_ = false;
-
- /**
- * The default value of the '{@link #isBooleanVal() <em>Boolean Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isBooleanVal()
- * @generated
- * @ordered
- */
- protected static final boolean BOOLEAN_VAL_DEFAULT_ = false;
-
- /**
- * The cached value of the '{@link #isBooleanVal() <em>Boolean Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isBooleanVal()
- * @generated
- * @ordered
- */
- protected boolean booleanVal = BOOLEAN_VAL_DEFAULT_;
-
- /**
- * This is true if the Boolean Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean booleanVal_set_ = false;
-
- /**
- * The default value of the '{@link #getByteVal() <em>Byte Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getByteVal()
- * @generated
- * @ordered
- */
- protected static final byte BYTE_VAL_DEFAULT_ = 0;
-
- /**
- * The cached value of the '{@link #getByteVal() <em>Byte Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getByteVal()
- * @generated
- * @ordered
- */
- protected byte byteVal = BYTE_VAL_DEFAULT_;
-
- /**
- * This is true if the Byte Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean byteVal_set_ = false;
-
- /**
- * The default value of the '{@link #getDecimalVal() <em>Decimal Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDecimalVal()
- * @generated
- * @ordered
- */
- protected static final BigDecimal DECIMAL_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getDecimalVal() <em>Decimal Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDecimalVal()
- * @generated
- * @ordered
- */
- protected BigDecimal decimalVal = DECIMAL_VAL_DEFAULT_;
-
- /**
- * This is true if the Decimal Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean decimalVal_set_ = false;
-
- /**
- * The default value of the '{@link #getIntVal() <em>Int Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIntVal()
- * @generated
- * @ordered
- */
- protected static final int INT_VAL_DEFAULT_ = 0;
-
- /**
- * The cached value of the '{@link #getIntVal() <em>Int Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIntVal()
- * @generated
- * @ordered
- */
- protected int intVal = INT_VAL_DEFAULT_;
-
- /**
- * This is true if the Int Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean intVal_set_ = false;
-
- /**
- * The default value of the '{@link #getFloatVal() <em>Float Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFloatVal()
- * @generated
- * @ordered
- */
- protected static final float FLOAT_VAL_DEFAULT_ = 0.0F;
-
- /**
- * The cached value of the '{@link #getFloatVal() <em>Float Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFloatVal()
- * @generated
- * @ordered
- */
- protected float floatVal = FLOAT_VAL_DEFAULT_;
-
- /**
- * This is true if the Float Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean floatVal_set_ = false;
-
- /**
- * The default value of the '{@link #getDoubleVal() <em>Double Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDoubleVal()
- * @generated
- * @ordered
- */
- protected static final double DOUBLE_VAL_DEFAULT_ = 0.0;
-
- /**
- * The cached value of the '{@link #getDoubleVal() <em>Double Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDoubleVal()
- * @generated
- * @ordered
- */
- protected double doubleVal = DOUBLE_VAL_DEFAULT_;
-
- /**
- * This is true if the Double Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean doubleVal_set_ = false;
-
- /**
- * The default value of the '{@link #getDateVal() <em>Date Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDateVal()
- * @generated
- * @ordered
- */
- protected static final String DATE_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getDateVal() <em>Date Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDateVal()
- * @generated
- * @ordered
- */
- protected String dateVal = DATE_VAL_DEFAULT_;
-
- /**
- * This is true if the Date Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean dateVal_set_ = false;
-
- /**
- * The default value of the '{@link #getShortVal() <em>Short Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getShortVal()
- * @generated
- * @ordered
- */
- protected static final short SHORT_VAL_DEFAULT_ = 0;
-
- /**
- * The cached value of the '{@link #getShortVal() <em>Short Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getShortVal()
- * @generated
- * @ordered
- */
- protected short shortVal = SHORT_VAL_DEFAULT_;
-
- /**
- * This is true if the Short Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean shortVal_set_ = false;
-
- /**
- * The default value of the '{@link #getLongVal() <em>Long Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLongVal()
- * @generated
- * @ordered
- */
- protected static final long LONG_VAL_DEFAULT_ = 0L;
-
- /**
- * The cached value of the '{@link #getLongVal() <em>Long Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLongVal()
- * @generated
- * @ordered
- */
- protected long longVal = LONG_VAL_DEFAULT_;
-
- /**
- * This is true if the Long Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean longVal_set_ = false;
-
- /**
- * The cached value of the '{@link #getListVal() <em>List Val</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getListVal()
- * @generated
- * @ordered
- */
-
- protected List listVal = null;
-
- /**
- * The default value of the '{@link #getBytesVal() <em>Bytes Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getBytesVal()
- * @generated
- * @ordered
- */
- protected static final byte[] BYTES_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getBytesVal() <em>Bytes Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getBytesVal()
- * @generated
- * @ordered
- */
- protected byte[] bytesVal = BYTES_VAL_DEFAULT_;
-
- /**
- * This is true if the Bytes Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean bytesVal_set_ = false;
-
- /**
- * The default value of the '{@link #getIntegerVal() <em>Integer Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIntegerVal()
- * @generated
- * @ordered
- */
- protected static final BigInteger INTEGER_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getIntegerVal() <em>Integer Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIntegerVal()
- * @generated
- * @ordered
- */
- protected BigInteger integerVal = INTEGER_VAL_DEFAULT_;
-
- /**
- * This is true if the Integer Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean integerVal_set_ = false;
-
- /**
- * The default value of the '{@link #getCharVal() <em>Char Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCharVal()
- * @generated
- * @ordered
- */
- protected static final String CHAR_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getCharVal() <em>Char Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCharVal()
- * @generated
- * @ordered
- */
- protected String charVal = CHAR_VAL_DEFAULT_;
-
- /**
- * This is true if the Char Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean charVal_set_ = false;
-
- /**
- * The default value of the '{@link #getReadOnlyVal() <em>Read Only Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReadOnlyVal()
- * @generated
- * @ordered
- */
- protected static final String READ_ONLY_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getReadOnlyVal() <em>Read Only Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReadOnlyVal()
- * @generated
- * @ordered
- */
- protected String readOnlyVal = READ_ONLY_VAL_DEFAULT_;
-
- /**
- * This is true if the Read Only Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean readOnlyVal_set_ = false;
-
- /**
- * The default value of the '{@link #getReadOnlyListVal() <em>Read Only List Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReadOnlyListVal()
- * @generated
- * @ordered
- */
- protected static final String READ_ONLY_LIST_VAL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getReadOnlyListVal() <em>Read Only List Val</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReadOnlyListVal()
- * @generated
- * @ordered
- */
- protected String readOnlyListVal = READ_ONLY_LIST_VAL_DEFAULT_;
-
- /**
- * This is true if the Read Only List Val attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean readOnlyListVal_set_ = false;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExpectedExceptionTypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ExpectedExceptionFactoryImpl)ExpectedExceptionFactory.INSTANCE).getExpectedExceptionType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getStringVal()
- {
- return stringVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setStringVal(String newStringVal)
- {
- String oldStringVal = stringVal;
- stringVal = newStringVal;
- boolean oldStringVal_set_ = stringVal_set_;
- stringVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, STRING_VAL, oldStringVal, stringVal, !oldStringVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetStringVal()
- {
- String oldStringVal = stringVal;
- boolean oldStringVal_set_ = stringVal_set_;
- stringVal = STRING_VAL_DEFAULT_;
- stringVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, STRING_VAL, oldStringVal, STRING_VAL_DEFAULT_, oldStringVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetStringVal()
- {
- return stringVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isBooleanVal()
- {
- return booleanVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setBooleanVal(boolean newBooleanVal)
- {
- boolean oldBooleanVal = booleanVal;
- booleanVal = newBooleanVal;
- boolean oldBooleanVal_set_ = booleanVal_set_;
- booleanVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, BOOLEAN_VAL, oldBooleanVal, booleanVal, !oldBooleanVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetBooleanVal()
- {
- boolean oldBooleanVal = booleanVal;
- boolean oldBooleanVal_set_ = booleanVal_set_;
- booleanVal = BOOLEAN_VAL_DEFAULT_;
- booleanVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, BOOLEAN_VAL, oldBooleanVal, BOOLEAN_VAL_DEFAULT_, oldBooleanVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetBooleanVal()
- {
- return booleanVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public byte getByteVal()
- {
- return byteVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setByteVal(byte newByteVal)
- {
- byte oldByteVal = byteVal;
- byteVal = newByteVal;
- boolean oldByteVal_set_ = byteVal_set_;
- byteVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, BYTE_VAL, oldByteVal, byteVal, !oldByteVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetByteVal()
- {
- byte oldByteVal = byteVal;
- boolean oldByteVal_set_ = byteVal_set_;
- byteVal = BYTE_VAL_DEFAULT_;
- byteVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, BYTE_VAL, oldByteVal, BYTE_VAL_DEFAULT_, oldByteVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetByteVal()
- {
- return byteVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BigDecimal getDecimalVal()
- {
- return decimalVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDecimalVal(BigDecimal newDecimalVal)
- {
- BigDecimal oldDecimalVal = decimalVal;
- decimalVal = newDecimalVal;
- boolean oldDecimalVal_set_ = decimalVal_set_;
- decimalVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, DECIMAL_VAL, oldDecimalVal, decimalVal, !oldDecimalVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetDecimalVal()
- {
- BigDecimal oldDecimalVal = decimalVal;
- boolean oldDecimalVal_set_ = decimalVal_set_;
- decimalVal = DECIMAL_VAL_DEFAULT_;
- decimalVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, DECIMAL_VAL, oldDecimalVal, DECIMAL_VAL_DEFAULT_, oldDecimalVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetDecimalVal()
- {
- return decimalVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int getIntVal()
- {
- return intVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIntVal(int newIntVal)
- {
- int oldIntVal = intVal;
- intVal = newIntVal;
- boolean oldIntVal_set_ = intVal_set_;
- intVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INT_VAL, oldIntVal, intVal, !oldIntVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetIntVal()
- {
- int oldIntVal = intVal;
- boolean oldIntVal_set_ = intVal_set_;
- intVal = INT_VAL_DEFAULT_;
- intVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INT_VAL, oldIntVal, INT_VAL_DEFAULT_, oldIntVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetIntVal()
- {
- return intVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public float getFloatVal()
- {
- return floatVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setFloatVal(float newFloatVal)
- {
- float oldFloatVal = floatVal;
- floatVal = newFloatVal;
- boolean oldFloatVal_set_ = floatVal_set_;
- floatVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, FLOAT_VAL, oldFloatVal, floatVal, !oldFloatVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetFloatVal()
- {
- float oldFloatVal = floatVal;
- boolean oldFloatVal_set_ = floatVal_set_;
- floatVal = FLOAT_VAL_DEFAULT_;
- floatVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, FLOAT_VAL, oldFloatVal, FLOAT_VAL_DEFAULT_, oldFloatVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetFloatVal()
- {
- return floatVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public double getDoubleVal()
- {
- return doubleVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDoubleVal(double newDoubleVal)
- {
- double oldDoubleVal = doubleVal;
- doubleVal = newDoubleVal;
- boolean oldDoubleVal_set_ = doubleVal_set_;
- doubleVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, DOUBLE_VAL, oldDoubleVal, doubleVal, !oldDoubleVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetDoubleVal()
- {
- double oldDoubleVal = doubleVal;
- boolean oldDoubleVal_set_ = doubleVal_set_;
- doubleVal = DOUBLE_VAL_DEFAULT_;
- doubleVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, DOUBLE_VAL, oldDoubleVal, DOUBLE_VAL_DEFAULT_, oldDoubleVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetDoubleVal()
- {
- return doubleVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getDateVal()
- {
- return dateVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDateVal(String newDateVal)
- {
- String oldDateVal = dateVal;
- dateVal = newDateVal;
- boolean oldDateVal_set_ = dateVal_set_;
- dateVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, DATE_VAL, oldDateVal, dateVal, !oldDateVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetDateVal()
- {
- String oldDateVal = dateVal;
- boolean oldDateVal_set_ = dateVal_set_;
- dateVal = DATE_VAL_DEFAULT_;
- dateVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, DATE_VAL, oldDateVal, DATE_VAL_DEFAULT_, oldDateVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetDateVal()
- {
- return dateVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public short getShortVal()
- {
- return shortVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setShortVal(short newShortVal)
- {
- short oldShortVal = shortVal;
- shortVal = newShortVal;
- boolean oldShortVal_set_ = shortVal_set_;
- shortVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, SHORT_VAL, oldShortVal, shortVal, !oldShortVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetShortVal()
- {
- short oldShortVal = shortVal;
- boolean oldShortVal_set_ = shortVal_set_;
- shortVal = SHORT_VAL_DEFAULT_;
- shortVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, SHORT_VAL, oldShortVal, SHORT_VAL_DEFAULT_, oldShortVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetShortVal()
- {
- return shortVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public long getLongVal()
- {
- return longVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLongVal(long newLongVal)
- {
- long oldLongVal = longVal;
- longVal = newLongVal;
- boolean oldLongVal_set_ = longVal_set_;
- longVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, LONG_VAL, oldLongVal, longVal, !oldLongVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetLongVal()
- {
- long oldLongVal = longVal;
- boolean oldLongVal_set_ = longVal_set_;
- longVal = LONG_VAL_DEFAULT_;
- longVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, LONG_VAL, oldLongVal, LONG_VAL_DEFAULT_, oldLongVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetLongVal()
- {
- return longVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getListVal()
- {
- if (listVal == null)
- {
- listVal = createPropertyList(ListKind.DATATYPE, String.class, LIST_VAL, 0);
- }
- return listVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public byte[] getBytesVal()
- {
- return bytesVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setBytesVal(byte[] newBytesVal)
- {
- byte[] oldBytesVal = bytesVal;
- bytesVal = newBytesVal;
- boolean oldBytesVal_set_ = bytesVal_set_;
- bytesVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, BYTES_VAL, oldBytesVal, bytesVal, !oldBytesVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetBytesVal()
- {
- byte[] oldBytesVal = bytesVal;
- boolean oldBytesVal_set_ = bytesVal_set_;
- bytesVal = BYTES_VAL_DEFAULT_;
- bytesVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, BYTES_VAL, oldBytesVal, BYTES_VAL_DEFAULT_, oldBytesVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetBytesVal()
- {
- return bytesVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BigInteger getIntegerVal()
- {
- return integerVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIntegerVal(BigInteger newIntegerVal)
- {
- BigInteger oldIntegerVal = integerVal;
- integerVal = newIntegerVal;
- boolean oldIntegerVal_set_ = integerVal_set_;
- integerVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, INTEGER_VAL, oldIntegerVal, integerVal, !oldIntegerVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetIntegerVal()
- {
- BigInteger oldIntegerVal = integerVal;
- boolean oldIntegerVal_set_ = integerVal_set_;
- integerVal = INTEGER_VAL_DEFAULT_;
- integerVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, INTEGER_VAL, oldIntegerVal, INTEGER_VAL_DEFAULT_, oldIntegerVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetIntegerVal()
- {
- return integerVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getCharVal()
- {
- return charVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCharVal(String newCharVal)
- {
- String oldCharVal = charVal;
- charVal = newCharVal;
- boolean oldCharVal_set_ = charVal_set_;
- charVal_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, CHAR_VAL, oldCharVal, charVal, !oldCharVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetCharVal()
- {
- String oldCharVal = charVal;
- boolean oldCharVal_set_ = charVal_set_;
- charVal = CHAR_VAL_DEFAULT_;
- charVal_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, CHAR_VAL, oldCharVal, CHAR_VAL_DEFAULT_, oldCharVal_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetCharVal()
- {
- return charVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getReadOnlyVal()
- {
- return readOnlyVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetReadOnlyVal()
- {
- return readOnlyVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getReadOnlyListVal()
- {
- return readOnlyListVal;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetReadOnlyListVal()
- {
- return readOnlyListVal_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case STRING_VAL:
- return getStringVal();
- case BOOLEAN_VAL:
- return isBooleanVal() ? Boolean.TRUE : Boolean.FALSE;
- case BYTE_VAL:
- return new Byte(getByteVal());
- case DECIMAL_VAL:
- return getDecimalVal();
- case INT_VAL:
- return new Integer(getIntVal());
- case FLOAT_VAL:
- return new Float(getFloatVal());
- case DOUBLE_VAL:
- return new Double(getDoubleVal());
- case DATE_VAL:
- return getDateVal();
- case SHORT_VAL:
- return new Short(getShortVal());
- case LONG_VAL:
- return new Long(getLongVal());
- case LIST_VAL:
- return getListVal();
- case BYTES_VAL:
- return getBytesVal();
- case INTEGER_VAL:
- return getIntegerVal();
- case CHAR_VAL:
- return getCharVal();
- case READ_ONLY_VAL:
- return getReadOnlyVal();
- case READ_ONLY_LIST_VAL:
- return getReadOnlyListVal();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case STRING_VAL:
- setStringVal((String)newValue);
- return;
- case BOOLEAN_VAL:
- setBooleanVal(((Boolean)newValue).booleanValue());
- return;
- case BYTE_VAL:
- setByteVal(((Byte)newValue).byteValue());
- return;
- case DECIMAL_VAL:
- setDecimalVal((BigDecimal)newValue);
- return;
- case INT_VAL:
- setIntVal(((Integer)newValue).intValue());
- return;
- case FLOAT_VAL:
- setFloatVal(((Float)newValue).floatValue());
- return;
- case DOUBLE_VAL:
- setDoubleVal(((Double)newValue).doubleValue());
- return;
- case DATE_VAL:
- setDateVal((String)newValue);
- return;
- case SHORT_VAL:
- setShortVal(((Short)newValue).shortValue());
- return;
- case LONG_VAL:
- setLongVal(((Long)newValue).longValue());
- return;
- case LIST_VAL:
- getListVal().clear();
- getListVal().addAll((Collection)newValue);
- return;
- case BYTES_VAL:
- setBytesVal((byte[])newValue);
- return;
- case INTEGER_VAL:
- setIntegerVal((BigInteger)newValue);
- return;
- case CHAR_VAL:
- setCharVal((String)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case STRING_VAL:
- unsetStringVal();
- return;
- case BOOLEAN_VAL:
- unsetBooleanVal();
- return;
- case BYTE_VAL:
- unsetByteVal();
- return;
- case DECIMAL_VAL:
- unsetDecimalVal();
- return;
- case INT_VAL:
- unsetIntVal();
- return;
- case FLOAT_VAL:
- unsetFloatVal();
- return;
- case DOUBLE_VAL:
- unsetDoubleVal();
- return;
- case DATE_VAL:
- unsetDateVal();
- return;
- case SHORT_VAL:
- unsetShortVal();
- return;
- case LONG_VAL:
- unsetLongVal();
- return;
- case LIST_VAL:
- getListVal().clear();
- return;
- case BYTES_VAL:
- unsetBytesVal();
- return;
- case INTEGER_VAL:
- unsetIntegerVal();
- return;
- case CHAR_VAL:
- unsetCharVal();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case STRING_VAL:
- return isSetStringVal();
- case BOOLEAN_VAL:
- return isSetBooleanVal();
- case BYTE_VAL:
- return isSetByteVal();
- case DECIMAL_VAL:
- return isSetDecimalVal();
- case INT_VAL:
- return isSetIntVal();
- case FLOAT_VAL:
- return isSetFloatVal();
- case DOUBLE_VAL:
- return isSetDoubleVal();
- case DATE_VAL:
- return isSetDateVal();
- case SHORT_VAL:
- return isSetShortVal();
- case LONG_VAL:
- return isSetLongVal();
- case LIST_VAL:
- return listVal != null && !listVal.isEmpty();
- case BYTES_VAL:
- return isSetBytesVal();
- case INTEGER_VAL:
- return isSetIntegerVal();
- case CHAR_VAL:
- return isSetCharVal();
- case READ_ONLY_VAL:
- return isSetReadOnlyVal();
- case READ_ONLY_LIST_VAL:
- return isSetReadOnlyListVal();
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (stringVal: ");
- if (stringVal_set_) result.append(stringVal); else result.append("<unset>");
- result.append(", booleanVal: ");
- if (booleanVal_set_) result.append(booleanVal); else result.append("<unset>");
- result.append(", byteVal: ");
- if (byteVal_set_) result.append(byteVal); else result.append("<unset>");
- result.append(", decimalVal: ");
- if (decimalVal_set_) result.append(decimalVal); else result.append("<unset>");
- result.append(", intVal: ");
- if (intVal_set_) result.append(intVal); else result.append("<unset>");
- result.append(", floatVal: ");
- if (floatVal_set_) result.append(floatVal); else result.append("<unset>");
- result.append(", doubleVal: ");
- if (doubleVal_set_) result.append(doubleVal); else result.append("<unset>");
- result.append(", dateVal: ");
- if (dateVal_set_) result.append(dateVal); else result.append("<unset>");
- result.append(", shortVal: ");
- if (shortVal_set_) result.append(shortVal); else result.append("<unset>");
- result.append(", longVal: ");
- if (longVal_set_) result.append(longVal); else result.append("<unset>");
- result.append(", listVal: ");
- result.append(listVal);
- result.append(", bytesVal: ");
- if (bytesVal_set_) result.append(bytesVal); else result.append("<unset>");
- result.append(", integerVal: ");
- if (integerVal_set_) result.append(integerVal); else result.append("<unset>");
- result.append(", charVal: ");
- if (charVal_set_) result.append(charVal); else result.append("<unset>");
- result.append(", readOnlyVal: ");
- if (readOnlyVal_set_) result.append(readOnlyVal); else result.append("<unset>");
- result.append(", readOnlyListVal: ");
- if (readOnlyListVal_set_) result.append(readOnlyListVal); else result.append("<unset>");
- result.append(')');
- return result.toString();
- }
-
-} //ExpectedExceptionTypeImpl
diff --git a/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/SequenceReadOnlyTypeImpl.java b/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/SequenceReadOnlyTypeImpl.java
deleted file mode 100644
index 048cb439db..0000000000
--- a/java/sdo/impl/src/test/java/com/example/ExpectedException/impl/SequenceReadOnlyTypeImpl.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.ExpectedException.impl;
-
-import com.example.ExpectedException.ExpectedExceptionFactory;
-import com.example.ExpectedException.SequenceReadOnlyType;
-
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Sequence Read Only Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link com.example.ExpectedException.impl.SequenceReadOnlyTypeImpl#getMixed <em>Mixed</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.SequenceReadOnlyTypeImpl#getReadOnlyVal <em>Read Only Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.SequenceReadOnlyTypeImpl#getReadOnlyListVal <em>Read Only List Val</em>}</li>
- * <li>{@link com.example.ExpectedException.impl.SequenceReadOnlyTypeImpl#getUniqueName <em>Unique Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class SequenceReadOnlyTypeImpl extends DataObjectBase implements SequenceReadOnlyType
-{
-
- public final static int MIXED = -1;
-
- public final static int READ_ONLY_VAL = 0;
-
- public final static int READ_ONLY_LIST_VAL = 1;
-
- public final static int UNIQUE_NAME = 2;
-
- public final static int SDO_PROPERTY_COUNT = 3;
-
- public final static int EXTENDED_PROPERTY_COUNT = -1;
-
-
- /**
- * The internal feature id for the '<em><b>Mixed</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_MIXED = 0;
-
- /**
- * The internal feature id for the '<em><b>Read Only Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_READ_ONLY_VAL = 1;
-
- /**
- * The internal feature id for the '<em><b>Read Only List Val</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_READ_ONLY_LIST_VAL = 2;
-
- /**
- * The internal feature id for the '<em><b>Unique Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_UNIQUE_NAME = 3;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 4;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_MIXED: return MIXED;
- case INTERNAL_READ_ONLY_VAL: return READ_ONLY_VAL;
- case INTERNAL_READ_ONLY_LIST_VAL: return READ_ONLY_LIST_VAL;
- case INTERNAL_UNIQUE_NAME: return UNIQUE_NAME;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMixed()
- * @generated
- * @ordered
- */
-
- protected Sequence mixed = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SequenceReadOnlyTypeImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ExpectedExceptionFactoryImpl)ExpectedExceptionFactory.INSTANCE).getSequenceReadOnlyType();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getMixed()
- {
- if (mixed == null)
- {
- mixed = createSequence(INTERNAL_MIXED);
- }
- return mixed;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getReadOnlyVal()
- {
- return (String)get(getMixed(), getType(), INTERNAL_READ_ONLY_VAL);
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetReadOnlyVal()
- {
- return isSet(getMixed(), getType(), INTERNAL_READ_ONLY_VAL);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getReadOnlyListVal()
- {
- return (String)get(getMixed(), getType(), INTERNAL_READ_ONLY_LIST_VAL);
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetReadOnlyListVal()
- {
- return isSet(getMixed(), getType(), INTERNAL_READ_ONLY_LIST_VAL);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getUniqueName()
- {
- return (String)get(getMixed(), getType(), INTERNAL_UNIQUE_NAME);
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setUniqueName(String newUniqueName)
- {
- set(getMixed(), getType(), INTERNAL_UNIQUE_NAME, newUniqueName);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetUniqueName()
- {
- unset(getMixed(), getType(), INTERNAL_UNIQUE_NAME);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetUniqueName()
- {
- return isSet(getMixed(), getType(), INTERNAL_UNIQUE_NAME);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case MIXED:
- return removeFromSequence(getMixed(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case MIXED:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getMixed();
- case READ_ONLY_VAL:
- return getReadOnlyVal();
- case READ_ONLY_LIST_VAL:
- return getReadOnlyListVal();
- case UNIQUE_NAME:
- return getUniqueName();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case MIXED:
- setSequence(getMixed(), newValue);
- return;
- case UNIQUE_NAME:
- setUniqueName((String)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case MIXED:
- unsetSequence(getMixed());
- return;
- case UNIQUE_NAME:
- unsetUniqueName();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case MIXED:
- return mixed != null && !isSequenceEmpty(getMixed());
- case READ_ONLY_VAL:
- return isSetReadOnlyVal();
- case READ_ONLY_LIST_VAL:
- return isSetReadOnlyListVal();
- case UNIQUE_NAME:
- return isSetUniqueName();
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (mixed: ");
- result.append(mixed);
- result.append(')');
- return result.toString();
- }
-
-} //SequenceReadOnlyTypeImpl
diff --git a/java/sdo/impl/src/test/java/com/example/simple/Quote.java b/java/sdo/impl/src/test/java/com/example/simple/Quote.java
deleted file mode 100644
index 48dcf96d64..0000000000
--- a/java/sdo/impl/src/test/java/com/example/simple/Quote.java
+++ /dev/null
@@ -1,475 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.simple;
-
-import java.io.Serializable;
-
-import java.math.BigDecimal;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Quote</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}</li>
- * <li>{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}</li>
- * <li>{@link com.example.simple.Quote#getPrice <em>Price</em>}</li>
- * <li>{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}</li>
- * <li>{@link com.example.simple.Quote#getHigh <em>High</em>}</li>
- * <li>{@link com.example.simple.Quote#getLow <em>Low</em>}</li>
- * <li>{@link com.example.simple.Quote#getVolume <em>Volume</em>}</li>
- * <li>{@link com.example.simple.Quote#getChange1 <em>Change1</em>}</li>
- * <li>{@link com.example.simple.Quote#getQuotes <em>Quotes</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface Quote extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Symbol</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Symbol</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Symbol</em>' attribute.
- * @see #isSetSymbol()
- * @see #unsetSymbol()
- * @see #setSymbol(String)
- * @generated
- */
- String getSymbol();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Symbol</em>' attribute.
- * @see #isSetSymbol()
- * @see #unsetSymbol()
- * @see #getSymbol()
- * @generated
- */
- void setSymbol(String value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetSymbol()
- * @see #getSymbol()
- * @see #setSymbol(String)
- * @generated
- */
- void unsetSymbol();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Symbol</em>' attribute is set.
- * @see #unsetSymbol()
- * @see #getSymbol()
- * @see #setSymbol(String)
- * @generated
- */
- boolean isSetSymbol();
-
- /**
- * Returns the value of the '<em><b>Company Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Company Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Company Name</em>' attribute.
- * @see #isSetCompanyName()
- * @see #unsetCompanyName()
- * @see #setCompanyName(String)
- * @generated
- */
- String getCompanyName();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Company Name</em>' attribute.
- * @see #isSetCompanyName()
- * @see #unsetCompanyName()
- * @see #getCompanyName()
- * @generated
- */
- void setCompanyName(String value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetCompanyName()
- * @see #getCompanyName()
- * @see #setCompanyName(String)
- * @generated
- */
- void unsetCompanyName();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Company Name</em>' attribute is set.
- * @see #unsetCompanyName()
- * @see #getCompanyName()
- * @see #setCompanyName(String)
- * @generated
- */
- boolean isSetCompanyName();
-
- /**
- * Returns the value of the '<em><b>Price</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Price</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Price</em>' attribute.
- * @see #isSetPrice()
- * @see #unsetPrice()
- * @see #setPrice(BigDecimal)
- * @generated
- */
- BigDecimal getPrice();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getPrice <em>Price</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Price</em>' attribute.
- * @see #isSetPrice()
- * @see #unsetPrice()
- * @see #getPrice()
- * @generated
- */
- void setPrice(BigDecimal value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getPrice <em>Price</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetPrice()
- * @see #getPrice()
- * @see #setPrice(BigDecimal)
- * @generated
- */
- void unsetPrice();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getPrice <em>Price</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Price</em>' attribute is set.
- * @see #unsetPrice()
- * @see #getPrice()
- * @see #setPrice(BigDecimal)
- * @generated
- */
- boolean isSetPrice();
-
- /**
- * Returns the value of the '<em><b>Open1</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Open1</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Open1</em>' attribute.
- * @see #isSetOpen1()
- * @see #unsetOpen1()
- * @see #setOpen1(BigDecimal)
- * @generated
- */
- BigDecimal getOpen1();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Open1</em>' attribute.
- * @see #isSetOpen1()
- * @see #unsetOpen1()
- * @see #getOpen1()
- * @generated
- */
- void setOpen1(BigDecimal value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetOpen1()
- * @see #getOpen1()
- * @see #setOpen1(BigDecimal)
- * @generated
- */
- void unsetOpen1();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Open1</em>' attribute is set.
- * @see #unsetOpen1()
- * @see #getOpen1()
- * @see #setOpen1(BigDecimal)
- * @generated
- */
- boolean isSetOpen1();
-
- /**
- * Returns the value of the '<em><b>High</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>High</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>High</em>' attribute.
- * @see #isSetHigh()
- * @see #unsetHigh()
- * @see #setHigh(BigDecimal)
- * @generated
- */
- BigDecimal getHigh();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getHigh <em>High</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>High</em>' attribute.
- * @see #isSetHigh()
- * @see #unsetHigh()
- * @see #getHigh()
- * @generated
- */
- void setHigh(BigDecimal value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getHigh <em>High</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetHigh()
- * @see #getHigh()
- * @see #setHigh(BigDecimal)
- * @generated
- */
- void unsetHigh();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getHigh <em>High</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>High</em>' attribute is set.
- * @see #unsetHigh()
- * @see #getHigh()
- * @see #setHigh(BigDecimal)
- * @generated
- */
- boolean isSetHigh();
-
- /**
- * Returns the value of the '<em><b>Low</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Low</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Low</em>' attribute.
- * @see #isSetLow()
- * @see #unsetLow()
- * @see #setLow(BigDecimal)
- * @generated
- */
- BigDecimal getLow();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getLow <em>Low</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Low</em>' attribute.
- * @see #isSetLow()
- * @see #unsetLow()
- * @see #getLow()
- * @generated
- */
- void setLow(BigDecimal value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getLow <em>Low</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetLow()
- * @see #getLow()
- * @see #setLow(BigDecimal)
- * @generated
- */
- void unsetLow();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getLow <em>Low</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Low</em>' attribute is set.
- * @see #unsetLow()
- * @see #getLow()
- * @see #setLow(BigDecimal)
- * @generated
- */
- boolean isSetLow();
-
- /**
- * Returns the value of the '<em><b>Volume</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Volume</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Volume</em>' attribute.
- * @see #isSetVolume()
- * @see #unsetVolume()
- * @see #setVolume(double)
- * @generated
- */
- double getVolume();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getVolume <em>Volume</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Volume</em>' attribute.
- * @see #isSetVolume()
- * @see #unsetVolume()
- * @see #getVolume()
- * @generated
- */
- void setVolume(double value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getVolume <em>Volume</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetVolume()
- * @see #getVolume()
- * @see #setVolume(double)
- * @generated
- */
- void unsetVolume();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getVolume <em>Volume</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Volume</em>' attribute is set.
- * @see #unsetVolume()
- * @see #getVolume()
- * @see #setVolume(double)
- * @generated
- */
- boolean isSetVolume();
-
- /**
- * Returns the value of the '<em><b>Change1</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Change1</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Change1</em>' attribute.
- * @see #isSetChange1()
- * @see #unsetChange1()
- * @see #setChange1(double)
- * @generated
- */
- double getChange1();
-
- /**
- * Sets the value of the '{@link com.example.simple.Quote#getChange1 <em>Change1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Change1</em>' attribute.
- * @see #isSetChange1()
- * @see #unsetChange1()
- * @see #getChange1()
- * @generated
- */
- void setChange1(double value);
-
- /**
- * Unsets the value of the '{@link com.example.simple.Quote#getChange1 <em>Change1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetChange1()
- * @see #getChange1()
- * @see #setChange1(double)
- * @generated
- */
- void unsetChange1();
-
- /**
- * Returns whether the value of the '{@link com.example.simple.Quote#getChange1 <em>Change1</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Change1</em>' attribute is set.
- * @see #unsetChange1()
- * @see #getChange1()
- * @see #setChange1(double)
- * @generated
- */
- boolean isSetChange1();
-
- /**
- * Returns the value of the '<em><b>Quotes</b></em>' containment reference list.
- * The list contents are of type {@link com.example.simple.Quote}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Quotes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Quotes</em>' containment reference list.
- * @generated
- */
- List getQuotes();
-
-} // Quote
diff --git a/java/sdo/impl/src/test/java/com/example/simple/SimpleFactory.java b/java/sdo/impl/src/test/java/com/example/simple/SimpleFactory.java
deleted file mode 100644
index 98dc01d69a..0000000000
--- a/java/sdo/impl/src/test/java/com/example/simple/SimpleFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.simple;
-
-import commonj.sdo.helper.HelperContext;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface SimpleFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- SimpleFactory INSTANCE = com.example.simple.impl.SimpleFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Quote</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Quote</em>'.
- * @generated
- */
- Quote createQuote();
-
- /**
- * Registers the types supported by this Factory within the supplied scope.argument
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param scope an instance of HelperContext used to manage the scoping of types.
- * @generated
- */
- public void register(HelperContext scope);
-
-} //SimpleFactory
diff --git a/java/sdo/impl/src/test/java/com/example/simple/impl/QuoteImpl.java b/java/sdo/impl/src/test/java/com/example/simple/impl/QuoteImpl.java
deleted file mode 100644
index 39af3bbdb2..0000000000
--- a/java/sdo/impl/src/test/java/com/example/simple/impl/QuoteImpl.java
+++ /dev/null
@@ -1,1045 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.simple.impl;
-
-import com.example.simple.Quote;
-import com.example.simple.SimpleFactory;
-
-import commonj.sdo.Type;
-
-import java.math.BigDecimal;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Quote</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link com.example.simple.impl.QuoteImpl#getSymbol <em>Symbol</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getCompanyName <em>Company Name</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getPrice <em>Price</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getOpen1 <em>Open1</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getHigh <em>High</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getLow <em>Low</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getVolume <em>Volume</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getChange1 <em>Change1</em>}</li>
- * <li>{@link com.example.simple.impl.QuoteImpl#getQuotes <em>Quotes</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class QuoteImpl extends DataObjectBase implements Quote
-{
-
- public final static int SYMBOL = 0;
-
- public final static int COMPANY_NAME = 1;
-
- public final static int PRICE = 2;
-
- public final static int OPEN1 = 3;
-
- public final static int HIGH = 4;
-
- public final static int LOW = 5;
-
- public final static int VOLUME = 6;
-
- public final static int CHANGE1 = 7;
-
- public final static int QUOTES = 8;
-
- public final static int SDO_PROPERTY_COUNT = 9;
-
- public final static int EXTENDED_PROPERTY_COUNT = 0;
-
-
- /**
- * The internal feature id for the '<em><b>Symbol</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_SYMBOL = 0;
-
- /**
- * The internal feature id for the '<em><b>Company Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_COMPANY_NAME = 1;
-
- /**
- * The internal feature id for the '<em><b>Price</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PRICE = 2;
-
- /**
- * The internal feature id for the '<em><b>Open1</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_OPEN1 = 3;
-
- /**
- * The internal feature id for the '<em><b>High</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_HIGH = 4;
-
- /**
- * The internal feature id for the '<em><b>Low</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_LOW = 5;
-
- /**
- * The internal feature id for the '<em><b>Volume</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_VOLUME = 6;
-
- /**
- * The internal feature id for the '<em><b>Change1</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_CHANGE1 = 7;
-
- /**
- * The internal feature id for the '<em><b>Quotes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_QUOTES = 8;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 9;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_SYMBOL: return SYMBOL;
- case INTERNAL_COMPANY_NAME: return COMPANY_NAME;
- case INTERNAL_PRICE: return PRICE;
- case INTERNAL_OPEN1: return OPEN1;
- case INTERNAL_HIGH: return HIGH;
- case INTERNAL_LOW: return LOW;
- case INTERNAL_VOLUME: return VOLUME;
- case INTERNAL_CHANGE1: return CHANGE1;
- case INTERNAL_QUOTES: return QUOTES;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The default value of the '{@link #getSymbol() <em>Symbol</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSymbol()
- * @generated
- * @ordered
- */
- protected static final String SYMBOL_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSymbol()
- * @generated
- * @ordered
- */
- protected String symbol = SYMBOL_DEFAULT_;
-
- /**
- * This is true if the Symbol attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean symbol_set_ = false;
-
- /**
- * The default value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCompanyName()
- * @generated
- * @ordered
- */
- protected static final String COMPANY_NAME_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCompanyName()
- * @generated
- * @ordered
- */
- protected String companyName = COMPANY_NAME_DEFAULT_;
-
- /**
- * This is true if the Company Name attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean companyName_set_ = false;
-
- /**
- * The default value of the '{@link #getPrice() <em>Price</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPrice()
- * @generated
- * @ordered
- */
- protected static final BigDecimal PRICE_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getPrice() <em>Price</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPrice()
- * @generated
- * @ordered
- */
- protected BigDecimal price = PRICE_DEFAULT_;
-
- /**
- * This is true if the Price attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean price_set_ = false;
-
- /**
- * The default value of the '{@link #getOpen1() <em>Open1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOpen1()
- * @generated
- * @ordered
- */
- protected static final BigDecimal OPEN1_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getOpen1() <em>Open1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOpen1()
- * @generated
- * @ordered
- */
- protected BigDecimal open1 = OPEN1_DEFAULT_;
-
- /**
- * This is true if the Open1 attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean open1_set_ = false;
-
- /**
- * The default value of the '{@link #getHigh() <em>High</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getHigh()
- * @generated
- * @ordered
- */
- protected static final BigDecimal HIGH_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getHigh() <em>High</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getHigh()
- * @generated
- * @ordered
- */
- protected BigDecimal high = HIGH_DEFAULT_;
-
- /**
- * This is true if the High attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean high_set_ = false;
-
- /**
- * The default value of the '{@link #getLow() <em>Low</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLow()
- * @generated
- * @ordered
- */
- protected static final BigDecimal LOW_DEFAULT_ = null;
-
- /**
- * The cached value of the '{@link #getLow() <em>Low</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLow()
- * @generated
- * @ordered
- */
- protected BigDecimal low = LOW_DEFAULT_;
-
- /**
- * This is true if the Low attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean low_set_ = false;
-
- /**
- * The default value of the '{@link #getVolume() <em>Volume</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getVolume()
- * @generated
- * @ordered
- */
- protected static final double VOLUME_DEFAULT_ = 0.0;
-
- /**
- * The cached value of the '{@link #getVolume() <em>Volume</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getVolume()
- * @generated
- * @ordered
- */
- protected double volume = VOLUME_DEFAULT_;
-
- /**
- * This is true if the Volume attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean volume_set_ = false;
-
- /**
- * The default value of the '{@link #getChange1() <em>Change1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getChange1()
- * @generated
- * @ordered
- */
- protected static final double CHANGE1_DEFAULT_ = 0.0;
-
- /**
- * The cached value of the '{@link #getChange1() <em>Change1</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getChange1()
- * @generated
- * @ordered
- */
- protected double change1 = CHANGE1_DEFAULT_;
-
- /**
- * This is true if the Change1 attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean change1_set_ = false;
-
- /**
- * The cached value of the '{@link #getQuotes() <em>Quotes</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getQuotes()
- * @generated
- * @ordered
- */
-
- protected List quotes = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QuoteImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((SimpleFactoryImpl)SimpleFactory.INSTANCE).getQuote();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getSymbol()
- {
- return symbol;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSymbol(String newSymbol)
- {
- String oldSymbol = symbol;
- symbol = newSymbol;
- boolean oldSymbol_set_ = symbol_set_;
- symbol_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, SYMBOL, oldSymbol, symbol, !oldSymbol_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetSymbol()
- {
- String oldSymbol = symbol;
- boolean oldSymbol_set_ = symbol_set_;
- symbol = SYMBOL_DEFAULT_;
- symbol_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, SYMBOL, oldSymbol, SYMBOL_DEFAULT_, oldSymbol_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetSymbol()
- {
- return symbol_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getCompanyName()
- {
- return companyName;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCompanyName(String newCompanyName)
- {
- String oldCompanyName = companyName;
- companyName = newCompanyName;
- boolean oldCompanyName_set_ = companyName_set_;
- companyName_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, COMPANY_NAME, oldCompanyName, companyName, !oldCompanyName_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetCompanyName()
- {
- String oldCompanyName = companyName;
- boolean oldCompanyName_set_ = companyName_set_;
- companyName = COMPANY_NAME_DEFAULT_;
- companyName_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, COMPANY_NAME, oldCompanyName, COMPANY_NAME_DEFAULT_, oldCompanyName_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetCompanyName()
- {
- return companyName_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BigDecimal getPrice()
- {
- return price;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setPrice(BigDecimal newPrice)
- {
- BigDecimal oldPrice = price;
- price = newPrice;
- boolean oldPrice_set_ = price_set_;
- price_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, PRICE, oldPrice, price, !oldPrice_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetPrice()
- {
- BigDecimal oldPrice = price;
- boolean oldPrice_set_ = price_set_;
- price = PRICE_DEFAULT_;
- price_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, PRICE, oldPrice, PRICE_DEFAULT_, oldPrice_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetPrice()
- {
- return price_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BigDecimal getOpen1()
- {
- return open1;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOpen1(BigDecimal newOpen1)
- {
- BigDecimal oldOpen1 = open1;
- open1 = newOpen1;
- boolean oldOpen1_set_ = open1_set_;
- open1_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, OPEN1, oldOpen1, open1, !oldOpen1_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetOpen1()
- {
- BigDecimal oldOpen1 = open1;
- boolean oldOpen1_set_ = open1_set_;
- open1 = OPEN1_DEFAULT_;
- open1_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, OPEN1, oldOpen1, OPEN1_DEFAULT_, oldOpen1_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetOpen1()
- {
- return open1_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BigDecimal getHigh()
- {
- return high;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setHigh(BigDecimal newHigh)
- {
- BigDecimal oldHigh = high;
- high = newHigh;
- boolean oldHigh_set_ = high_set_;
- high_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, HIGH, oldHigh, high, !oldHigh_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetHigh()
- {
- BigDecimal oldHigh = high;
- boolean oldHigh_set_ = high_set_;
- high = HIGH_DEFAULT_;
- high_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, HIGH, oldHigh, HIGH_DEFAULT_, oldHigh_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetHigh()
- {
- return high_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public BigDecimal getLow()
- {
- return low;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLow(BigDecimal newLow)
- {
- BigDecimal oldLow = low;
- low = newLow;
- boolean oldLow_set_ = low_set_;
- low_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, LOW, oldLow, low, !oldLow_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetLow()
- {
- BigDecimal oldLow = low;
- boolean oldLow_set_ = low_set_;
- low = LOW_DEFAULT_;
- low_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, LOW, oldLow, LOW_DEFAULT_, oldLow_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetLow()
- {
- return low_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public double getVolume()
- {
- return volume;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setVolume(double newVolume)
- {
- double oldVolume = volume;
- volume = newVolume;
- boolean oldVolume_set_ = volume_set_;
- volume_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, VOLUME, oldVolume, volume, !oldVolume_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetVolume()
- {
- double oldVolume = volume;
- boolean oldVolume_set_ = volume_set_;
- volume = VOLUME_DEFAULT_;
- volume_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, VOLUME, oldVolume, VOLUME_DEFAULT_, oldVolume_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetVolume()
- {
- return volume_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public double getChange1()
- {
- return change1;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setChange1(double newChange1)
- {
- double oldChange1 = change1;
- change1 = newChange1;
- boolean oldChange1_set_ = change1_set_;
- change1_set_ = true;
- if (isNotifying())
- notify(ChangeKind.SET, CHANGE1, oldChange1, change1, !oldChange1_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetChange1()
- {
- double oldChange1 = change1;
- boolean oldChange1_set_ = change1_set_;
- change1 = CHANGE1_DEFAULT_;
- change1_set_ = false;
- if (isNotifying())
- notify(ChangeKind.UNSET, CHANGE1, oldChange1, CHANGE1_DEFAULT_, oldChange1_set_);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetChange1()
- {
- return change1_set_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getQuotes()
- {
- if (quotes == null)
- {
- quotes = createPropertyList(ListKind.CONTAINMENT, Quote.class, QUOTES, 0);
- }
- return quotes;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case QUOTES:
- return removeFromList(getQuotes(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case SYMBOL:
- return getSymbol();
- case COMPANY_NAME:
- return getCompanyName();
- case PRICE:
- return getPrice();
- case OPEN1:
- return getOpen1();
- case HIGH:
- return getHigh();
- case LOW:
- return getLow();
- case VOLUME:
- return new Double(getVolume());
- case CHANGE1:
- return new Double(getChange1());
- case QUOTES:
- return getQuotes();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case SYMBOL:
- setSymbol((String)newValue);
- return;
- case COMPANY_NAME:
- setCompanyName((String)newValue);
- return;
- case PRICE:
- setPrice((BigDecimal)newValue);
- return;
- case OPEN1:
- setOpen1((BigDecimal)newValue);
- return;
- case HIGH:
- setHigh((BigDecimal)newValue);
- return;
- case LOW:
- setLow((BigDecimal)newValue);
- return;
- case VOLUME:
- setVolume(((Double)newValue).doubleValue());
- return;
- case CHANGE1:
- setChange1(((Double)newValue).doubleValue());
- return;
- case QUOTES:
- getQuotes().clear();
- getQuotes().addAll((Collection)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case SYMBOL:
- unsetSymbol();
- return;
- case COMPANY_NAME:
- unsetCompanyName();
- return;
- case PRICE:
- unsetPrice();
- return;
- case OPEN1:
- unsetOpen1();
- return;
- case HIGH:
- unsetHigh();
- return;
- case LOW:
- unsetLow();
- return;
- case VOLUME:
- unsetVolume();
- return;
- case CHANGE1:
- unsetChange1();
- return;
- case QUOTES:
- getQuotes().clear();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case SYMBOL:
- return isSetSymbol();
- case COMPANY_NAME:
- return isSetCompanyName();
- case PRICE:
- return isSetPrice();
- case OPEN1:
- return isSetOpen1();
- case HIGH:
- return isSetHigh();
- case LOW:
- return isSetLow();
- case VOLUME:
- return isSetVolume();
- case CHANGE1:
- return isSetChange1();
- case QUOTES:
- return quotes != null && !quotes.isEmpty();
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (symbol: ");
- if (symbol_set_) result.append(symbol); else result.append("<unset>");
- result.append(", companyName: ");
- if (companyName_set_) result.append(companyName); else result.append("<unset>");
- result.append(", price: ");
- if (price_set_) result.append(price); else result.append("<unset>");
- result.append(", open1: ");
- if (open1_set_) result.append(open1); else result.append("<unset>");
- result.append(", high: ");
- if (high_set_) result.append(high); else result.append("<unset>");
- result.append(", low: ");
- if (low_set_) result.append(low); else result.append("<unset>");
- result.append(", volume: ");
- if (volume_set_) result.append(volume); else result.append("<unset>");
- result.append(", change1: ");
- if (change1_set_) result.append(change1); else result.append("<unset>");
- result.append(')');
- return result.toString();
- }
-
-} //QuoteImpl
diff --git a/java/sdo/impl/src/test/java/com/example/simple/impl/SimpleFactoryImpl.java b/java/sdo/impl/src/test/java/com/example/simple/impl/SimpleFactoryImpl.java
deleted file mode 100644
index 51099d70a7..0000000000
--- a/java/sdo/impl/src/test/java/com/example/simple/impl/SimpleFactoryImpl.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.simple.impl;
-
-import commonj.sdo.helper.HelperContext;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-
-import com.example.simple.*;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.SDOFactory;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-
-import org.apache.tuscany.sdo.model.internal.InternalFactory;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * Generator information:
- * patternVersion=1.2;
- * <!-- end-user-doc -->
- * @generated
- */
-public class SimpleFactoryImpl extends FactoryBase implements SimpleFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "http://www.example.com/simple";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "simple";
-
- /**
- * The version of the generator pattern used to generate this class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String PATTERN_VERSION = "1.2";
-
- public static final int QUOTE = 1;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SimpleFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.simple");
- }
-
- /**
- * Registers the Factory instance so that it is available within the supplied scope.
- * @argument scope a HelperContext instance that will make the types supported by this Factory available.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void register(HelperContext scope) {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- case QUOTE: return (DataObject)createQuote();
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Quote createQuote()
- {
- QuoteImpl quote = new QuoteImpl();
- return quote;
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected Type quoteType = null;
-
- public Type getQuote()
- {
- return quoteType;
- }
-
-
- private static boolean isInited = false;
-
- public static SimpleFactoryImpl init()
- {
- if (isInited) return (SimpleFactoryImpl)FactoryBase.getStaticFactory(SimpleFactoryImpl.NAMESPACE_URI);
- SimpleFactoryImpl theSimpleFactoryImpl = new SimpleFactoryImpl();
- isInited = true;
-
- // Initialize dependencies
- SDOUtil.registerStaticTypes(SDOFactory.class);
- SDOUtil.registerStaticTypes(ModelFactory.class);
- SDOUtil.registerStaticTypes(InternalFactory.class);
-
- // Create package meta-data objects
- theSimpleFactoryImpl.createMetaData();
-
- // Initialize created meta-data
- theSimpleFactoryImpl.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theSimpleFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return theSimpleFactoryImpl;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create types and their properties
- quoteType = createType(false, QUOTE);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_SYMBOL);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_COMPANY_NAME);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_PRICE);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_OPEN1);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_HIGH);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_LOW);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_VOLUME);
- createProperty(true, quoteType,QuoteImpl.INTERNAL_CHANGE1);
- createProperty(false, quoteType,QuoteImpl.INTERNAL_QUOTES);
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Obtain other dependent packages
- ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)FactoryBase.getStaticFactory(ModelFactoryImpl.NAMESPACE_URI);
- Property property = null;
-
- // Add supertypes to types
-
- // Initialize types and properties
- initializeType(quoteType, Quote.class, "Quote", false);
- property = getLocalProperty(quoteType, 0);
- initializeProperty(property, theModelPackageImpl.getString(), "symbol", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 1);
- initializeProperty(property, theModelPackageImpl.getString(), "companyName", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 2);
- initializeProperty(property, theModelPackageImpl.getDecimal(), "price", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 3);
- initializeProperty(property, theModelPackageImpl.getDecimal(), "open1", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 4);
- initializeProperty(property, theModelPackageImpl.getDecimal(), "high", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 5);
- initializeProperty(property, theModelPackageImpl.getDecimal(), "low", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 6);
- initializeProperty(property, theModelPackageImpl.getDouble(), "volume", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 7);
- initializeProperty(property, theModelPackageImpl.getDouble(), "change1", null, 1, 1, Quote.class, false, true, false);
-
- property = getLocalProperty(quoteType, 8);
- initializeProperty(property, this.getQuote(), "quotes", null, 0, -1, Quote.class, false, false, false, true , null);
-
- createXSDMetaData(theModelPackageImpl);
- }
-
- protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl)
- {
- super.initXSD();
-
- Property property = null;
-
-
- property = createGlobalProperty
- ("stockQuote",
- this.getQuote(),
- new String[]
- {
- "kind", "element",
- "name", "stockQuote",
- "namespace", "##targetNamespace"
- });
-
- addXSDMapping
- (quoteType,
- new String[]
- {
- "name", "Quote",
- "kind", "elementOnly"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_SYMBOL),
- new String[]
- {
- "kind", "element",
- "name", "symbol"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_COMPANY_NAME),
- new String[]
- {
- "kind", "element",
- "name", "companyName"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_PRICE),
- new String[]
- {
- "kind", "element",
- "name", "price"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_OPEN1),
- new String[]
- {
- "kind", "element",
- "name", "open1"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_HIGH),
- new String[]
- {
- "kind", "element",
- "name", "high"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_LOW),
- new String[]
- {
- "kind", "element",
- "name", "low"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_VOLUME),
- new String[]
- {
- "kind", "element",
- "name", "volume"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_CHANGE1),
- new String[]
- {
- "kind", "element",
- "name", "change1"
- });
-
- addXSDMapping
- (getProperty(quoteType, QuoteImpl.INTERNAL_QUOTES),
- new String[]
- {
- "kind", "element",
- "name", "quotes"
- });
-
- }
-
-} //SimpleFactoryImpl
diff --git a/java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentFactory.java b/java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentFactory.java
deleted file mode 100644
index c8ee9a96c8..0000000000
--- a/java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.test.Containment;
-
-import commonj.sdo.helper.HelperContext;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @generated
- */
-public interface ContainmentFactory
-{
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ContainmentFactory INSTANCE = com.example.test.Containment.impl.ContainmentFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Test</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Test</em>'.
- * @generated
- */
- ContainmentTest createContainmentTest();
-
- /**
- * Registers the types supported by this Factory within the supplied scope.argument
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param scope an instance of HelperContext used to manage the scoping of types.
- * @generated
- */
- public void register(HelperContext scope);
-
-} //ContainmentFactory
diff --git a/java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentTest.java b/java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentTest.java
deleted file mode 100644
index 64734b8862..0000000000
--- a/java/sdo/impl/src/test/java/com/example/test/Containment/ContainmentTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.test.Containment;
-
-import commonj.sdo.Sequence;
-
-import java.io.Serializable;
-
-import java.util.List;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Test</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link com.example.test.Containment.ContainmentTest#getMixed <em>Mixed</em>}</li>
- * <li>{@link com.example.test.Containment.ContainmentTest#getName <em>Name</em>}</li>
- * <li>{@link com.example.test.Containment.ContainmentTest#getContain <em>Contain</em>}</li>
- * <li>{@link com.example.test.Containment.ContainmentTest#getContainMany <em>Contain Many</em>}</li>
- * </ul>
- * </p>
- *
- * @extends Serializable
- * @generated
- */
-public interface ContainmentTest extends Serializable
-{
- /**
- * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Mixed</em>' attribute list.
- * @generated
- */
- Sequence getMixed();
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #isSetName()
- * @see #unsetName()
- * @see #setName(String)
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link com.example.test.Containment.ContainmentTest#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #isSetName()
- * @see #unsetName()
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Unsets the value of the '{@link com.example.test.Containment.ContainmentTest#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetName()
- * @see #getName()
- * @see #setName(String)
- * @generated
- */
- void unsetName();
-
- /**
- * Returns whether the value of the '{@link com.example.test.Containment.ContainmentTest#getName <em>Name</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Name</em>' attribute is set.
- * @see #unsetName()
- * @see #getName()
- * @see #setName(String)
- * @generated
- */
- boolean isSetName();
-
- /**
- * Returns the value of the '<em><b>Contain</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Contain</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Contain</em>' containment reference.
- * @see #isSetContain()
- * @see #unsetContain()
- * @see #setContain(ContainmentTest)
- * @generated
- */
- ContainmentTest getContain();
-
- /**
- * Sets the value of the '{@link com.example.test.Containment.ContainmentTest#getContain <em>Contain</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Contain</em>' containment reference.
- * @see #isSetContain()
- * @see #unsetContain()
- * @see #getContain()
- * @generated
- */
- void setContain(ContainmentTest value);
-
- /**
- * Unsets the value of the '{@link com.example.test.Containment.ContainmentTest#getContain <em>Contain</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetContain()
- * @see #getContain()
- * @see #setContain(ContainmentTest)
- * @generated
- */
- void unsetContain();
-
- /**
- * Returns whether the value of the '{@link com.example.test.Containment.ContainmentTest#getContain <em>Contain</em>}' containment reference is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Contain</em>' containment reference is set.
- * @see #unsetContain()
- * @see #getContain()
- * @see #setContain(ContainmentTest)
- * @generated
- */
- boolean isSetContain();
-
- /**
- * Returns the value of the '<em><b>Contain Many</b></em>' containment reference list.
- * The list contents are of type {@link com.example.test.Containment.ContainmentTest}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Contain Many</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Contain Many</em>' containment reference list.
- * @generated
- */
- List getContainMany();
-
-} // ContainmentTest
diff --git a/java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentFactoryImpl.java b/java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentFactoryImpl.java
deleted file mode 100644
index 9f51d02590..0000000000
--- a/java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentFactoryImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.test.Containment.impl;
-
-import commonj.sdo.helper.HelperContext;
-import org.apache.tuscany.sdo.helper.TypeHelperImpl;
-
-import com.example.test.Containment.*;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-import org.apache.tuscany.sdo.SDOFactory;
-
-import org.apache.tuscany.sdo.impl.FactoryBase;
-
-import org.apache.tuscany.sdo.model.ModelFactory;
-
-import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
-
-import org.apache.tuscany.sdo.model.internal.InternalFactory;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * Generator information:
- * patternVersion=1.2; -prefix Containment
- * <!-- end-user-doc -->
- * @generated
- */
-public class ContainmentFactoryImpl extends FactoryBase implements ContainmentFactory
-{
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_URI = "http://www.example.com/ContainmentTest";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String NAMESPACE_PREFIX = "contain";
-
- /**
- * The version of the generator pattern used to generate this class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String PATTERN_VERSION = "1.2";
-
- public static final int CONTAINMENT_TEST = 1;
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ContainmentFactoryImpl()
- {
- super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.test.Containment");
- }
-
- /**
- * Registers the Factory instance so that it is available within the supplied scope.
- * @argument scope a HelperContext instance that will make the types supported by this Factory available.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void register(HelperContext scope) {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataObject create(int typeNumber)
- {
- switch (typeNumber)
- {
- case CONTAINMENT_TEST: return (DataObject)createContainmentTest();
- default:
- return super.create(typeNumber);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ContainmentTest createContainmentTest()
- {
- ContainmentTestImpl containmentTest = new ContainmentTestImpl();
- return containmentTest;
- }
-
- // Following creates and initializes SDO metadata for the supported types.
- protected Type containmentTestType = null;
-
- public Type getContainmentTest()
- {
- return containmentTestType;
- }
-
-
- private static boolean isInited = false;
-
- public static ContainmentFactoryImpl init()
- {
- if (isInited) return (ContainmentFactoryImpl)FactoryBase.getStaticFactory(ContainmentFactoryImpl.NAMESPACE_URI);
- ContainmentFactoryImpl theContainmentFactoryImpl = new ContainmentFactoryImpl();
- isInited = true;
-
- // Initialize dependencies
- SDOUtil.registerStaticTypes(SDOFactory.class);
- SDOUtil.registerStaticTypes(ModelFactory.class);
- SDOUtil.registerStaticTypes(InternalFactory.class);
-
- // Create package meta-data objects
- theContainmentFactoryImpl.createMetaData();
-
- // Initialize created meta-data
- theContainmentFactoryImpl.initializeMetaData();
-
- // Mark meta-data to indicate it can't be changed
- //theContainmentFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
-
- return theContainmentFactoryImpl;
- }
-
- private boolean isCreated = false;
-
- public void createMetaData()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create types and their properties
- containmentTestType = createType(false, CONTAINMENT_TEST);
- createProperty(true, containmentTestType,ContainmentTestImpl.INTERNAL_MIXED);
- createProperty(true, containmentTestType,ContainmentTestImpl.INTERNAL_NAME);
- createProperty(false, containmentTestType,ContainmentTestImpl.INTERNAL_CONTAIN);
- createProperty(false, containmentTestType,ContainmentTestImpl.INTERNAL_CONTAIN_MANY);
- }
-
- private boolean isInitialized = false;
-
- public void initializeMetaData()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Obtain other dependent packages
- ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)FactoryBase.getStaticFactory(ModelFactoryImpl.NAMESPACE_URI);
- Property property = null;
-
- // Add supertypes to types
-
- // Initialize types and properties
- initializeType(containmentTestType, ContainmentTest.class, "ContainmentTest", false);
- property = getLocalProperty(containmentTestType, 0);
- initializeProperty(property, getSequence(), "mixed", null, 0, -1, ContainmentTest.class, false, false, false);
-
- property = getLocalProperty(containmentTestType, 1);
- initializeProperty(property, theModelPackageImpl.getString(), "Name", null, 1, 1, ContainmentTest.class, false, true, true);
-
- property = getLocalProperty(containmentTestType, 2);
- initializeProperty(property, this.getContainmentTest(), "Contain", null, 1, 1, ContainmentTest.class, false, true, true, true , null);
-
- property = getLocalProperty(containmentTestType, 3);
- initializeProperty(property, this.getContainmentTest(), "ContainMany", null, 0, -1, ContainmentTest.class, false, false, true, true , null);
-
- createXSDMetaData(theModelPackageImpl);
- }
-
- protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl)
- {
- super.initXSD();
-
- Property property = null;
-
-
- addXSDMapping
- (containmentTestType,
- new String[]
- {
- "name", "ContainmentTest",
- "kind", "mixed"
- });
-
- addXSDMapping
- (getProperty(containmentTestType, ContainmentTestImpl.INTERNAL_MIXED),
- new String[]
- {
- "kind", "elementWildcard",
- "name", ":mixed"
- });
-
- addXSDMapping
- (getProperty(containmentTestType, ContainmentTestImpl.INTERNAL_NAME),
- new String[]
- {
- "kind", "element",
- "name", "Name"
- });
-
- addXSDMapping
- (getProperty(containmentTestType, ContainmentTestImpl.INTERNAL_CONTAIN),
- new String[]
- {
- "kind", "element",
- "name", "Contain"
- });
-
- addXSDMapping
- (getProperty(containmentTestType, ContainmentTestImpl.INTERNAL_CONTAIN_MANY),
- new String[]
- {
- "kind", "element",
- "name", "ContainMany"
- });
-
- property = createGlobalProperty
- ("containTestInstance",
- this.getContainmentTest(),
- new String[]
- {
- "kind", "element",
- "name", "containTestInstance",
- "namespace", "##targetNamespace"
- });
-
- }
-
-} //ContainmentFactoryImpl
diff --git a/java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentTestImpl.java b/java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentTestImpl.java
deleted file mode 100644
index 14d4678d2d..0000000000
--- a/java/sdo/impl/src/test/java/com/example/test/Containment/impl/ContainmentTestImpl.java
+++ /dev/null
@@ -1,409 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.example.test.Containment.impl;
-
-import com.example.test.Containment.ContainmentFactory;
-import com.example.test.Containment.ContainmentTest;
-
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.sdo.impl.DataObjectBase;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Test</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link com.example.test.Containment.impl.ContainmentTestImpl#getMixed <em>Mixed</em>}</li>
- * <li>{@link com.example.test.Containment.impl.ContainmentTestImpl#getName <em>Name</em>}</li>
- * <li>{@link com.example.test.Containment.impl.ContainmentTestImpl#getContain <em>Contain</em>}</li>
- * <li>{@link com.example.test.Containment.impl.ContainmentTestImpl#getContainMany <em>Contain Many</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ContainmentTestImpl extends DataObjectBase implements ContainmentTest
-{
-
- public final static int MIXED = -1;
-
- public final static int NAME = 0;
-
- public final static int CONTAIN = 1;
-
- public final static int CONTAIN_MANY = 2;
-
- public final static int SDO_PROPERTY_COUNT = 3;
-
- public final static int EXTENDED_PROPERTY_COUNT = -1;
-
-
- /**
- * The internal feature id for the '<em><b>Mixed</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_MIXED = 0;
-
- /**
- * The internal feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_NAME = 1;
-
- /**
- * The internal feature id for the '<em><b>Contain</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_CONTAIN = 2;
-
- /**
- * The internal feature id for the '<em><b>Contain Many</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_CONTAIN_MANY = 3;
-
- /**
- * The number of properties for this type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public final static int INTERNAL_PROPERTY_COUNT = 4;
-
- protected int internalConvertIndex(int internalIndex)
- {
- switch (internalIndex)
- {
- case INTERNAL_MIXED: return MIXED;
- case INTERNAL_NAME: return NAME;
- case INTERNAL_CONTAIN: return CONTAIN;
- case INTERNAL_CONTAIN_MANY: return CONTAIN_MANY;
- }
- return super.internalConvertIndex(internalIndex);
- }
-
-
- /**
- * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMixed()
- * @generated
- * @ordered
- */
-
- protected Sequence mixed = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ContainmentTestImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Type getStaticType()
- {
- return ((ContainmentFactoryImpl)ContainmentFactory.INSTANCE).getContainmentTest();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Sequence getMixed()
- {
- if (mixed == null)
- {
- mixed = createSequence(INTERNAL_MIXED);
- }
- return mixed;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName()
- {
- return (String)get(getMixed(), getType(), INTERNAL_NAME);
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName)
- {
- set(getMixed(), getType(), INTERNAL_NAME, newName);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetName()
- {
- unset(getMixed(), getType(), INTERNAL_NAME);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetName()
- {
- return isSet(getMixed(), getType(), INTERNAL_NAME);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ContainmentTest getContain()
- {
- return (ContainmentTest)get(getMixed(), getType(), INTERNAL_CONTAIN);
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext basicSetContain(ContainmentTest newContain, ChangeContext changeContext)
- {
- return basicAdd(getMixed(), getType(), INTERNAL_CONTAIN, newContain, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setContain(ContainmentTest newContain)
- {
- set(getMixed(), getType(), INTERNAL_CONTAIN, newContain);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext basicUnsetContain(ChangeContext changeContext)
- {
- // TODO: implement this method to unset the contained 'Contain' containment reference
- // -> this method is automatically invoked to keep the containment relationship in synch
- // -> do not modify other features
- // -> return changeContext, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetContain()
- {
- unset(getMixed(), getType(), INTERNAL_CONTAIN);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetContain()
- {
- return isSet(getMixed(), getType(), INTERNAL_CONTAIN);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public List getContainMany()
- {
- return getList(getMixed(), getType(), INTERNAL_CONTAIN_MANY);
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
- {
- switch (propertyIndex)
- {
- case MIXED:
- return removeFromSequence(getMixed(), otherEnd, changeContext);
- case CONTAIN:
- return basicUnsetContain(changeContext);
- case CONTAIN_MANY:
- return removeFromList(getContainMany(), otherEnd, changeContext);
- }
- return super.inverseRemove(otherEnd, propertyIndex, changeContext);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object get(int propertyIndex, boolean resolve)
- {
- switch (propertyIndex)
- {
- case MIXED:
- // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
- //if (coreType)
- return getMixed();
- case NAME:
- return getName();
- case CONTAIN:
- return getContain();
- case CONTAIN_MANY:
- return getContainMany();
- }
- return super.get(propertyIndex, resolve);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void set(int propertyIndex, Object newValue)
- {
- switch (propertyIndex)
- {
- case MIXED:
- setSequence(getMixed(), newValue);
- return;
- case NAME:
- setName((String)newValue);
- return;
- case CONTAIN:
- setContain((ContainmentTest)newValue);
- return;
- case CONTAIN_MANY:
- getContainMany().clear();
- getContainMany().addAll((Collection)newValue);
- return;
- }
- super.set(propertyIndex, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unset(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case MIXED:
- unsetSequence(getMixed());
- return;
- case NAME:
- unsetName();
- return;
- case CONTAIN:
- unsetContain();
- return;
- case CONTAIN_MANY:
- getContainMany().clear();
- return;
- }
- super.unset(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSet(int propertyIndex)
- {
- switch (propertyIndex)
- {
- case MIXED:
- return mixed != null && !isSequenceEmpty(getMixed());
- case NAME:
- return isSetName();
- case CONTAIN:
- return isSetContain();
- case CONTAIN_MANY:
- return !getContainMany().isEmpty();
- }
- return super.isSet(propertyIndex);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString()
- {
- if (isProxy(this)) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (mixed: ");
- result.append(mixed);
- result.append(')');
- return result.toString();
- }
-
-} //ContainmentTestImpl
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java
deleted file mode 100644
index 7d91456137..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
- public static Test suite() {
-
- TestSuite suite = new TestSuite();
-
- suite.addTest(org.apache.tuscany.sdo.codegen.AllTests.suite());
- suite.addTest(org.apache.tuscany.sdo.test.AllTests.suite());
-
- return suite;
- }
-
-
- public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
- }
-}
-
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java
deleted file mode 100644
index d67b53fb7c..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.codegen;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
-
- public static TestSuite suite() {
-
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(BytecodeInterfaceGeneratorTestCase.class);
- suite.addTestSuite(JavaInterfaceGeneratorTestCase.class);
-
-
- return suite;
- }
-
-
- /**
- * Runs the test suite using the textual runner.
- */
- public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
- }
-}
-
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java
deleted file mode 100644
index 4a51310cd0..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Bar1 {
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java
deleted file mode 100644
index e9151b9d46..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Bar2 {
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
deleted file mode 100644
index 218a725226..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.lang.reflect.Method;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BytecodeInterfaceGeneratorTestCase extends TestCase {
- private MockType foo;
- private BytecodeInterfaceGenerator gen;
- private TestClassLoader cl;
-
- public void testHeaderNoBaseClass() {
- gen.visitType(foo);
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("Foo", c.getName());
- assertTrue(c.isInterface());
- assertEquals(0, c.getInterfaces().length);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testHeaderWithPackage() {
- gen.visitType(new MockType("org.apache.Foo", null));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("org.apache.Foo", c.getName());
- assertEquals(0, c.getInterfaces().length);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testHeaderOneBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- gen.visitType(foo);
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("Foo", c.getName());
- assertEquals(1, c.getInterfaces().length);
- assertEquals(Bar1.class, c.getInterfaces()[0]);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testHeaderMultipleBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- foo.addBaseType(new MockType("bar2", Bar2.class));
- gen.visitType(foo);
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("Foo", c.getName());
- assertEquals(2, c.getInterfaces().length);
- assertEquals(Bar1.class, c.getInterfaces()[0]);
- assertEquals(Bar2.class, c.getInterfaces()[1]);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testBooleanProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("isTrue", new Class[0]);
- assertEquals(boolean.class, getter.getReturnType());
- Method setter = c.getMethod("setTrue", new Class[] {boolean.class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- public void testByteArrayProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bytes", byte[].class, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("getBytes", new Class[0]);
- assertEquals(byte[].class, getter.getReturnType());
- Method setter = c.getMethod("setBytes", new Class[] {byte[].class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- public void testObjectProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bar", Bar1.class, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("getBar", new Class[0]);
- assertEquals(Bar1.class, getter.getReturnType());
- Method setter = c.getMethod("setBar", new Class[] {Bar1.class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- public void testReadOnlyProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, true));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(1, c.getMethods().length);
- Method getter = c.getMethod("getInt", new Class[0]);
- assertEquals(int.class, getter.getReturnType());
- }
-
- public void testManyProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("list", Integer.TYPE, true, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(1, c.getMethods().length);
- Method getter = c.getMethod("getList", new Class[0]);
- assertEquals(List.class, getter.getReturnType());
- }
-
- public void testTwoProperties() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(4, c.getMethods().length);
- Method getter = c.getMethod("isTrue", new Class[0]);
- assertEquals(boolean.class, getter.getReturnType());
- Method setter = c.getMethod("setTrue", new Class[] {boolean.class});
- assertEquals(void.class, setter.getReturnType());
- getter = c.getMethod("getInt", new Class[0]);
- assertEquals(int.class, getter.getReturnType());
- setter = c.getMethod("setInt", new Class[] {int.class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- foo = new MockType("foo", null);
- gen = new BytecodeInterfaceGenerator();
- cl = new TestClassLoader();
- }
-
- private class TestClassLoader extends ClassLoader {
- public TestClassLoader() {
- super(TestClassLoader.class.getClassLoader());
- }
-
- Class addClass(byte[] bytes) {
- return defineClass(null, bytes, 0, bytes.length);
- }
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java
deleted file mode 100644
index 56bf6af9b4..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Foo {
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
deleted file mode 100644
index 6cc0529c5f..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JavaInterfaceGeneratorTestCase extends TestCase {
- private static final String SEP = System.getProperty("line.separator");
-
- private JavaInterfaceGenerator gen;
- private StringWriter writer;
- private MockType foo;
-
- public void testHeaderNoBaseClass() {
- gen.visitType(foo);
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n}\n"), writer.toString());
- }
-
- public void testHeaderWithPackage() {
- gen.visitType(new MockType("org.apache.Foo", null));
- gen.visitEnd();
- assertEquals(localize("package org.apache;\n\npublic interface Foo {\n}\n"), writer.toString());
- }
-
- public void testHeaderOneBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- gen.visitType(foo);
- gen.visitEnd();
- assertEquals(localize("public interface Foo extends org.apache.tuscany.sdo.codegen.Bar1 {\n}\n"), writer.toString());
- }
-
- public void testHeaderMultipleBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- foo.addBaseType(new MockType("bar2", Bar2.class));
- gen.visitType(foo);
- gen.visitEnd();
- assertEquals(localize("public interface Foo extends org.apache.tuscany.sdo.codegen.Bar1, org.apache.tuscany.sdo.codegen.Bar2 {\n}\n"), writer.toString());
- }
-
- public void testBooleanProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tboolean isTrue();\n\tvoid setTrue(boolean value);\n}\n"), writer.toString());
- }
-
- public void testByteArrayProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bytes", byte[].class, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tbyte[] getBytes();\n\tvoid setBytes(byte[] value);\n}\n"), writer.toString());
- }
-
- public void testObjectProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bar", Bar1.class, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\torg.apache.tuscany.sdo.codegen.Bar1 getBar();\n\tvoid setBar(org.apache.tuscany.sdo.codegen.Bar1 value);\n}\n"), writer.toString());
- }
-
- public void testReadOnlyProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, true));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tint getInt();\n}\n"), writer.toString());
- }
-
- public void testManyProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("list", Integer.TYPE, true, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tjava.util.List getList();\n}\n"), writer.toString());
- }
-
- public void testTwoProperties() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tboolean isTrue();\n\tvoid setTrue(boolean value);\n\tint getInt();\n\tvoid setInt(int value);\n}\n"), writer.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- writer = new StringWriter();
- gen = new JavaInterfaceGenerator(new PrintWriter(writer));
- foo = new MockType("foo", null);
- }
-
- private String localize(String s) {
- StringBuffer b = new StringBuffer(s.length() + s.length()/10);
- for (int i = 0; i < s.length(); i++) {
- char ch = s.charAt(i);
- if (ch == '\t') {
- b.append(" ");
- } else if (ch == '\n') {
- b.append(SEP);
- } else {
- b.append(ch);
- }
- }
- return b.toString();
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java
deleted file mode 100644
index 3e3e87e47b..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.util.List;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-/**
- * @version $Rev$ $Date$
- */
-class MockProperty implements Property {
- private final String name;
- private final Type type;
- private final boolean many;
- private final boolean readOnly;
-
- public MockProperty(String name, Class type, boolean many, boolean readOnly) {
- this.name = name;
- this.type = new MockType(null, type);
- this.many = many;
- this.readOnly = readOnly;
- }
-
- public String getName() {
- return name;
- }
-
- public Type getType() {
- return type;
- }
-
- public boolean isMany() {
- return many;
- }
-
- public boolean isContainment() {
- throw new UnsupportedOperationException();
- }
-
- public Type getContainingType() {
- throw new UnsupportedOperationException();
- }
-
- public Object getDefault() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isReadOnly() {
- return readOnly;
- }
-
- public Property getOpposite() {
- throw new UnsupportedOperationException();
- }
-
- public List /*String*/ getAliasNames() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isNullable() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isOpenContent() {
- throw new UnsupportedOperationException();
- }
-
- public List getInstanceProperties() {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Property property) {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
deleted file mode 100644
index ec848de4fa..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.util.List;
-import java.util.ArrayList;
-
-import commonj.sdo.Type;
-import commonj.sdo.Property;
-
-/**
- * @version $Rev$ $Date$
- */
-class MockType implements Type {
- private final String name;
- private final Class javaClass;
- private final List baseTypes = new ArrayList();
-
- public MockType(String name, Class javaClass) {
- this.javaClass = javaClass;
- this.name = name;
- }
-
- public void addBaseType(Type baseType) {
- baseTypes.add(baseType);
- }
-
- public String getName() {
- return name;
- }
-
- public String getURI() {
- throw new UnsupportedOperationException();
- }
-
- public Class getInstanceClass() {
- return javaClass;
- }
-
- public boolean isInstance(Object object) {
- throw new UnsupportedOperationException();
- }
-
- public List /*Property*/ getProperties() {
- throw new UnsupportedOperationException();
- }
-
- public Property getProperty(String propertyName) {
- throw new UnsupportedOperationException();
- }
-
- public boolean isDataType() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isOpen() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isSequenced() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isAbstract() {
- throw new UnsupportedOperationException();
- }
-
- public List /*Type*/ getBaseTypes() {
- return baseTypes;
- }
-
- public List /*Property*/ getDeclaredProperties() {
- throw new UnsupportedOperationException();
- }
-
- public List /*String*/ getAliasNames() {
- throw new UnsupportedOperationException();
- }
-
- public List getInstanceProperties() {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Property property) {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java
deleted file mode 100644
index 1bdef4b1ef..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java
+++ /dev/null
@@ -1,87 +0,0 @@
-
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-public class AllTests extends TestCase {
-
-
- public static TestSuite suite() {
-
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(ChangeSummaryOnDataObjectTestCase.class);
- suite.addTestSuite(ChangeSummaryPropertyTestCase.class);
- suite.addTestSuite(ChangeSummaryTestCase.class);
- suite.addTestSuite(ContainmentCycleTestCase.class);
- suite.addTestSuite(CrossScopeCopyTestCase.class);
- suite.addTestSuite(DataGraphTestCase.class);
- suite.addTestSuite(DataTypeBaseTypeTestCase.class);
- suite.addTestSuite(DateConversionTestCase.class);
- suite.addTestSuite(DefineOpenContentPropertyTestCase.class);
- suite.addTestSuite(DefineTypeTestCase.class);
- suite.addTestSuite(FormTestCase.class);
- suite.addTestSuite(HelperContextTestCase.class);
- suite.addTestSuite(IsManyTestCase.class);
- suite.addTestSuite(BoundsTestCase.class);
- suite.addTestSuite(JavaSerializeDeserializeTestCase.class);
- suite.addTestSuite(MixedTypeTestCase.class);
- suite.addTestSuite(NeverStaleChangeSummaryTestCase.class);
- suite.addTestSuite(OpenTypeTestCase.class);
- suite.addTestSuite(SchemaLocationTestCase.class);
- suite.addTestSuite(SerializeTypesTestCase.class);
- suite.addTestSuite(SimpleCopyTestCase.class);
- suite.addTestSuite(SimpleDynamicTestCase.class);
- suite.addTestSuite(SimpleEqualityTestCase.class);
- suite.addTestSuite(SubstitutionValuesTestCase.class);
- suite.addTestSuite(TypeConversionTestCase.class);
- suite.addTestSuite(TypeRoundTripTestCase.class);
- suite.addTestSuite(XMLDocumentTestCase.class);
- suite.addTestSuite(XMLHelperTestCase.class);
- suite.addTestSuite(XMLStreamHelperTestCase.class);
- suite.addTestSuite(XPathTestCase.class);
- suite.addTestSuite(XSDHelperTestCase.class);
- suite.addTestSuite(XSDQNameTestCase.class);
- suite.addTestSuite(XMLLoadOptionsTestCase.class);
- suite.addTestSuite(XMLSaveOptionsTestCase.class);
- suite.addTestSuite(XMLUnknownPropertiesTestCase.class);
- suite.addTestSuite(ExpectedExceptionsTestCase.class);
- suite.addTestSuite(TypeHelperTestCase.class);
- suite.addTestSuite(NotificationTestCase.class);
- suite.addTestSuite(ImplSpecificTestCase.class);
- return suite;
- }
-
-
-
- /**
- * Runs the test suite using the textual runner.
- */
- public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
- }
-}
-
-
-
-
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java
deleted file mode 100644
index 4d085eae28..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.URL;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XSDHelper;
-
-public class AnyTypeTest extends TestCase {
- private static TypeHelper typeHelper;
- private static DataFactory dataFactory;
- private static XMLStreamHelper streamHelper;
- private static XSDHelper xsdHelper;
-
- private static final String TEST_MODEL = "/anytype.xsd";
- private static final String TEST_NAMESPACE = "http://www.example.com/anytype";
-
- public void testAnySimpleType() throws Exception {
- final Property property = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "globalElement");
- final Type propertyType = property.getType();
-
- DataObject dataObject = dataFactory.create(TEST_NAMESPACE, "Person");
- dataObject.set("firstName", "Fuhwei");
-
- DataObject rootObject = dataFactory.create(propertyType);
- rootObject.set("anyTypeElement", dataObject);
-
- dataObject = dataFactory.create(TEST_NAMESPACE, "Person");
- dataObject.set("firstName", "Mindy");
- rootObject.set("personElement", dataObject);
-
- // XMLStreamHelper.saveObject has a problem to serialize the any type
- final XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.saveObject(rootObject, streamWriter);
- streamWriter.flush();
- // System.out.println(writer.toString());
-
- final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- final StringReader reader = new StringReader(writer.toString());
- final XMLStreamReader streamReader = inputFactory.createXMLStreamReader(reader);
- final XMLDocument doc = streamHelper.load(streamReader);
- rootObject = doc.getRootObject();
- DataObject testObject = rootObject.getDataObject("anyTypeElement");
- // System.out.println("anyTypeElement dataobject: " + testObject);
- testObject = rootObject.getDataObject("personElement");
- // System.out.println("personElement dataobject: " + testObject);
- }
-
- public void testAbstractTypeFails() {
- try {
- final DataObject abstractObj = dataFactory.create("commonj.sdo","DataObject");
- assertTrue("Should not succeed", false);
- }
- catch ( final IllegalArgumentException e) {
- // expected result
- }
- }
-
- protected void setUp() throws Exception {
- final HelperContext hc = SDOUtil.createHelperContext();
- typeHelper = hc.getTypeHelper();
- dataFactory = hc.getDataFactory();
- xsdHelper = hc.getXSDHelper();
- streamHelper = SDOUtil.createXMLStreamHelper(hc);
-
- // Populate the meta data for the test (Stock Quote) model
- final URL url = getClass().getResource(TEST_MODEL);
- final InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
- inputStream.close();
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java
deleted file mode 100644
index 7f176fe033..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.api.SDOHelper;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.*;
-import commonj.sdo.helper.*;
-
-public class BoundsTestCase extends TestCase {
- private final String TEST_MODEL = "/bounds.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/bounds";
-
- private TypeHelper typeHelper;
- private XSDHelper xsdHelper;
- private DataFactory dataFactory;
-
- public void testBounds() {
- Property priceProperty = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "price");
- assertTrue(priceProperty.isOpenContent());
- assertEquals(SDOHelper.UNSPECIFIED, SDOUtil.getUpperBound(priceProperty));
- assertEquals(0, SDOUtil.getLowerBound(priceProperty));
-
- Type quoteType = typeHelper.getType(TEST_NAMESPACE, "OpenQuote");
- DataObject quote = dataFactory.create(quoteType);
- assertEquals(2, SDOUtil.getUpperBound(quote.getInstanceProperty("symbol")));
- assertEquals(0, SDOUtil.getLowerBound(quote.getInstanceProperty("symbol")));
-
- //XSD default value of maxOccurs and minOccurs is 1, unbounded returns -1 for maxOccurs
- Type quoteType2 = typeHelper.getType(TEST_NAMESPACE, "OpenQuote2");
- DataObject quote2 = dataFactory.create(quoteType2);
- assertEquals(SDOHelper.UNBOUNDED, SDOUtil.getUpperBound(quote2.getInstanceProperty("symbol")));
- assertEquals(1, SDOUtil.getLowerBound(quote2.getInstanceProperty("symbol")));
-
- //XSD default value of maxOccurs and minOccurs is 1
- Type quoteType3 = typeHelper.getType(TEST_NAMESPACE, "OpenQuote3");
- DataObject quote3 = dataFactory.create(quoteType3);
- assertEquals(1, SDOUtil.getUpperBound(quote3.getInstanceProperty("symbol")));
- assertEquals(1, SDOUtil.getLowerBound(quote3.getInstanceProperty("symbol")));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- HelperContext hc = SDOUtil.createHelperContext();
- typeHelper = hc.getTypeHelper();
- dataFactory = hc.getDataFactory();
- xsdHelper = hc.getXSDHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
- inputStream.close();
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java
deleted file mode 100644
index b9b9c0f2ea..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class ChangeSummaryOnDataObjectTestCase extends TestCase {
-
-
- private final String TEST_DATA = "/simplechangesummary.xml";
- HelperContext hc;
- XSDHelper xh;
- TypeHelper th;
-
- public void testBasicsDO() {
- Type cst = th.getType("commonj.sdo","ChangeSummaryType");
- Type strt = th.getType("commonj.sdo", "String");
-
- Type newt = SDOUtil.createType(hc, "testcases.changesummary", "simpleCS", false);
- Property strProp = SDOUtil.createProperty(newt, "strElem", strt);
- SDOUtil.createProperty(newt, "changeSummary", cst);
-
- DataObject iNewt = hc.getDataFactory().create(newt);
-
- testBasicsBody(strProp, iNewt);
-}
-
- public void testBasicsDG() {
-
- Type strt = th.getType("commonj.sdo", "String");
-
-
- Type newt = SDOUtil.createType(hc, "testcases.changesummary", "simpleNOCS", false);
- Property strProp = SDOUtil.createProperty(newt, "strElem", strt);
-
- DataGraph graph = SDOUtil.createDataGraph();
- DataObject iNewt = graph.createRootObject(newt);
-
- testBasicsBody(strProp, iNewt);
-}
-
-
- /**
- * @param strProp
- * @param iNewt
- */
- private void testBasicsBody(Property strProp, DataObject iNewt) {
- ChangeSummary cs = iNewt.getChangeSummary();
- cs.beginLogging();
-
- List co = cs.getChangedDataObjects();
- assertEquals(0, co.size());
- iNewt.set(strProp, "some text");
- assertEquals(0, co.size());
- co = cs.getChangedDataObjects();
- assertEquals(1, co.size());
-
- List oldValues = cs.getOldValues((DataObject)co.get(0));
-
- ChangeSummary.Setting ov1 = (ChangeSummary.Setting)oldValues.get(0);
- Property p = ov1.getProperty();
- assertEquals("strElem", p.getName());
- Object v = ov1.getValue();
- assertEquals(null, v);
-
- assertTrue(cs.isLogging());
- cs.endLogging();
- assertFalse(cs.isLogging());
-
- }
-
-
-
- public void testDynamicNestedDataObjectsDG() throws Exception {
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject(th.getType("http://www.example.com/simple", "Quote"));
-
- testDynamicNestedDOBody(quote);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.saveDataGraph(dataGraph, baos, null);
- // SDOUtil.saveDataGraph(dataGraph, System.out, null);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
-
-
- assertEquals(1, quote.getList("quotes").size());
- assertEquals("fbnt", quote.getString("symbol"));
- dataGraph.getChangeSummary().undoChanges();
- // SDOUtil.saveDataGraph(dataGraph, System.out, null);
- assertEquals(0, quote.getList("quotes").size());
- assertNull(quote.getString("symbol"));
-
-
- }
-
- public void testDynamicNestedDataObjectsDO() throws Exception {
- Type quoteType = th.getType("http://www.example.com/simpleCS", "RootQuote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- testDynamicNestedDOBody(quote);
- //hc.getXMLHelper().save(quote, "http://www.example.com/simpleCS", "stockQuote", System.out);
- assertEquals(1, quote.getList("quotes").size());
- assertEquals("fbnt", quote.getString("symbol"));
-
- quote.getChangeSummary().undoChanges();
-
- assertEquals(0, quote.getList("quotes").size());
- assertNull(quote.getString("symbol"));
-
-
-
- }
-
- /**
- * @param quote
- */
- private void testDynamicNestedDOBody(DataObject quote) {
- // Begin logging changes
- //
- ChangeSummary changeSummary = quote.getChangeSummary();
- assertNotNull(changeSummary);
- assertFalse(changeSummary.isLogging());
- changeSummary.beginLogging();
-
-
- // Modify the data graph in various fun and interesting ways
- //
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- changeSummary.endLogging();
- assertEquals(2, changeSummary.getChangedDataObjects().size()); // 2 DataObjects
- assertTrue(changeSummary.getChangedDataObjects().contains(quote));
- assertTrue(changeSummary.getChangedDataObjects().contains(child));
- assertFalse(changeSummary.isCreated(quote));
- assertTrue(changeSummary.isCreated(child));
-
- ChangeSummary.Setting ov = changeSummary.getOldValue(quote, quote.getType().getProperty("symbol"));
- assertNull(ov.getValue());
-
-
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
-// uncomment these lines for sending aspect trace to a file
-// tracing.lib.TraceMyClasses tmc = (TraceMyClasses)Aspects.aspectOf(TraceMyClasses.class);
-// tmc.initStream(new PrintStream("c:\\temp\\trace.log"));
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource("/simple.xsd");
- InputStream inputStream = url.openStream();
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
- xh = hc.getXSDHelper();
- xh.define(inputStream, url.toString());
- inputStream.close();
-
- URL url2 = getClass().getResource("/simpleWithChangeSummary.xsd");
- InputStream inputStream2 = url2.openStream();
- xh.define(inputStream2, url2.toString());
- inputStream.close();
-
-
-
-}
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java
deleted file mode 100644
index ace509d1b4..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class ChangeSummaryPropertyTestCase extends TestCase {
- private final String TEST_MODEL = "/simpleWithChangeSummary.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simpleCS";
-
- private final String TEST_DATA_BEFORE_UNDO = "/simpleWithChangeSummary.xml";
- private final String TEST_DATA_AFTER_UNDO = "/simpleWithChangeSummaryUndone.xml";
-
- HelperContext hc;
- DataFactory dataFactory;
- XMLHelper xmlHelper;
-
- void verify(ChangeSummary cs, DataObject quote, String nameSpace, String element, String beforeUndo, String afterUndo) throws IOException {
- // Stop logging changes and serialize the resulting data graph
- //
- cs.endLogging();
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, nameSpace, element, baos);
- //xmlHelper.save(quote, nameSpace, element, System.out);
-
- byte[] bytes = baos.toByteArray();
- URL url = getClass().getResource(beforeUndo);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(bytes), url));
-
- DataObject loaded = xmlHelper.load(new ByteArrayInputStream(bytes)).getRootObject();
- baos.reset();
- xmlHelper.save(loaded, nameSpace, element, baos);
- //xmlHelper.save(loaded, nameSpace, element, System.out);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), url));
-
- // Undo all changes and then serialize the resulting data graph again
- //
- cs.undoChanges();
-
- baos.reset();
- xmlHelper.save(quote, nameSpace, element, baos);
- //xmlHelper.save(quote, nameSpace, element, System.out);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(afterUndo)));
- }
-
- /**
- * ChangeSummary property test.
- */
- protected final void change(String nameSpace, String beforeUndo, String afterUndo) throws Exception {
- Type quoteType = hc.getTypeHelper().getType(nameSpace, "RootQuote");
- DataObject quote = dataFactory.create(quoteType);
-
- ChangeSummary cs = quote.getChangeSummary();
- ChangeSummary csp = (ChangeSummary)quote.get("changes");
-
- assertSame(cs, csp);
-
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("1500.0"));
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
- child = child.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.99"));
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2500.0"));
-
- // Begin logging changes
- //
- cs.beginLogging();
-
- // Modify the data graph in various ways
- //
- quote.setString("symbol", "FBNT");
- quote.setBigDecimal("price", new BigDecimal("999.0"));
- quote.setDouble("volume", 1000);
-
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("3000.0"));
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("4000.0"));
-
- quote.getDataObject("quotes[2]").delete();
-
- verify(cs, quote, nameSpace, "stockQuote", beforeUndo, afterUndo);
- }
-
- /**
- * Simple ChangeSummary property test.
- */
- public void testChangeSummary() throws Exception {
- change(TEST_NAMESPACE, TEST_DATA_BEFORE_UNDO, TEST_DATA_AFTER_UNDO);
- }
-
- static final String SequenceTest_NameSpace = "http://www.example.com/sequenceCS";
-
- /**
- * Mixed ChangeSummary property test.
- */
- public void testMixedChangeSummary() throws Exception {
- change(SequenceTest_NameSpace, "/mixedChangeSummary.xml", "/mixedChangeSummaryUndone.xml");
- }
-
- protected final DataObject createDataObject(Type quoteType, Object value, Sequence sequence, Property property) {
- DataObject child = dataFactory.create(quoteType);
- child.set("symbol", value);
- sequence.add(property, child);
- return child;
- }
-
- static final String SequenceTest_ELEMENT = "openQuote";
-
- private XSDHelper xsdHelper;
-
- /**
- * Open/any ChangeSummary property test.
- */
- public void testOpenChangeSummary() throws Exception {
- DataObject quote = dataFactory.create(xsdHelper.getGlobalProperty(SequenceTest_NameSpace, SequenceTest_ELEMENT, true).getType());
-
- ChangeSummary cs = quote.getChangeSummary();
- ChangeSummary csp = (ChangeSummary)quote.get("changes");
-
- assertSame(cs, csp);
-
- quote.set("symbol", "fbnt");
- Property property = xsdHelper.getGlobalProperty("http://www.example.com/open", "openStockQuote", true);
- Type quoteType = property.getType();
- List openStockQuotes = ((DataObject)quote).getList(property);
-
- addQuote(openStockQuotes, quoteType, "1500.0");
- DataObject osq2 = addQuote(openStockQuotes, quoteType, "2000.0");
- addQuote(osq2.getList(property), quoteType, "2000.99");
- addQuote(openStockQuotes, quoteType, "2500.0");
-
- // Begin logging changes
- //
- cs.beginLogging();
-
- // Modify the data graph in various ways
- //
- quote.set("symbol", "FBNT");
-
- addQuote(openStockQuotes, quoteType, "3000.0");
- addQuote(openStockQuotes, quoteType, "4000.0");
-
- openStockQuotes.remove(osq2);
-
-
- verify(cs, quote, SequenceTest_NameSpace, SequenceTest_ELEMENT, "/openChangeSummary.xml", "/openChangeSummaryUndone.xml");
- }
-
- private DataObject addQuote(List openStockQuotes, Type quoteType,
- Object value) {
- DataObject osq = dataFactory.create(quoteType);
- osq.set("symbol", value);
- openStockQuotes.add(osq);
- return osq;
- }
-
- void define(String model) throws Exception {
- // Populate the meta data for the test model
- URL url = getClass().getResource(model);
- xsdHelper.define(url.openStream(), url.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- xsdHelper = hc.getXSDHelper();
- dataFactory = hc.getDataFactory();
- xmlHelper = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- define(TEST_MODEL);
-
- define("/SequenceChangeSummary.xsd");
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java
deleted file mode 100644
index e956720117..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class ChangeSummaryTestCase extends TestCase {
- private final String TEST_MODEL = "/simple.xsd";
- private final String TEST_DATA = "/simplechangesummary.xml";
-
- /**
- * Simple ChangeSummary test.
- */
- public void testChangeSummary() throws IOException {
- // Create an empty data graph and add a root object, an instance of type Quote
- //
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/simple", "Quote");
-
- // Begin logging changes
- //
- ChangeSummary changeSummary = dataGraph.getChangeSummary();
- changeSummary.beginLogging();
-
- // Modify the data graph in various fun and interesting ways
- //
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- // Stop logging changes and print the resulting data graph to stdout
- //
- changeSummary.endLogging();
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.saveDataGraph(dataGraph, baos, null);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java
deleted file mode 100644
index 843ab9b982..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java
+++ /dev/null
@@ -1,866 +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.sdo.test;
-
-import junit.framework.TestCase;
-import commonj.sdo.DataObject;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-
-import com.example.test.Containment.ContainmentFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Tests serialization of containment cycles. For JavaSerialization, the test case
- * passes if an IllegalStateException is thrown. For XMLHelper and XMLStreamHelper
- * serialization, serization should complete without throwing an Exception. In all
- * cases, the actual structure of the DataObject should not be changed by the
- * method call to serialize the DO.
- *
- * The same test is run for a static model (Type created using XSD2JavaGenerator), a
- * dynamic model (Type created using TypeHelper), and a 'mixed' model (Type created
- * using XSDHelper - dynamic Type creation using static resources).
- */
-public class ContainmentCycleTestCase extends TestCase {
-
- private static final String CONTAIN_URI = "http://www.example.com/ContainmentTest";
- private static final String CONTAIN_TYPE = "ContainmentTest";
- private static HelperContext staticScope;
- private static HelperContext dynamicScope;
- private static HelperContext mixedScope;
- private static boolean initialized = false;
- private static boolean mixedCreated = false;
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- // Note: Static test cases are prevented due to a JVM Error in ObjectOutputStream.
- // The IllegalStateException thrown by Java serialization is caught, which in turn allows
- // the StackOverflowException to occur. The catcher is catching RuntimeException, so it does
- // not matter which Exception is thrown by the SDO code.
- public void atestStaticOneMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
-
- setSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- public void atestStaticOneMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the static version
- * of this test case.
- */
- public void atestStaticOneMemberReturnedList() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
-
- returnedListOneMember(dataObj1);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the static version
- * of this test case.
- */
- public void atestStaticNMemberReturnedList() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- returnedListNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticOneMemberSingleValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
-
- sequenceSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberSingleValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticOneMemberMultiValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberMultiValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridOneMemberSingleValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- setSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridNMemberSingleValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridOneMemberMultiValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridNMemberMultiValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the hybrid version
- * of this test case.
- */
- public void testHybridOneMemberReturnedList() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- returnedListOneMember(dataObj1);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the hybrid version
- * of this test case.
- */
- public void testHybridNMemberReturnedList() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- returnedListNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the hybrid version of this test case.
- */
- public void testHybridOneMemberSingleValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- sequenceSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the hybrid version of this test case.
- */
- public void testHybridNMemberSingleValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of serialization.
- * This is the hybrid version of this test case.
- */
- public void testHybridOneMemberMultiValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of serialization.
- * This is the hybrid version of this test case.
- */
- public void testHybridNMemberMultiValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- setSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the dynamic version
- * of this test case.
- */
- public void testDynamicOneMemberReturnedList() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- returnedListOneMember(dataObj1);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the dynamic version
- * of this test case.
- */
- public void testDynamicNMemberReturnedList() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- returnedListNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberSingleValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- sequenceSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberSingleValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberMultiValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberMultiValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to serialize the DataObject in via XML, XMLStreamHelper,
- * and Java serialization.
- * @param dataObj
- */
- private void attemptSerialization(final DataObject dataObj, final HelperContext scope) {
-
- assertTrue("Containment cycle was not established.",
- containmentCycleExists(dataObj));
-
- try {
- serializeDataObjectXML(dataObj, scope);
- } catch (final Exception e) {
- fail("XML serialization of a containment cycle resulted in a(n) " + e.getClass().getName() + ".");
- e.printStackTrace();
- }
-
- assertTrue("Containment cycle was affected by XMLHelper serialization.",
- containmentCycleExists(dataObj));
-
- try {
- serializeDataObjectJava(dataObj);
- fail("Java serialization of a containment cycle should result in an IllegalStateException.");
- } catch (final Exception e) {
- // Do nothing. An Exception is expected in this case.
- }
-
- assertTrue("Containment cycle was affected by Java serialization.",
- containmentCycleExists(dataObj));
-
- try {
- serializeDataObjectStream(dataObj, scope);
- } catch (final Exception e) {
- fail("XMLStreamHelper serialization of a containment cycle resulted in a(n) " + e.getClass().getName() + ".");
- e.printStackTrace();
- }
- assertTrue("Containment cycle was affected by XMLStreamHelper serialization.",
- containmentCycleExists(dataObj));
- }
- /**
- * Uses the XMLHelper to serialize the input DataObject
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- private static void serializeDataObjectXML(final DataObject dataObject, final HelperContext scope) {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final Type type = dataObject.getType();
-
- try {
- scope.getXMLHelper().save(dataObject, type.getURI(), type.getName(), baos);
- }
- catch (final IOException e) {
- fail("Could not complete test case due to IOException.");
- }
- }
-
- /**
- * Uses Java serialization to serialize the input DataObject
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- private static void serializeDataObjectStream(final DataObject dataObject, final HelperContext scope) {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- final XMLOutputFactory factory = XMLOutputFactory.newInstance();
- XMLStreamWriter serializer;
- final XMLStreamHelper xmlStreamHelper = SDOUtil.createXMLStreamHelper(scope);
- try {
- serializer = factory.createXMLStreamWriter(baos);
- xmlStreamHelper.saveObject(dataObject, serializer);
- serializer.flush();
- }
- catch (final XMLStreamException e) {
- fail("Exception encountered during XMLStreamHelper serialization.");
- e.printStackTrace();
- }
- }
-
- /**
- * Uses Java serialization to serialize the input DataObject
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- private static void serializeDataObjectJava(final DataObject dataObject) {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- try {
- final ObjectOutputStream out = new ObjectOutputStream(baos);
- out.writeObject(dataObject);
- out.close();
- }
- catch (final IOException e) {
- fail("Could not complete test case due to IOException.");
- }
- }
-
- /**
- * Returns true if input DataObject root is part of a containment cycle,
- * false otherwise.
- * @param root
- * @return
- */
- private static boolean containmentCycleExists (final DataObject root)
- {
- DataObject curr = root.getContainer();
-
- while (curr != null)
- {
- if (curr == root) {
- return true;
- }
-
- curr = curr.getContainer();
- }
- return false;
- }
-
- /**
- * Use setDataObject to create a one member containment cycle.
- * @param dataObj1
- */
- private void setSingleValueOneMember(final DataObject dataObj1) {
- dataObj1.setDataObject("Contain", dataObj1);
- }
-
- /**
- * Use setDataObject to create an N-member containment cycle.
- * @param dataObj1
- * @param dataObj2
- * @param dataobj3
- */
- private void setSingleValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- dataObj1.setDataObject("Contain", dataObj2);
- dataObj2.setDataObject("Contain", dataObj3);
- dataObj3.setDataObject("Contain", dataObj1);
- }
-
- /**
- * Use setList to create a one member containment cycle.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void setMultiValueOneMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- final List addList = new ArrayList();
-
- addList.add(dataObj2);
- addList.add(dataObj1);
- addList.add(dataObj3);
- dataObj1.setList("ContainMany", addList);
- }
-
- /**
- * Use setList to create an N-member containment cycle.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void setManyValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- final List addList = new ArrayList();
-
- dataObj1.setDataObject("Contain", dataObj2);
- dataObj2.setDataObject("Contain", dataObj3);
- addList.add(dataObj1);
- dataObj3.setList("ContainMany", addList);
- }
-
- /**
- * Create a 1-member containment cycle by making updates to a returned List.
- * @param dataObj1
- */
- private void returnedListOneMember(final DataObject dataObj1) {
- final List returnedList = dataObj1.getList("ContainMany");
-
- returnedList.add(dataObj1);
- }
-
- /**
- * Create an n-member containment cycle by making updates to a returned List.
- * @param dataObj1
- * @param dataObj2
- * @param dataobj3
- */
- private void returnedListNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- dataObj1.setDataObject("Contain", dataObj2);
- dataObj2.setDataObject("Contain", dataObj3);
-
- final List returnedList = dataObj3.getList("ContainMany");
-
- returnedList.add(dataObj1);
- }
-
- /**
- * Create a 1-member containment cycle by making updates to a Sequence.
- * The data member in this case is single valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceSingleValueOneMember(final DataObject dataObj1) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final Sequence sequence = dataObj1.getSequence();
-
- sequence.add("Contain", dataObj1);
- }
-
- /**
- * Create an n-member containment cycle by making updates to a Sequence.
- * The data member in this case is single valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceSingleValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final Sequence sequence1 = dataObj1.getSequence();
- final Sequence sequence2 = dataObj2.getSequence();
- final Sequence sequence3 = dataObj3.getSequence();
-
- sequence1.add("Contain", (Object) dataObj2);
- sequence2.add("Contain", (Object) dataObj3);
-
- sequence3.add("Contain", (Object) dataObj1);
- }
-
- /**
- * Create a 1-member containment cycle by making updates to a Sequence.
- * The data member in this case is many valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceMultiValueOneMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final Sequence sequence = dataObj1.getSequence();
-
- sequence.add("ContainMany", dataObj2);
- sequence.add("ContainMany", dataObj3);
- sequence.add("ContainMany", dataObj1);
- }
-
- /**
- * Create an n-member containment cycle by making updates to a Sequence.
- * The data member in this case is many valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceManyValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final List addList = new ArrayList();
-
- addList.add(dataObj2);
- dataObj1.setList("ContainMany", addList);
-
- addList.clear();
- addList.add(dataObj3);
- dataObj2.setList("ContainMany", addList);
-
- final Sequence sequence = dataObj3.getSequence();
-
- sequence.add("ContainMany", dataObj1);
- }
-
- public void setUp() {
- if (!initialized) {
- staticScope = SDOUtil.createHelperContext();
- ContainmentFactory.INSTANCE.register(staticScope);
-
- dynamicScope = SDOUtil.createHelperContext();
- ContainmentTypeUtil.createDynamically(dynamicScope);
-
- mixedScope = SDOUtil.createHelperContext();
- mixedCreated = ContainmentTypeUtil.createDynamicWithStaticResources(mixedScope);
-
- initialized = true;
- }
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java
deleted file mode 100644
index f602555fa6..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java
+++ /dev/null
@@ -1,86 +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.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * Provides methods to dynamically create the ContainemntTest Type using the XSDHelper
- * and the TypeHelper.
- */
-public class ContainmentTypeUtil {
-
- /**
- * createDynamicWithStaticResources creates the DataObject type from an existing
- * XSD. The same XSD is used to create the Types statically using the XSD2JavaGenerator.
- * The XSD should be kept in synch with the createDynamically method in this class.
- * @throws IOException
- * @return true if
- */
- public static boolean createDynamicWithStaticResources(HelperContext hc) {
- try {
- // Populate the meta data for the test model (ContainTest)
- URL url = ContainmentCycleTestCase.class.getResource("/containmenttest.xsd");
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- } catch(IOException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
-
- /**
- * createDynamically() creates the SDO Types using the TypeHelper. This method should be kept in
- * synch with the XSD used for createDynamicallyWithStaticResources. The same XSD is used for
- * the static generation of SDO Types using XSD2JavaGenerator.
- */
- public static void createDynamically(HelperContext hc) {
- TypeHelper types = hc.getTypeHelper();
- Type stringType = types.getType("commonj.sdo", "String");
-
- DataObject testType = hc.getDataFactory().create("commonj.sdo", "Type");
- testType.set("uri", "http://www.example.com/ContainmentTest");
- testType.set("name", "ContainmentTest");
- testType.setBoolean("sequenced", true);
-
- DataObject nameProperty = testType.createDataObject("property");
- nameProperty.set("name", "Name");
- nameProperty.set("type", stringType);
-
- DataObject containProperty = testType.createDataObject("property");
- containProperty.set("name", "Contain");
- containProperty.setBoolean("containment", true);
- containProperty.set("type", testType);
-
- DataObject containManyProperty = testType.createDataObject("property");
- containManyProperty.set("name", "ContainMany");
- containManyProperty.setBoolean("many", true);
- containManyProperty.setBoolean("containment", true);
- containManyProperty.set("type", testType);
-
- types.define(testType);
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java
deleted file mode 100644
index 4a8ed34477..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Vector;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-public class CrossScopeCopyTestCase extends TestCase
-{
- // Literals
- private static final String TEST_NAMESPACE = "http://www.example.com/bank";
- private static final String BANK_MODEL = "/bank.xsd";
- private static final String BANK_TYPE = "bankType";
- private static final String BRANCH_TYPE = "branchType";
- private static final String SERVICE_TYPE = "serviceType";
- private static final String ACCOUNT_TYPE = "accountType";
- private static final String CUSTOMER_TYPE = "customerType";
- private static final String ADDRESS_TYPE = "addressType";
- private static final String DYNAMIC_TYPE = "dynamicType";
-
- // SDO model objects
- private HelperContext hca;
- private HelperContext hcb;
- private TypeHelper scopeA;
- private TypeHelper scopeB;
-
- // SDO instance objects
- private DataObject bankSDO;
- private DataObject branchSDO1;
- private DataObject branchSDO2;
- private DataObject serviceSDO1;
- private DataObject serviceSDO2;
- private DataObject serviceSDO3;
- private DataObject customerSDO1;
- private DataObject customerSDO2;
- private DataObject customerSDO3;
- private DataObject customerSDO4;
-
- private int indent = 0;
-
- public void testCrossScopeCopy() throws IOException
- {
- CopyHelper copyHelperB = SDOUtil.createCrossScopeCopyHelper(hcb);
-
- // Perform Shallow Copy Test
- DataObject copiedSDO = copyHelperB.copyShallow(bankSDO);
- shallowCopyAssertions(bankSDO, copiedSDO);
-
- // Perform Deep Copy Test
- copiedSDO = copyHelperB.copy(bankSDO);
- deepCopyAssertions(bankSDO, copiedSDO);
-
- // Inter-Reference Copy
- copiedSDO = copyHelperB.copy(customerSDO1);
- DataObject prop = (DataObject)copiedSDO.get("HomeBranch");
- assertTrue(prop==null);
-
- // Perform invalid namespace test
- DataObject sdo = hca.getDataFactory().create(TEST_NAMESPACE, DYNAMIC_TYPE );
- sdo.set("custNum", "099" );
- sdo.set("firstName", "John");
- sdo.set("lastName", "Doe");
- boolean failed = false;
- try
- {
- // In this case, we are copying an object to a scope
- // where the object's type has not been defined. That
- // will generate a null pointer exception what we will
- // catch.
- copyHelperB.copy(sdo);
- }
- catch(java.lang.NullPointerException ex)
- {
- failed = true;
- }
- assertTrue(failed);
- }
-
- protected void setUp() throws Exception
- {
- super.setUp();
-
- // Create Two Scopes
- hca = SDOUtil.createHelperContext();
- hcb = SDOUtil.createHelperContext();
- scopeA = hca.getTypeHelper();
- scopeB = hcb.getTypeHelper();
-
- // Populate scopes with bank model now
- URL url = getClass().getResource(BANK_MODEL);
- InputStream inputStream = url.openStream();
- hca.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- inputStream = url.openStream();
- hcb.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
- // Now Populate scopeA with some dynamic models
- populateScopeWithDynamicTypes(scopeA);
-
- // Construct Source Tree
- constructSourceTree(hca.getDataFactory());
- }
-
- private void shallowCopyAssertions(DataObject sdo, DataObject copiedSdo)
- {
- assertEquals(sdo.getType().getName(), copiedSdo.getType().getName());
- assertEquals(sdo.getType().getURI(), copiedSdo.getType().getURI());
- assertNotSame(sdo.getType(), copiedSdo.getType());
- assertEquals(sdo.getInstanceProperties().size(), copiedSdo
- .getInstanceProperties().size());
-
- for(Iterator it = sdo.getInstanceProperties().iterator(), it2 = copiedSdo
- .getInstanceProperties().iterator(); it.hasNext();)
- {
- Property p1 = (Property) it.next(), p2 = (Property) it2.next();
- assertEquals(p1.getName(), p2.getName());
- Object o1 = sdo.get(p1), o2 = copiedSdo.get(p2);
- if(p1.getType().isDataType())
- {
- assertEquals(o1, o2);
- // TODO is there a way I can distinguish between mutable and
- // immutable types
- // so that I can do some "same object" tests
- }
- else
- {
- assertNotSame(p1, p2);
- if(p2.isMany())
- {
- assertEquals(copiedSdo.getList(p2).size(), 0);
- }
- else
- {
- assertNull(copiedSdo.get(p2));
- }
- }
- try
- {
- sdo.get(p2);
- assertTrue(false);
- }
- catch(Exception e)
- {
- // expected route
- }
- try
- {
- copiedSdo.get(p1);
- assertTrue(false);
- }
- catch(Exception e2)
- {
- // expected route
- }
- }
- }
-
- private void deepCopyAssertions(DataObject sdo, DataObject copiedSdo)
- {
- //indent();
-
- //System.out.println("checking objects of types: "
- // + sdo.getType().getName() + ", "
- // + copiedSdo.getType().getName());
- indent++;
-
- assertEquals(sdo.getType().getName(), copiedSdo.getType().getName());
- assertEquals(sdo.getType().getURI(), copiedSdo.getType().getURI());
- assertNotSame(sdo.getType(), copiedSdo.getType());
- assertEquals(sdo.getInstanceProperties().size(), copiedSdo
- .getInstanceProperties().size());
-
- for(Iterator it = sdo.getInstanceProperties().iterator(), it2 = copiedSdo
- .getInstanceProperties().iterator(); it.hasNext();)
- {
- Property p1 = (Property) it.next(), p2 = (Property) it2.next();
- assertEquals(p1.getName(), p2.getName());
- Object o1 = sdo.get(p1), o2 = copiedSdo.get(p2);
- if(p1.getType().isDataType())
- {
- assertEquals(o1, o2);
- // TODO is there a way I can distinguish between mutable and
- // immutable types
- // so that I can do some "same object" tests
- }
- else
- {
- assertNotSame(p1, p2);
- if(p2.isMany())
- {
- assertEquals(sdo.getList(p1).size(), copiedSdo.getList(p2)
- .size());
- for(Iterator it3 = sdo.getList(p1).iterator(), it4 = copiedSdo
- .getList(p2).iterator(); it3.hasNext();)
- {
- deepCopyAssertions((DataObject) it3.next(),
- (DataObject) it4.next());
- }
- }
- else
- {
- deepCopyAssertions(sdo.getDataObject(p1), copiedSdo
- .getDataObject(p2));
- }
- }
- try
- {
- sdo.get(p2);
- assertTrue(false);
- }
- catch(Exception e)
- {
- // expected route
- }
- try
- {
- copiedSdo.get(p1);
- assertTrue(false);
- }
- catch(Exception e2)
- {
- // expected route
- }
- }
-
- indent--;
- }
-
- /*
- private void indent()
- {
- for(int i=0; i <indent; i++) System.out.print(" ");
- }
- */
-
- protected void constructSourceTree(DataFactory df)
- {
- // Create Instances
- bankSDO = df.create(TEST_NAMESPACE, BANK_TYPE );
- branchSDO1 = df.create(TEST_NAMESPACE, BRANCH_TYPE );
- branchSDO2 = df.create(TEST_NAMESPACE, BRANCH_TYPE );
- serviceSDO1 = df.create(TEST_NAMESPACE, SERVICE_TYPE );
- serviceSDO2 = df.create(TEST_NAMESPACE, SERVICE_TYPE );
- serviceSDO3 = df.create(TEST_NAMESPACE, SERVICE_TYPE );
- customerSDO1 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
- customerSDO2 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
- customerSDO3 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
- customerSDO4 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
-
- // Populate the Bank Instance
- bankSDO.set("name", "Fourth National");
- Vector v = new Vector();
- v.add(branchSDO1);
- v.add(branchSDO2);
- bankSDO.set("Branch",v);
- v.removeAllElements();
- v.add(serviceSDO1);
- v.add(serviceSDO2);
- v.add(serviceSDO3);
- bankSDO.set("Service",v);
- v.removeAllElements();
- v.add(customerSDO1);
- v.add(customerSDO2);
- v.add(customerSDO3);
- v.add(customerSDO4);
- bankSDO.set("Customer",v);
- v.removeAllElements();
-
- // Populate Branch Instances
- // Branch 1
- branchSDO1.set("ID", "BR100");
- DataObject addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1302 Money Street");
- addr.set("City", "Apex");
- addr.set("State", "NC");
- addr.set("Zip", "27502");
- branchSDO1.set("Address", addr);
- v.add("If you are north, head south");
- v.add("If you are south, head north");
- branchSDO1.set("Directions", v);
- v.removeAllElements();
- DataObject account1 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account1.set("ID", "0000 1200 0001");
- account1.set("Service", serviceSDO1 );
- account1.setBigDecimal("Balance", new BigDecimal("3124.12"));
- v.add(account1);
- DataObject account2 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account2.set("ID", "0000 8899 0001");
- account2.set("Service", serviceSDO1 );
- account2.setBigDecimal("Balance", new BigDecimal("20.00"));
- v.add(account2);
- DataObject account3 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account3.set("ID", "0000 3110 0020");
- account3.set("Service", serviceSDO3 );
- account3.setBigDecimal("Balance", new BigDecimal("5000.00"));
- v.add(account3);
- branchSDO1.set("Account", v);
- v.removeAllElements();
- // Branch 2
- branchSDO2.set("ID", "BR200");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1207 Cash Court");
- addr.set("City", "Raleigh");
- addr.set("State", "NC");
- addr.set("Zip", "27701");
- branchSDO2.set("Address", addr);
- v.add("If you are east, head west");
- v.add("If you are west, head east");
- branchSDO2.set("Directions", v);
- v.removeAllElements();
- DataObject account4 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account4.set("ID", "0000 0011 0001");
- account4.set("Service", serviceSDO1 );
- account4.setBigDecimal("Balance", new BigDecimal("99.12"));
- v.add(account4);
- DataObject account5 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account5.set("ID", "0000 9911 0001");
- account5.set("Service", serviceSDO2 );
- account5.setBigDecimal("Balance", new BigDecimal("820.00"));
- v.add(account5);
- DataObject account6 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account6.set("ID", "0000 0001 0020");
- account6.set("Service", serviceSDO3 );
- account6.setBigDecimal("Balance", new BigDecimal("9000.00"));
- v.add(account6);
- branchSDO2.set("Account", v);
- v.removeAllElements();
-
- // Populate Service Instances
- serviceSDO1.set("ID", "SRV01");
- serviceSDO1.set("Name", "Checking");
- serviceSDO1.setBigDecimal("Fee", new BigDecimal("0.00"));
- serviceSDO2.set("ID", "SRV02");
- serviceSDO2.set("Name", "Savings");
- serviceSDO2.setBigDecimal("Fee", new BigDecimal("0.00"));
- serviceSDO3.set("ID", "SRV03");
- serviceSDO3.set("Name", "Loan");
- serviceSDO3.setBigDecimal("Fee", new BigDecimal("0.00"));
-
- // Populate Customer Instances
- // Customer 1
- customerSDO1.set("ID", "CUST01");
- customerSDO1.set("First", "James");
- customerSDO1.set("Last", "Madison");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1234 Easy Street");
- addr.set("City", "New York");
- addr.set("State", "NY");
- addr.set("Zip", "27511");
- customerSDO1.set("Address", addr);
- customerSDO1.set("HomeBranch", branchSDO1);
- v.add(account1);
- customerSDO1.set("Account", v);
- v.removeAllElements();
- v.add(customerSDO2);
- v.add(customerSDO3);
- customerSDO1.set("Related", v);
- v.removeAllElements();
- // Customer 2
- customerSDO2.set("ID", "CUST02");
- customerSDO2.set("First", "George");
- customerSDO2.set("Last", "Washington");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1776 Potomac Avenue");
- addr.set("City", "Washington");
- addr.set("State", "DC");
- addr.set("Zip", "50555");
- customerSDO2.set("Address", addr);
- customerSDO2.set("HomeBranch", branchSDO1);
- v.add(account2);
- v.add(account3);
- customerSDO2.set("Account", v);
- v.removeAllElements();
- // Customer 3
- customerSDO3.set("ID", "CUST03");
- customerSDO3.set("First", "Thomas");
- customerSDO3.set("Last", "Jefferson");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1492 Columbus Avenue");
- addr.set("City", "Charlottesville");
- addr.set("State", "VA");
- addr.set("Zip", "20121");
- customerSDO3.set("Address", addr);
- customerSDO3.set("HomeBranch", branchSDO2);
- v.add(account4);
- customerSDO3.set("Account", v);
- v.removeAllElements();
- // Customer 4
- customerSDO4.set("ID", "CUST04");
- customerSDO4.set("First", "Benjamin");
- customerSDO4.set("Last", "Franklin");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "99 Light Street");
- addr.set("City", "Philadelphia");
- addr.set("State", "PA");
- addr.set("Zip", "19251");
- customerSDO4.set("Address", addr);
- customerSDO4.set("HomeBranch", branchSDO2);
- v.add(account5);
- v.add(account6);
- customerSDO4.set("Account", v);
- v.removeAllElements();
-
- }
-
- private void populateScopeWithDynamicTypes(TypeHelper scope)
- {
- Type stringType = scope.getType("commonj.sdo", "String");
- DataObject customerType = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- customerType.set("uri", TEST_NAMESPACE);
- customerType.set("name", DYNAMIC_TYPE );
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", stringType);
- DataObject firstNameProperty = customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- scope.define(customerType);
- }
-
- /*
- private void dumpObject(DataObject sdo, String node )
- {
- try
- {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.createXMLHelper(scopeA).save(sdo, TEST_NAMESPACE,
- node, baos);
- System.out.println(baos.toString());
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- */
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java
deleted file mode 100644
index 5fcc567908..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Tests methods of DataGraph except for change summary which is tested elsewhere.
- */
-public class DataGraphTestCase extends TestCase {
- private final String SIMPLE_MODEL = "/simple.xsd";
- private final String ANYTYPE_MODEL = "/anytype.xsd";
-
- /**
- * createRootObject(type) test with good parms.
- */
- public void testCreateRootObjectType() throws IOException {
- // Create an empty data graph and add a root object, an instance of type Quote
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = dataGraph.getType("http://www.example.com/simple", "Quote");
- DataObject quote = dataGraph.createRootObject(quoteType);
-
- assertNotNull(quote);
- }
-
- /**
- * createRootObject(type) test with bad parm.
- */
- public void testCreateRootObjectTypeBad() throws IOException {
- // Create an empty data graph and pass bad parms to createRootObject
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- boolean success = false;
- try {
- dataGraph.createRootObject(null);
- } catch(NullPointerException npe) {
- fail("createRootObject with null type threw NullPointerException");
- } catch(Exception e) {
- success = true;
- }
- if (!success) {
- fail("createRootObject with null type parameter did not throw an exception");
- }
- }
-
- /**
- * createRootObject(type) test with good parms but too often to ensure
- * that IllegalStateException is thrown
- */
- public void testCreateRootObjectTypeIllegalState() throws IOException {
- // Create an empty data graph and add a root object, then add another root object
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/anytype", "Person");
-
- assertNotNull(quote);
-
- Type quoteType = dataGraph.getType("http://www.example.com/simple", "Quote");
- assertNotNull(quoteType);
- boolean success = false;
- try {
- dataGraph.createRootObject(quoteType);
- } catch(IllegalStateException ise) {
- success = true;
- } catch(Exception e) {
- fail("createRootObject called when a root was already created and an exception other than IllegalStateException was thrown: "+e.getMessage());
- }
- if (!success) {
- fail("createRootObject called when a root was already created but no IllegalStateException was thrown");
- }
- }
-
- /**
- * createRootObject(type) test with good parms but too often to ensure
- * that IllegalStateException is thrown
- */
- public void testCreateRootObjectUriTypenameIllegalState() throws IOException {
- // Create an empty data graph and add a root object, then add another root object
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/anytype", "Person");
-
- assertNotNull(quote);
-
- boolean success = false;
- try {
- dataGraph.createRootObject("http://www.example.com/simple", "Quote");
- } catch(IllegalStateException ise) {
- success = true;
- } catch(Exception e) {
- fail("createRootObject called when a root was already created and an exception other than IllegalStateException was thrown: "+e.getMessage());
- }
- if (!success) {
- fail("createRootObject called when a root was already created but no IllegalStateException was thrown");
- }
- }
-
- /**
- * createRootObject(uri_string, typeName_string) test with good parms.
- */
- public void testCreateRootObjectUriTypename() throws IOException {
- // Create an empty data graph and add a root object, an instance of type Quote
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/simple", "Quote");
-
- assertNotNull(quote);
- }
-
- /**
- * createRootObject(uri_string, typeName_string) test with bad parms.
- */
- public void testCreateRootObjectUriTypenameBad1() throws IOException {
- // Create an empty data graph and pass bad parms to createRootObject
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- boolean success = false;
- try {
- dataGraph.createRootObject("http://www.example.com/mangled", "Quote");
- } catch(NullPointerException npe) {
- fail("createRootObject with mangled URI threw NullPointerException");
- } catch(Exception e) {
- success = true;
- }
- if (!success) {
- fail("createRootObject with mangled URI did not throw an exception");
- }
- }
-
- /**
- * createRootObject(uri_string, typeName_string) test with bad parms.
- */
- public void testCreateRootObjectUriTypenameBad2() throws IOException {
- // Create an empty data graph and pass bad parms to createRootObject
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- boolean success = false;
- try {
- dataGraph.createRootObject("http://www.example.com/simple", "Mangled");
- } catch(NullPointerException npe) {
- fail("createRootObject with mangled type name threw NullPointerException");
- } catch(Exception e) {
- success = true;
- }
- if (!success) {
- fail("createRootObject with mangled type name did not throw an exception");
- }
- }
-
- /**
- * getType(uri_string, typeName_string) test with good parms.
- */
- public void testGetType() throws IOException {
- // Create an empty data graph and get a type, a Quote type
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = dataGraph.getType("http://www.example.com/simple", "Quote");
-
- assertNotNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with bad URI parm.
- */
- public void testGetTypeBad1() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType("http://www.example.com/mangled", "Quote");
- } catch(Exception e) {
- fail("getType with mangled URI threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with bad type name parm.
- */
- public void testGetTypeBad2() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType("http://www.example.com/simple", "Mangled");
- } catch(Exception e) {
- fail("getType with mangled type name threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with null URI parm.
- */
- public void testGetTypeBad3() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType(null, "Quote");
- } catch(Exception e) {
- fail("getType with null URI threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with null type name parm.
- */
- public void testGetTypeBad4() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType("http://www.example.com/simple", null);
- } catch(Exception e) {
- fail("getType with null type name threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the Quote type
- URL url = getClass().getResource(SIMPLE_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
-
- // Populate the meta data for the Person type
- URL url2 = getClass().getResource(ANYTYPE_MODEL);
- InputStream inputStream2 = url2.openStream();
- XSDHelper.INSTANCE.define(inputStream2, url2.toString());
- inputStream2.close();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataObjectGetListTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataObjectGetListTestCase.java
deleted file mode 100644
index a4312a9154..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataObjectGetListTestCase.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.IOException;
-import java.util.List;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import junit.framework.TestCase;
-
-public class DataObjectGetListTestCase extends TestCase {
- private HelperContext hc;
- private DataObject companyDataObject;
-
- private final String TEST_NAMESPACE = "http://www.example.com/getList";
-
- private String xsdString =
- "<xsd:schema " +
- "xmlns:getList=\"http://www.example.com/getList\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "targetNamespace=\"http://www.example.com/getList\">" +
-
- "<xsd:element name=\"company\" type=\"getList:Company\"/>" +
- "<xsd:element name=\"employee\" type=\"xsd:string\"/>" +
-
- "<xsd:complexType name=\"Company\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"openCompany\" type=\"getList:OpenCompany\"/>" +
- "<xsd:element name=\"closeCompany\" type=\"getList:CloseCompany\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
-
- "<xsd:complexType name=\"OpenCompany\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"company\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"employees\" maxOccurs=\"unbounded\" type=\"xsd:string\"/>" +
- "<xsd:any maxOccurs=\"unbounded\" namespace=\"##any\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
-
- "<xsd:complexType name=\"CloseCompany\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"company\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"employees\" maxOccurs=\"unbounded\" type=\"xsd:string\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
-
- "</xsd:schema>";
-
- /**
- * Test DataObject.getList() on open type
- */
- public void testUnknownPropertyOnOpenType() throws IOException {
- String companyName = companyDataObject.getString("openCompany/company");
- assertEquals(companyName, "OpenCompany");
- List unknownProperty = companyDataObject.getList("openCompany/unknownProperty");
- assertNotNull(unknownProperty);
- assertTrue(unknownProperty instanceof List);
-
- List unknownProperty2 = companyDataObject.getList("openCompany/unknownProperty");
- assertNotNull(unknownProperty2);
- assertTrue(unknownProperty2 instanceof List);
-
- // unknownProperty and unknownProperty2 are in fact the same value for the same property
-
- unknownProperty.add("employee1");
- assertTrue(unknownProperty.size() == 1);
-
- unknownProperty2.add("employee2");
- assertTrue(unknownProperty2.size() == 2);
-
- unknownProperty.remove(0);
- assertTrue(unknownProperty.size() == 1);
-
- assertEquals(unknownProperty.get(0), "employee2");
- }
-
- /**
- * Test DataObject.getList() on non-open type
- */
- public void testUnknownPropertyOnClosedType() throws IOException {
- String companyName = companyDataObject.getString("closeCompany/company");
- assertEquals(companyName, "CloseCompany");
- List unknownProperty = companyDataObject.getList("closeCompany/unknownProperty");
- assertNotNull(unknownProperty);
- assertTrue(unknownProperty instanceof List);
-
- try {
- unknownProperty.add("employee1");
- fail("An exception should have been thrown.");
- }
- catch (Exception e) {
- }
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(xsdString);
-
- companyDataObject = hc.getDataFactory().create(TEST_NAMESPACE, "Company");
- DataObject openCompany = companyDataObject.createDataObject("openCompany");
- openCompany.setString("company", "OpenCompany");
- DataObject closeCompany = companyDataObject.createDataObject("closeCompany");
- closeCompany.setString("company", "CloseCompany");
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java
deleted file mode 100644
index a49b165386..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class DataTypeBaseTypeTestCase extends TestCase {
- private final String TEST_MODEL = "/datatype.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/datatype";
-
- public void testSimpleSDOType() throws IOException
- {
- Type type = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "SimpleSDOType");
- List baseTypes = type.getBaseTypes();
- assertTrue(baseTypes.size() == 1);
- }
-
- public void testSimpleSDOTypeInstanceClass() throws IOException
- {
- Type type = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "SimpleSDOTypeInstanceClass");
- List baseTypes = type.getBaseTypes();
- assertTrue(baseTypes.size() == 0);
- }
-
- public void testSimpleSDOTypeExtendedInstanceClass() throws IOException
- {
- Type type = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "SimpleSDOTypeExtendedInstanceClass");
- List baseTypes = type.getBaseTypes();
- assertTrue(baseTypes.size() == 1);
- }
-
- public void setUp() throws Exception
- {
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java
deleted file mode 100644
index 86808f3b56..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.lang.reflect.Method;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.helper.DataHelper;
-
-// DateConversionTestCase insures that the DataHelper conversions accurately
-// retain the information in the specified fields (e.g. month, day or year).
-// It also provides coverage for the DataHelper API.
-// Note that toDate is called each time Test.initialize() is called.
-
-public class DateConversionTestCase extends TestCase
-{
- private static Calendar test_calendar;
- private static Date test_date;
- private static DataHelper data_helper;
-
- private static final TestType TO_DATE_TIME = new TestType("toDateTime", new int [] {Calendar.YEAR, Calendar.MONTH,
- Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND});
- private static final TestType TO_DURATION = new TestType("toDuration", new int [] {Calendar.YEAR, Calendar.MONTH,
- Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND});
- private static final TestType TO_TIME = new TestType("toTime", new int [] {Calendar.HOUR_OF_DAY, Calendar.MINUTE,
- Calendar.SECOND, Calendar.MILLISECOND});
- private static final TestType TO_DAY = new TestType("toDay", new int[] {Calendar.DAY_OF_MONTH});
- private static final TestType TO_MONTH = new TestType("toMonth", new int[] {Calendar.MONTH});
- private static final TestType TO_MONTH_DAY = new TestType("toMonthDay", new int[] {Calendar.MONTH, Calendar.DAY_OF_MONTH});
- private static final TestType TO_YEAR = new TestType("toYear", new int[] {Calendar.YEAR});
- private static final TestType TO_YEAR_MONTH= new TestType("toYearMonth", new int[] {Calendar.YEAR, Calendar.MONTH});
- private static final TestType TO_YEAR_MONTH_DAY = new TestType("toYearMonthDay", new int[] {Calendar.YEAR,
- Calendar.MONTH, Calendar.DAY_OF_MONTH});
-
- public DateConversionTestCase() throws Exception
- {
- data_helper = DataHelper.INSTANCE;
- test_calendar = new GregorianCalendar();
- test_calendar.setTime(new Date(System.currentTimeMillis()));
- test_date = test_calendar.getTime();
- }
-
- //Test for TUSCANY-1514
- public void testNullStringToDate() throws Exception {
- Date result = data_helper.toDate(null);
- assertEquals(null, result);
- }
-
- private static class TestType
- {
- private static final Class[] DATE_CLASS_ARRAY = {Date.class};
- private static final Class[] CALENDAR_CLASS_ARRAY = {Calendar.class};
-
- Method date_method;
- Method calendar_method;
- int [] compare_fields;
-
- public TestType (String method_name, int [] compare_fields)
- {
- try
- {
- this.date_method = DataHelper.class.getMethod(method_name, DATE_CLASS_ARRAY);
- }
- catch (NoSuchMethodException e)
- {
- this.date_method = null;
- }
-
- this.compare_fields = compare_fields;
- try
- {
- this.calendar_method = DataHelper.class.getMethod(method_name, CALENDAR_CLASS_ARRAY);
- }
- catch (NoSuchMethodException e)
- {
- this.calendar_method = null;
- }
-
- }
-
- public Method getDateMethod()
- {
- return this.date_method;
- }
-
- public Method getCalendarMethod()
- {
- return this.calendar_method;
- }
- }
-
- private static class Test
- {
- String from_type;
- Date from_date;
- Calendar from_calendar;
- Class expected_exception;
-
- public Test ()
- {
- this.from_date = null;
- this.from_calendar = null;
- expected_exception = null;
- }
-
- public void initialize (TestType from_type)
- {
- this.from_type = from_type.getDateMethod().getName();
-
- try
- {
- String date_string = (String) from_type.getDateMethod().invoke(data_helper, new Object[] {test_date});
-
- this.from_date = data_helper.toDate(date_string);
- date_string = (String) from_type.getCalendarMethod().invoke(data_helper, new Object[] {test_calendar});
- this.from_calendar = data_helper.toCalendar(date_string);
- }
- catch (Exception e)
- {
- this.from_date = null;
- this.from_calendar = null;
- }
-
- }
-
- // This method is needed because there is not a toDate(Date) method in DataHelper.
-
- public void initializeToDate()
- {
- this.from_calendar = test_calendar;
- this.from_date = test_date;
- this.from_type = "toDate";
- }
-
- public void attemptConversion (TestType to_type) throws Exception
- {
- executeConversion(to_type.getDateMethod(), new Object[] {this.from_date}, to_type.compare_fields);
- executeConversion(to_type.getCalendarMethod(), new Object[] {this.from_calendar}, to_type.compare_fields);
- }
-
- private void executeConversion (Method conversion, Object[] parm, int [] compare_fields) throws Exception
- {
- String result;
-
- try
- {
- result = (String) conversion.invoke(data_helper, parm);
- }
- catch (Exception e)
- {
- System.err.println("An unexpected exception was thrown while calling " + conversion.getName() +
- " after initializing with " + this.from_type + ".");
- throw e;
- }
-
- assertTrue("The expected value did not result when calling " + conversion.getName() +
- " after initializing with " + this.from_type + ".", compareFields(parm[0], result, compare_fields));
- }
-
- private boolean compareFields(Object compare_to, String output, int [] compare_fields)
- {
- Calendar result = data_helper.toCalendar(output);
- Calendar expected;
-
- if (compare_to instanceof Calendar)
- expected = (GregorianCalendar) test_calendar;
- else
- {
- expected = new GregorianCalendar();
- expected.setTime((Date) test_date);
- }
-
- for (int i = 0; i < compare_fields.length; i++)
- {
- if (expected.get(compare_fields[i]) != result.get(compare_fields[i]))
- {
- System.err.println("Failed: - expected '" + expected.get(compare_fields[i]) + "' got '" + result.get(compare_fields[i]) + "' for output: " + output);
- return false;
- }
- }
- return true;
- }
-
- }
-
- public void testConversionsFromDay() throws Exception
- {
- Test FromDay = new Test();
-
- FromDay.initialize(TO_DAY);
-
- FromDay.attemptConversion(TO_DAY);
- }
-
- public void testConversionsFromDate() throws Exception
- {
- Test FromDate = new Test();
-
- FromDate.initializeToDate();
-
- FromDate.attemptConversion(TO_DATE_TIME);
- FromDate.attemptConversion(TO_DURATION);
- FromDate.attemptConversion(TO_TIME);
- FromDate.attemptConversion(TO_DAY);
- FromDate.attemptConversion(TO_MONTH);
- FromDate.attemptConversion(TO_MONTH_DAY);
- FromDate.attemptConversion(TO_YEAR);
- FromDate.attemptConversion(TO_YEAR_MONTH);
- FromDate.attemptConversion(TO_YEAR_MONTH_DAY);
- }
-
- public void testConversionsFromDateTime() throws Exception
- {
- Test FromDateTime = new Test();
-
- FromDateTime.initialize(TO_DATE_TIME);
-
- FromDateTime.attemptConversion(TO_DATE_TIME);
- FromDateTime.attemptConversion(TO_DURATION);
- FromDateTime.attemptConversion(TO_TIME);
- FromDateTime.attemptConversion(TO_DAY);
- FromDateTime.attemptConversion(TO_MONTH);
- FromDateTime.attemptConversion(TO_MONTH_DAY);
- FromDateTime.attemptConversion(TO_YEAR);
- FromDateTime.attemptConversion(TO_YEAR_MONTH);
- FromDateTime.attemptConversion(TO_YEAR_MONTH_DAY);
- }
-
- public void testConversionsFromDuration() throws Exception
- {
- Test FromDuration = new Test();
-
- FromDuration.initialize(TO_DURATION);
-
- FromDuration.attemptConversion(TO_DURATION);
- FromDuration.attemptConversion(TO_DATE_TIME);
- FromDuration.attemptConversion(TO_TIME);
- FromDuration.attemptConversion(TO_DAY);
- FromDuration.attemptConversion(TO_MONTH);
- FromDuration.attemptConversion(TO_MONTH_DAY);
- FromDuration.attemptConversion(TO_YEAR);
- FromDuration.attemptConversion(TO_YEAR_MONTH);
- FromDuration.attemptConversion(TO_YEAR_MONTH_DAY);
- }
-
- public void testConversionsFromMonth() throws Exception
- {
- Test FromMonth = new Test();
-
- FromMonth.initialize(TO_MONTH);
-
- FromMonth.attemptConversion(TO_MONTH);
- }
-
- public void testConversionsFromMonthDay() throws Exception
- {
- Test FromMonthDay = new Test();
-
- FromMonthDay.initialize(TO_MONTH_DAY);
- FromMonthDay.attemptConversion(TO_MONTH_DAY);
- FromMonthDay.attemptConversion(TO_MONTH);
- FromMonthDay.attemptConversion(TO_DAY);
- }
-
- public void testConversionsFromTime() throws Exception
- {
- Test FromTime = new Test();
-
- FromTime.initialize(TO_TIME);
-
- FromTime.attemptConversion(TO_TIME);
- }
-
- public void testConversionsFromYear() throws Exception
- {
- Test FromYear = new Test();
-
- FromYear.initialize(TO_YEAR);
-
- FromYear.attemptConversion(TO_YEAR);
- }
-
- public void testConversionsFromYearMonth() throws Exception
- {
- Test FromYearMonth = new Test();
-
- FromYearMonth.initialize(TO_YEAR_MONTH);
-
- FromYearMonth.attemptConversion(TO_YEAR_MONTH);
- FromYearMonth.attemptConversion(TO_MONTH);
- FromYearMonth.attemptConversion(TO_YEAR);
- }
-
- public void testConversionsFromYearMonthDay() throws Exception
- {
- Test FromYearMonthDay = new Test();
-
- FromYearMonthDay.initialize(TO_YEAR_MONTH_DAY);
-
- FromYearMonthDay.attemptConversion(TO_YEAR_MONTH_DAY);
- FromYearMonthDay.attemptConversion(TO_YEAR_MONTH);
- FromYearMonthDay.attemptConversion(TO_MONTH_DAY);
- FromYearMonthDay.attemptConversion(TO_YEAR);
- FromYearMonthDay.attemptConversion(TO_MONTH);
- FromYearMonthDay.attemptConversion(TO_DAY);
- }
-
- // Ensure that strings that should be recognized by toDate do not
- // result in a null Date value.
-
- public void testToDateFormats() throws Exception
- {
- String[] validStrings =
- {
- "2006-03-31T03:30:45.123Z",
- "-2006-03-31T03:30:45.1Z",
- "2006-03-31T03:30:45Z",
- "2006-03-31T03:30:45.123",
- "2006-03-31T03:30:45.1",
- "-2006-03-31T03:30:45",
- "2006-03-31T03:30:45.123 EDT",
- "2006-03-31T03:30:45.1 EDT",
- "2006-03-31T03:30:45 EDT",
- "---05 PST",
- "---04",
- "--12 GMT",
- "--12",
- "--08-08 EST",
- "--08-08",
- "1976-08-08 PDT",
- "1976-08-08",
- "88-12 CST",
- "1988-12",
- "2005 CDT",
- "1999",
- "P2006Y 08M 10D T 12H 24M 07S",
- "P2006Y 10D T 12H",
- "-P2006Y 08M 10D T 07S.2",
- "P08M 10D T 07H",
- "-P 04M 10DT12H 24S.88",
- "PT12H"
- };
-
- for (int i = 0; i < validStrings.length; i++)
- {
- assertNotNull("DataHelper.toData() should not return null for '" + validStrings[i] + "'.",
- data_helper.toDate(validStrings[i]));
- }
-
- }
-
- public void testDateTime(){
- // a small bolt on test case resulting from a fix for JIRA TUSCANY-1044
- String date = DataHelper.INSTANCE.toDateTime(DataHelper.INSTANCE.toCalendar("2007-02-04T00:00:00.200Z"));
- assertEquals("2007-02-04T00:00:00.200Z", date);
- }
-
-}
-
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java
deleted file mode 100644
index f6afd5c458..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-
-public class DefineOpenContentPropertyTestCase extends TestCase {
- private final String TEST_MODEL = "/open.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/open";
- private final String TEST_DATA = "/openContentProperty.xml";
-
- private TypeHelper typeHelper;
- private XSDHelper xsdHelper;
- private XMLHelper xmlHelper;
- private DataFactory dataFactory;
-
- public void testDefineOpenContentProperty() throws IOException {
- Type quoteType = typeHelper.getType(TEST_NAMESPACE, "OpenQuote");
- DataObject quote = dataFactory.create(quoteType);
-
- Property symbolProperty = quoteType.getProperty("symbol");
- assertFalse(symbolProperty.isOpenContent());
-
- quote.setString(symbolProperty, "s1");
-
- Property companyProperty = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "company");
- assertTrue(companyProperty.isOpenContent());
-
- DataObject company = quote.createDataObject(companyProperty);
- company.setString("name", "FlyByNightTechnology");
-
- Property priceProperty = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "price");
- assertTrue(priceProperty.isOpenContent());
-
- quote.getList(priceProperty).add(new BigDecimal("1000.0"));
-
- // Define a new SDO open content property with simple type
- DataObject p = dataFactory.create("commonj.sdo", "Property");
- p.set("type", typeHelper.getType("commonj.sdo", "Decimal"));
- p.set("name", "highPrice");
- Property highPrice = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, p);
- assertTrue(highPrice.isOpenContent());
-
- quote.setBigDecimal(highPrice, new BigDecimal("1100.0"));
-
- // Define a new SDO open content property with complex type
- DataObject mutualFundQuotePropertyDef = dataFactory.create("commonj.sdo", "Property");
- mutualFundQuotePropertyDef.set("type", quoteType);
- mutualFundQuotePropertyDef.set("name", "mutualFundQuote");
- mutualFundQuotePropertyDef.setBoolean("containment", true);
- Property mutualFundQuoteProperty = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, mutualFundQuotePropertyDef);
- assertTrue(mutualFundQuoteProperty.isOpenContent());
-
- DataObject mutualFundQuote = quote.createDataObject(mutualFundQuoteProperty);
- mutualFundQuote.setString("symbol", "mutual-1");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, TEST_NAMESPACE, "openStockQuote", baos);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
-
- // validate existing property condition
- Property duplicateProp = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, p);
- assertTrue(highPrice.equals(duplicateProp));
-
- // validate error condition, where new property exists with different type
- boolean errorCondition = false;
- try
- {
- p = dataFactory.create("commonj.sdo", "Property");
- p.set("type", typeHelper.getType("commonj.sdo", "String"));
- p.set("name", "highPrice");
- highPrice = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, p);
- }
- catch( IllegalArgumentException ex )
- {
- errorCondition = true;
- }
- assertTrue(errorCondition);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- HelperContext hc = SDOUtil.createHelperContext();
- typeHelper = hc.getTypeHelper();
- dataFactory = hc.getDataFactory();
- xsdHelper = hc.getXSDHelper();
- xmlHelper = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java
deleted file mode 100644
index 5b3e814f69..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java
+++ /dev/null
@@ -1,704 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class DefineTypeTestCase extends TestCase
-{
- private static final String CUSTOMER1_XML = "/customer1.xml";
- private static final String CUSTOMER2_XML = "/customer2.xml";
- private static final String OPEN_XML = "/open2.xml";
- private static final String MIXED_XML = "/mixed2.xml";
- private static final String MIXEDOPEN_XML = "/mixedopen.xml";
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- public void testDefineTypeRoundTrip() throws Exception {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo",
- "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property as an XSD attribute
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
- custNumProperty.setBoolean(xmlElementProp, false);
-
- // create a first name property as an XSD attribute
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.setBoolean(xmlElementProp, false);
-
- // create a last name property as an XSD attribute
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- lastNameProperty.setBoolean(xmlElementProp, false);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(customerType, "commonj.sdo", "type", baos);
-
- ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- XMLDocument xdoc = xmlHelper.load(bais);
-
- customerType = xdoc.getRootObject();
-
- // now define the Customer type so that customers can be made
- types.define(customerType);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- assertNotNull(customer2);
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testDefineType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo",
- "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
- custNumProperty.setBoolean(xmlElementProp, false);
-
- // create a first name property
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.setBoolean(xmlElementProp, false);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- lastNameProperty.setBoolean(xmlElementProp, false);
-
- // now define the Customer type so that customers can be made
- types.define(customerType);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
-
- customer1.setInt("custNum", 0);
- assertTrue(customer1.isSet("custNum"));
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- assertNotNull(customer2);
- assertNotNull(types.getOpenContentProperty("http://example.com/customer", "customer"));
-
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testDefineDataType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
- XSDHelper xsdHelper = hc.getXSDHelper();
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
- Property javaClassProperty = xsdHelper.getGlobalProperty("commonj.sdo/java", "javaClass", false);
-
- // create a data types
- DataObject intType = factory.create("commonj.sdo", "Type");
- intType.set("uri", "http://example.com/customer");
- intType.set("name", "MyIntType");
- intType.setBoolean("dataType", true);
- intType.set(javaClassProperty, "int");
-
- DataObject stringType = factory.create("commonj.sdo", "Type");
- stringType.set("uri", "http://example.com/customer");
- stringType.set("name", "MyStringType");
- stringType.setBoolean("dataType", true);
- stringType.set(javaClassProperty, "java.lang.String");
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo",
- "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
- custNumProperty.setBoolean(xmlElementProp, false);
-
- // create a first name property
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.setBoolean(xmlElementProp, false);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- lastNameProperty.setBoolean(xmlElementProp, false);
-
- // now define the Customer type so that customers can be made
- types.define(customerType);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
-
- type = type.getProperty("custNum").getType();
- assertEquals(type.getURI(), "http://example.com/customer");
- assertEquals(type.getName(), "MyIntType");
- assertTrue(type.isDataType());
-
- assertNotNull(customer2);
- assertNotNull(types.getOpenContentProperty("http://example.com/customer", "customer"));
-
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testFastDefineType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- // create a new Type for Customers
- Type customerType = SDOUtil.createType(hc, "http://example.com/customer", "Customer", false);
-
- // create a customer number property
- Property custNumProperty = SDOUtil.createProperty(customerType, "custNum", intType);
- SDOUtil.setPropertyXMLKind(custNumProperty, false);
-
- // create a first name property
- Property firstNameProperty = SDOUtil.createProperty(customerType, "firstName", stringType);
- SDOUtil.setPropertyXMLKind(firstNameProperty, false);
-
- // create a last name property
- Property lastNameProperty = SDOUtil.createProperty(customerType, "lastName", stringType);
- SDOUtil.setPropertyXMLKind(lastNameProperty, false);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- assertNotNull(customer2);
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testDefineSequencedType() throws Exception
- {
-
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type stringType = types.getType("commonj.sdo", "String");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
-
- // Define a new mixed type - MixedQuote
- DataObject mixedQuoteType = factory.create("commonj.sdo", "Type");
- mixedQuoteType.set("uri", "http://www.example.com/mixed");
- mixedQuoteType.set("name", "MixedQuote");
- mixedQuoteType.set("sequenced", Boolean.TRUE);
-
- DataObject symbolProperty = mixedQuoteType.createDataObject("property");
- symbolProperty.set("name", "symbol");
- symbolProperty.set("type", stringType);
-
- DataObject companyNameProperty = mixedQuoteType.createDataObject("property");
- companyNameProperty.set("name", "companyName");
- companyNameProperty.set("type", stringType);
-
- DataObject priceProperty = mixedQuoteType.createDataObject("property");
- priceProperty.set("name", "price");
- priceProperty.set("type", decimalType);
-
- DataObject quotesProperty = mixedQuoteType.createDataObject("property");
- quotesProperty.set("name", "quotes");
- quotesProperty.set("type", mixedQuoteType);
- quotesProperty.set("many", Boolean.TRUE);
- quotesProperty.set("containment", Boolean.TRUE);
-
- types.define(mixedQuoteType);
-
- DataObject quote = factory.create("http://www.example.com/mixed", "MixedQuote");
-
- assertTrue(quote.getType().isSequenced());
-
- Sequence sequence = quote.getSequence();
-
- sequence.addText("\n ");
-
- quote.setString("symbol", "fbnt");
-
- sequence.addText("\n ");
-
- quote.setString("companyName", "FlyByNightTechnology");
-
- sequence.addText("\n some text\n ");
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- sequence.addText("\n more text\n ");
-
- // quote.setBigDecimal("price", new BigDecimal("1000.0"));
- sequence.add("price", new BigDecimal("1000.0"));
-
- sequence.addText("\n");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, "http://www.example.com/mixed", "mixedStockQuote", baos);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(MIXED_XML)));
- }
-
- public void testDefineSequencedOpenType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type stringType = types.getType("commonj.sdo", "String");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
-
- // Define a new mixed type - MixedQuote
- DataObject mixedQuoteType = factory.create("commonj.sdo", "Type");
- mixedQuoteType.set("uri", "http://www.example.com/mixed");
- mixedQuoteType.set("name", "MixedOpenQuote");
- mixedQuoteType.set("sequenced", Boolean.TRUE);
- mixedQuoteType.set("open", Boolean.TRUE);
-
-// DataObject symbolProperty = mixedQuoteType.createDataObject("property");
-// symbolProperty.set("name", "symbol");
-// symbolProperty.set("type", stringType);
-
- DataObject companyNameProperty = mixedQuoteType.createDataObject("property");
- companyNameProperty.set("name", "companyName");
- companyNameProperty.set("type", stringType);
-
- DataObject priceProperty = mixedQuoteType.createDataObject("property");
- priceProperty.set("name", "price");
- priceProperty.set("type", decimalType);
-
- DataObject quotesProperty = mixedQuoteType.createDataObject("property");
- quotesProperty.set("name", "quotes");
- quotesProperty.set("type", mixedQuoteType);
- quotesProperty.set("many", Boolean.TRUE);
- quotesProperty.set("containment", Boolean.TRUE);
-
- types.define(mixedQuoteType);
-
- // Define a global type
- DataObject globalType = factory.create("commonj.sdo", "Type");
- globalType.set("uri", "http://www.example.com/open");
- // Don't set the type's name - null is used for types containing global properties.
-
- DataObject symbolProperty = globalType.createDataObject("property");
- symbolProperty.set("name", "symbol");
- symbolProperty.set("type", stringType);
- symbolProperty.set("containment", Boolean.TRUE);
-
- types.define(globalType);
-
- DataObject quote = factory.create("http://www.example.com/mixed", "MixedOpenQuote");
-
- assertTrue(quote.getType().isSequenced());
-
- Sequence sequence = quote.getSequence();
-
- sequence.addText("\n ");
-
- Type definedGlobalType = types.getType("http://www.example.com/open", "DocumentRoot");
-
- Property definedSymbolProperty = definedGlobalType.getProperty("symbol");
- quote.setString(definedSymbolProperty, "fbnt");
-
- sequence.addText("\n ");
-
- quote.setString("companyName", "FlyByNightTechnology");
-
- sequence.addText("\n some text\n ");
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- sequence.addText("\n more text\n ");
-
- // quote.setBigDecimal("price", new BigDecimal("1000.0"));
- sequence.add("price", new BigDecimal("1000.0"));
-
- sequence.addText("\n");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, "http://www.example.com/mixed", "mixedOpenStockQuote", baos);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(MIXEDOPEN_XML)));
- }
-
-
- public void testDefineOpenType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type stringType = types.getType("commonj.sdo", "String");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
-
- // Define a new open type - OpenQuote
- DataObject openQuoteType = factory.create("commonj.sdo", "Type");
- openQuoteType.set("uri", "http://www.example.com/open");
- openQuoteType.set("name", "OpenQuote");
- openQuoteType.set("open", Boolean.TRUE);
- openQuoteType.setBoolean("open", true);
-
- types.define(openQuoteType);
-
- // Define new type - CompanyType
- DataObject companyType = factory.create("commonj.sdo", "Type");
- companyType.set("uri", "http://www.example.com/open");
- companyType.set("name", "CompanyType");
-
- // Create CompanyType property - "name" as an XSD attribute
- DataObject nameProperty = companyType.createDataObject("property");
- nameProperty.set("name", "name");
- nameProperty.set("type", stringType);
- nameProperty.set("containment", Boolean.TRUE);
- nameProperty.setBoolean(xmlElementProp, false);
-
- types.define(companyType);
-
- // Define open content property - company
- DataObject symbolProperty = factory.create("commonj.sdo", "Property");
- symbolProperty.set("name", "symbol");
- symbolProperty.set("type", stringType);
- types.defineOpenContentProperty("http://www.example.com/open", symbolProperty);
-
- // Define open content property - company
- DataObject companyProperty = factory.create("commonj.sdo", "Property");
- companyProperty.set("name", "company");
- companyProperty.set("type", companyType);
- companyProperty.set("containment", Boolean.TRUE);
- types.defineOpenContentProperty("http://www.example.com/open", companyProperty);
-
- // Define open content property - price
- DataObject priceProperty = factory.create("commonj.sdo", "Property");
- priceProperty.set("name", "price");
- priceProperty.set("type", decimalType);
- types.defineOpenContentProperty("http://www.example.com/open", priceProperty);
-
- // Create DataObject instances
- DataObject openQuote = factory.create("http://www.example.com/open", "OpenQuote");
- assertTrue(openQuote.getType().isOpen());
-
- Property definedSymbolProperty = types.getOpenContentProperty("http://www.example.com/open", "symbol");
- openQuote.set(definedSymbolProperty, "s1");
-
- Property definedCompanyProperty = types.getOpenContentProperty("http://www.example.com/open", "company");
- DataObject company = openQuote.createDataObject(definedCompanyProperty);
- company.setString("name", "FlyByNightTechnology");
-
- Property definedPriceProperty = types.getOpenContentProperty("http://www.example.com/open", "price");
- openQuote.setBigDecimal(definedPriceProperty, new BigDecimal("1000.0"));
-
- assertEquals(definedPriceProperty.getType(), decimalType);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- openQuote,
- "http://www.example.com/open",
- "openStockQuote", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(OPEN_XML)));
- }
-
-/**
- * Type T1 has property t1p of type T2, type T2 has property t2p of type T1.
- * Ensure that the typehelper can handle this circularity
- */
-public void testInterdependentTypes()
- {
- DataObject t1 = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- DataObject t1p = DataFactory.INSTANCE.create("commonj.sdo", "Property");
- DataObject t2 = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- DataObject t2p = DataFactory.INSTANCE.create("commonj.sdo", "Property");
-
- t1.set("name", "T1");
- t1.set("uri", "foo");
- t2.set("name", "T2");
- t2.set("uri", "foo");
-
- t1.getList("property").add(t1p);
- t2.getList("property").add(t2p);
- t1p.set("name", "t1p");
- t1p.set("type", t2);
- t2p.set("name", "t2p");
- t2p.set("type", t1);
-
- List ts = new ArrayList();
- ts.add(t1);
- ts.add(t2);
- List types = hc.getTypeHelper().define(ts);
-
- Type first = (Type)types.get(0);
- Type second = (Type)types.get(1);
-
- Type firstsPropsType = ((Property)first.getProperties().get(0)).getType();
- Type secondPropsType = ((Property)second.getProperties().get(0)).getType();
-
- assertNotNull(first);
- assertNotNull(second);
- assertEquals(first, secondPropsType);
- assertEquals(second, firstsPropsType);
-
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java
deleted file mode 100644
index 65a838bb52..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-
-public class DeserializationNoSchemaTestCase extends TestCase
-{
- HelperContext hc;
-
- TypeHelper th;
-
- private final String xmlStr =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?> " +
- "<simple:stockQuote xmlns:simple=\"www.example.com/simple\"> " +
- "<symbol>fbnt</symbol> " +
- "<companyName>FlyByNightTechnology</companyName> " +
- "<price>1000.0</price> " +
- "<open1>1000.0</open1> " +
- "<high>1000.0</high> " +
- "<low>1000.0</low> " +
- "<volume>1000.0</volume> " +
- "<change1>1000.0</change1> " +
- "<quotes> " +
- "<price>2000.0</price> " +
- "</quotes> " +
- "</simple:stockQuote>";
-
- public void testLoadQuoteXMLDoc() throws IOException
- {
- XMLHelper xmlHelper = hc.getXMLHelper();
-/* URL url = getClass().getResource("/quote.xml");
- InputStream inputStream = url.openStream();*/
- XMLDocument doc = xmlHelper.load(xmlStr);
- DataObject root = doc.getRootObject();
-
- List symbols = root.getList("symbol");
- DataObject symbol = (DataObject)symbols.get(0);
-
- String seqValue = (String)symbol.getSequence().getValue(0);
- assertEquals(seqValue, "fbnt");
-
- //String symbol = root.getString("symbol");
- //System.out.println("symbol: " + symbol);
- }
-
- public void testAnyTypeContainer() throws Exception
- {
- HelperContext hc = SDOUtil.createHelperContext();
-
- URL url = getClass().getResource("/simple.xsd");
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
-
- XMLHelper xmlHelper = hc.getXMLHelper();
- url = getClass().getResource("/quoteInSOAP.xml");
- inputStream = url.openStream();
- XMLDocument doc = xmlHelper.load(inputStream);
- DataObject root = doc.getRootObject();
- DataObject body = (DataObject)root.getList("Body").get(0);
- DataObject stockQuote = (DataObject)body.getList("stockQuote").get(0);
-
- //xmlHelper.save(stockQuote, stockQuote.getType().getURI(), "stockQuote", System.out);
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- ObjectOutputStream oos = SDOUtil.createObjectOutputStream(bos, hc);
- oos.writeObject(stockQuote);
- oos.close();
- bos.close();
-
- ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
- ObjectInputStream ois = SDOUtil.createObjectInputStream(bis, hc);
- DataObject objectCopy = (DataObject)ois.readObject();
- ois.close();
- bis.close();
-
- assertEquals(objectCopy.getString("symbol"), "fbnt");
-
- //xmlHelper.save(objectCopy, stockQuote.getType().getURI(), "stockQuote", System.out);
- }
-
- protected void setUp() throws Exception
- {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java
deleted file mode 100644
index 476f34c328..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-
-public class DotNameTest extends TestCase {
- private final String TEST_MODEL = "/dotNames.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/dotNames";
- private HelperContext hc;
- private TypeHelper th;
- private DataFactory df;
-
- /**
- * Simple Dynamic SDO 2 test.
- */
- public void testDynamic() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "DotNameType");
- DataObject quote = df.create(quoteType);
-
-
- quote.getList("property.2.1").add(TEST_NAMESPACE);
- assertTrue(quote.isSet("property.2.1"));
- assertSame(quote.get("property.2.1.0"), TEST_NAMESPACE);
- quote.getList("foo.bar").add(TEST_NAMESPACE);
- assertTrue(quote.isSet("foo.bar"));
- assertSame(quote.get("foo.bar.0"), TEST_NAMESPACE);
- }
-
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
- df = hc.getDataFactory();
-
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
-
- }
-
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DupElementTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DupElementTestCase.java
deleted file mode 100644
index 9c4f487b6a..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DupElementTestCase.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-//import java.util.regex.MatchResult;
-//import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-
-public class DupElementTestCase extends TestCase {
- HelperContext hc;
-
- private final String TEST_MODEL = "/dupelement.xsd";
- private final String TEST_URI = "http://www.example.com/dupelement";
-
- protected void setUp() throws Exception {
- super.setUp();
-
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
-
- hc = SDOUtil.createHelperContext();
-
- hc.getXSDHelper().define(inputStream, url.toString());
-
- inputStream.close();
- }
-
-
- public void test() {
- Type quoteType = hc.getTypeHelper().getType(TEST_URI, "Quote");
-
- DataObject quote = hc.getDataFactory().create(quoteType);
- quote.set("symbol", "ACME");
- quote.set("companyName", "ACME Corp.");
-
- DataObject quote2 = hc.getDataFactory().create(quoteType);
-
- List quotes = quote.getList("quotes");
- quotes.add(quote2);
-
- try {
- quote.set("quotes.0/symbol", "ACME-CHILD");
- quote.set("quotes.0/companyName", "ACME subsidiary corp.");
- quote.setInt("quotes.0/companyNameInInt", 99);
- quote.setInt("quotes.0/symbolInInt", 55);
- }
- catch (Exception e) {
- fail("Set value on the wrong properties with the same name");
- }
- assert(quote.get("quotes.0/companyName") instanceof String);
- assert(quote.get("quotes.0/symbol") instanceof String);
- assert(quote.get("quotes.0/companyNameInInt") instanceof Integer);
- assert(quote.get("quotes.0/symbolInInt") instanceof Integer);
-
- String doc = hc.getXMLHelper().save(quote, "http://www.example.com/dupelement", "stockQuote");
- //System.out.println(doc);
- assertTrue(
- Pattern.matches("[\\s\\S]*<companyName>[\\s]*ACME Corp.[\\s]*</companyName>[\\s\\S]*",
- doc));
- assertTrue(
- Pattern.matches("[\\s\\S]*<companyName>[\\s]*99[\\s]*</companyName>[\\s\\S]*",
- doc));
- assertTrue(
- Pattern.matches("[\\s\\S]*symbol[\\s]*=[\\s]*\"55\"[\\s\\S]*",
- doc));
- assertTrue(
- Pattern.matches("[\\s\\S]*<symbol>[\\s]*ACME-CHILD[\\s]*</symbol>[\\s\\S]*",
- doc));
-
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java
deleted file mode 100644
index 4c347867e0..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Test to compare data objects created with SDO API with one created from XML
- */
-public class DynamicTypesComparisonTestCase extends TestCase {
- private final String COMMONJ_SDO = "commonj.sdo";
-
- private final String DYNAMIC_ROOT_TYPE_0 = "TestType0";
-
- private final String DYNAMIC_TYPES_SCHEMA_STRING = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<xsd:schema\n"
- + " targetNamespace=\"http://www.example.com/dynamicTypesFromSchemaSimple\"\n"
- + " xmlns:dtfs=\"http://www.example.com/dynamicTypesFromSchemaSimple\"\n"
- + " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n" + " \n"
- + " <xsd:complexType name=\"TestType0\" mixed=\"true\">\n" + " <xsd:sequence>\n"
- + " <xsd:element name=\"aString\" minOccurs=\"0\" maxOccurs=\"unbounded\" type=\"xsd:string\"/>\n"
- + " <xsd:element name=\"aBoolean\" minOccurs=\"0\" maxOccurs=\"unbounded\" type=\"xsd:boolean\"/>\n"
- + " <xsd:element name=\"aFloat\" minOccurs=\"0\" maxOccurs=\"unbounded\" type=\"xsd:float\"/>\n"
- + " </xsd:sequence>\n" + " </xsd:complexType>\n" + " \n"
- + " <xsd:element name=\"testElement0\" type=\"dtfs:TestType0\"/>\n" + " \n" + "</xsd:schema>\n";
-
- private final String DYNAMIC_TYPES_URI = "http://www.example.com/dynamicTypesFromSchemaSimple";
-
- private final String SDO_FROM_API_AND_DYN = "object created with API with dynamic type ";
-
- private final String SDO_FROM_API_AND_REF = "object created with API with type from XSD";
-
- private final String SDO_FROM_XML_AND_REF = "object created with XML with type from XSD";
-
- private final String TEST_XML_DOC_0_STRING = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- + "<dtfs:testElement0 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
- + " xmlns:dtfs=\"http://www.example.com/dynamicTypesFromSchemaSimple\">\n"
- + " <aString>This is a repeated string.</aString>\n" + " <aString>This is a repeated string.</aString>\n"
- + " <aBoolean>true</aBoolean>\n" + " <aBoolean>false</aBoolean>\n" + " <aBoolean>true</aBoolean>\n"
- + " <aBoolean>1</aBoolean>\n" + " <aBoolean>0</aBoolean>\n" + " <aFloat>0</aFloat>\n"
- + " <aFloat>12.5</aFloat>\n" + " <aFloat>0</aFloat>\n" + "</dtfs:testElement0>\n";
-
- private void comparePropertyObjects(String propName, String name1, String name2, Object propObj1, Object propObj2) {
- if (propObj1 == null) {
- if (propObj2 != null) {
- localFail("property " + propName + " for " + name1 + " was null but " + name2 + " was '" + propObj2
- + "'");
- }
- } else if (propObj2 == null) {
- localFail("property " + propName + " for " + name2 + " was null but " + name1 + " was '" + propObj1 + "'");
- } else {
- if (!propObj1.equals(propObj2)) {
- localFail("property " + propName + " for " + name1 + " was '" + propObj1 + "' but " + name2 + " was '"
- + propObj2 + "'");
- }
- }
- }
-
- private void compareSequencesIgnoringWhitespace(String name1, String name2, Sequence sequence1, Sequence sequence2) {
- if (sequence1 == null) {
- if (sequence2 != null) {
- localFail("sequence for " + name1 + " was null but " + name2 + " was not null");
- }
- } else if (sequence2 == null) {
- localFail("sequence for " + name2 + " was null but " + name1 + " was not null");
- } else {
- List trimmedSeq1 = new ArrayList();
- List trimmedSeq2 = new ArrayList();
- trimWhitespaceFromSequence(trimmedSeq1, sequence1);
- trimWhitespaceFromSequence(trimmedSeq2, sequence2);
- int size1 = trimmedSeq1.size();
- int size2 = trimmedSeq2.size();
- if (size1 != size2) {
- localFail("lengths of trimmed sequences differ: " + name1 + " was " + size1 + ", " + name2 + " was "
- + size2);
- } else {
- Object[] objArr1 = trimmedSeq1.toArray();
- Object[] objArr2 = trimmedSeq2.toArray();
- for (int i = 0; i < size1; i++) {
- Object obj1 = objArr1[i];
- Object obj2 = objArr2[i];
- if (obj1 == null) {
- if (obj2 != null) {
- localFail("sequence for " + name1 + " had null element for which " + name2 + " had '" + obj2
- + "'");
- }
- } else if (obj2 == null) {
- localFail("sequence for " + name2 + " had null element for which " + name1 + " had '" + obj1 + "'");
- } else {
- if (!obj1.equals(obj2)) {
- localFail("sequences did not match: " + name1 + " had '" + obj1 + "' but " + name2 + " had '"
- + obj2 + "'");
- }
- }
- }
- }
- }
- }
-
- private void getAndCompareProperties(String propName, DataObject xmlAndRefTypDO, DataObject apiAndDynTypDO,
- DataObject apiAndRefTypDO) {
- Object xmlRefProperty = xmlAndRefTypDO.get(propName);
- Object apiDynProperty = apiAndDynTypDO.get(propName);
- Object apiRefProperty = apiAndRefTypDO.get(propName);
- comparePropertyObjects(propName, SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_DYN, xmlRefProperty, apiDynProperty);
- comparePropertyObjects(propName, SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_REF, xmlRefProperty, apiRefProperty);
- }
-
- private void localFail(String message) {
- // System.err.println(message);
- fail(message);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- private void specifyProperty(DataObject containingTypeDO, String nameString, Type typ, boolean isMany) {
- DataObject subordinateProperty = containingTypeDO.createDataObject("property");
- subordinateProperty.set("name", nameString);
- subordinateProperty.set("type", typ);
- subordinateProperty.setBoolean("many", isMany);
- }
-
- /**
- * test #0 of Data Object primitive datatypes
- */
- public void testDynamicTypesGroup0DO() throws IOException {
- HelperContext hcDO = SDOUtil.createHelperContext();
-
- TypeHelper thDO = hcDO.getTypeHelper();
- DataFactory dfDO = hcDO.getDataFactory();
-
- // create a container object type
- DataObject containerTypeDO = dfDO.create("commonj.sdo", "Type");
- containerTypeDO.set("uri", DYNAMIC_TYPES_URI);
- containerTypeDO.set("name", DYNAMIC_ROOT_TYPE_0);
- containerTypeDO.set("sequenced", Boolean.TRUE);
-
- specifyProperty(containerTypeDO, "aString", thDO.getType(COMMONJ_SDO, "String"), true);
- specifyProperty(containerTypeDO, "aBoolean", thDO.getType(COMMONJ_SDO, "Boolean"), true);
- specifyProperty(containerTypeDO, "aFloat", thDO.getType(COMMONJ_SDO, "Float"), true);
-
- Type containerType = thDO.define(containerTypeDO);
- assertNotNull(containerType);
-
- DataObject doFromApiAndDynTyp = dfDO.create(containerType);
- assertNotNull(doFromApiAndDynTyp);
- doFromApiAndDynTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndDynTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndDynTyp.getList("aFloat").add(new Float(0));
- doFromApiAndDynTyp.getList("aFloat").add(new Float(12.5));
- doFromApiAndDynTyp.getList("aFloat").add(new Float(0));
-
- Type rootType = thDO.getType(DYNAMIC_TYPES_URI, DYNAMIC_ROOT_TYPE_0);
- assertNotNull(rootType);
- assertSame(containerType, rootType);
-
- // now load xml to get a reference data object using schema
- HelperContext hcRef = SDOUtil.createHelperContext();
- XSDHelper xsdHelper = hcRef.getXSDHelper();
- List typeList = xsdHelper.define(DYNAMIC_TYPES_SCHEMA_STRING);
- assertNotNull(typeList);
- TypeHelper thRef = hcRef.getTypeHelper();
- Type rootTypeRef = thRef.getType(DYNAMIC_TYPES_URI, DYNAMIC_ROOT_TYPE_0);
-
- assertNotNull(rootTypeRef);
-
- XMLHelper xhRef = hcRef.getXMLHelper();
- // XMLDocument docRef =
- // xhRef.load(getClass().getResourceAsStream(TEST_XML_DOC_0));
- XMLDocument docRef = xhRef.load(TEST_XML_DOC_0_STRING);
- DataObject doFromXmlAndRefTyp = docRef.getRootObject();
-
- assertNotNull(doFromXmlAndRefTyp);
-
- // create a data object using dynamic API from reference type
- DataFactory dfRef = hcRef.getDataFactory();
- DataObject doFromApiAndRefTyp = dfRef.create(rootTypeRef);
- assertNotNull(doFromApiAndRefTyp);
- doFromApiAndRefTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndRefTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndRefTyp.getList("aFloat").add(new Float(0));
- doFromApiAndRefTyp.getList("aFloat").add(new Float(12.5));
- doFromApiAndRefTyp.getList("aFloat").add(new Float(0));
-
- getAndCompareProperties("aString", doFromXmlAndRefTyp, doFromApiAndDynTyp, doFromApiAndRefTyp);
- getAndCompareProperties("aBoolean", doFromXmlAndRefTyp, doFromApiAndDynTyp, doFromApiAndRefTyp);
- getAndCompareProperties("aFloat", doFromXmlAndRefTyp, doFromApiAndDynTyp, doFromApiAndRefTyp);
- Sequence seqFromXmlAndRefTyp = doFromXmlAndRefTyp.getSequence();
- Sequence seqFromApiAndDynTyp = doFromApiAndDynTyp.getSequence();
- Sequence seqFromApiAndRefTyp = doFromApiAndRefTyp.getSequence();
- compareSequencesIgnoringWhitespace(SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_DYN, seqFromXmlAndRefTyp,
- seqFromApiAndDynTyp);
- compareSequencesIgnoringWhitespace(SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_REF, seqFromXmlAndRefTyp,
- seqFromApiAndRefTyp);
- }
-
- private void trimWhitespaceFromSequence(List trimmedSeq, Sequence sequence) {
- if (sequence != null) {
- for (int i = 0; i < sequence.size(); i++) {
- Object obj = sequence.getValue(i);
- if (obj instanceof String) {
- String str = ((String) obj).trim();
- if (str.length() > 0) {
- trimmedSeq.add(str);
- }
- } else {
- trimmedSeq.add(obj);
- }
- }
- }
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java
deleted file mode 100644
index af4bb4d928..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java
+++ /dev/null
@@ -1,1878 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import com.example.ExpectedException.ExpectedExceptionFactory;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-import junit.framework.TestCase;
-
-/**
- * Verifies the Exception related behavior which is explicitly identified in
- * the 2.1 SDO Specification.
- */
-public class ExpectedExceptionsTestCase extends TestCase {
-
- private static final String TEST_URI = "http://example.com/ExpectedException";
- private static final String TEST_TYPE_NAME = "ExpectedExceptionType";
- private static final String SEQ_TYPE_NAME = "SequenceReadOnlyType";
- private static boolean typeDefined = false;
- private static HelperContext helperContext;
- private static DataObject testDO;
- private static DataObject seqDO;
-
- /**
- * Verifies the following statement.
- * Get<T>(String path) will not throw exceptions other than ClassCastException
- * if it is impossible to convert between the actual and expected types.
- * Note: This test case will not be implmented because it is already covered
- * by testCannnotConvertClassCastException.
- */
-
- public void testGetTStringClassCastExceptionOnly() {
- // This test case will not be implemented.
- }
-
- /**
- * Verifies the following statement.
- * get<T>(Property property) throws an IllegalArgumentException when
- * getInstanceProperties().contains(property) == false.
- */
- public void testGetViaPropertyIllegalArgumentException() {
- DataObject invalidPropDO = helperContext.getDataFactory().create(TEST_URI, SEQ_TYPE_NAME);
- Property invalidProp = invalidPropDO.getInstanceProperty("uniqueName");
-
- try {
- testDO.get(invalidProp);
- fail("get(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("get(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBoolean(invalidProp);
- fail("getBoolean(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(invalidProp);
- fail("getByte(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(invalidProp);
- fail("getChar(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(invalidProp);
- fail("getDouble(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(invalidProp);
- fail("getFloat(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(invalidProp);
- fail("getInt(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(invalidProp);
- fail("getLong(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(invalidProp);
- fail("getShort(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(invalidProp);
- fail("getBytes(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(invalidProp);
- fail("getBigDecimal(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(invalidProp);
- fail("getBigInteger(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(invalidProp);
- fail("getDataObject(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(invalidProp);
- fail("getDate(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(invalidProp);
- fail("getString(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(invalidProp);
- fail("getList(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(property)== false. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verfies the following statement.
- * get<T>(int propertyIndex) throws an IllegalArgumentException when
- * propertIndex <0 or >= getInstanceProerties().size()
- */
- public void testGetViaIndexIllegalArgumentException() {
- int numProps = testDO.getInstanceProperties().size();
-
- try {
- testDO.get(-1);
- fail("get(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("get(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBoolean(-1);
- fail("getBoolean(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(-1);
- fail("getByte(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(-1);
- fail("getChar(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(-1);
- fail("getDouble(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(-1);
- fail("getFloat(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(-1);
- fail("getInt(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(-1);
- fail("getLong(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(-1);
- fail("getShort(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(-1);
- fail("getBytes(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(-1);
- fail("getBigDecimal(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(-1);
- fail("getBigInteger(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(-1);
- fail("getDataObject(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(-1);
- fail("getDate(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(-1);
- fail("getString(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(-1);
- fail("getList(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- testDO.get(numProps);
- fail("get(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("get(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBoolean(numProps);
- fail("getBoolean(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(numProps);
- fail("getByte(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(numProps);
- fail("getChar(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(numProps);
- fail("getDouble(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(numProps);
- fail("getFloat(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(numProps);
- fail("getInt(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(numProps);
- fail("getLong(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(numProps);
- fail("getShort(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(numProps);
- fail("getBytes(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(numProps);
- fail("getBigDecimal(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(numProps);
- fail("getBigInteger(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(numProps);
- fail("getDataObject(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(numProps);
- fail("getDate(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(numProps);
- fail("getString(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(numProps);
- fail("getList(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * Using an Index out of range (index < 0 or >= getList(Property property).size())
- * will result in an IndexOutOfBoundsException.
- */
- public void testListIndexOutOfBoundsException() {
- List list = testDO.getList("listVal");
-
-// Not fixed in TUSCANY-578
-// try {
-// list.get(-1);
-// fail("list.get(-1) should throw an IndexOutOfBoundsException. No Exception was thrown.");
-// } catch (IndexOutOfBoundsException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("list.get(-1) should throw an IndexOutOfBoundsException. " + e.getClass().getName() + " was thrown.");
-// }
-// try {
-// list.get(list.size());
-// fail("list.get(int) should throw an IndexOutOfBoundsException when int >= list.size(). No Exception was thrown.");
-// } catch (IndexOutOfBoundsException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("list.get(int) should throw an IndexOutOfBoundsException when int >= list.size(). " + e.getClass().getName() + " was thrown.");
-// }
-// try {
-// list.remove(-1);
-// fail("list.remove(-1) should throw an IndexOutOfBoundsException. No Exception was thrown.");
-// } catch (IndexOutOfBoundsException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("list.remove(-1) should throw an IndexOutOfBoundsException. " + e.getClass().getName() + " was thrown.");
-// }
- try {
- list.remove(list.size());
- fail("list.remove(int) should throw an IndexOutOfBoundsException when int >= list.size(). No Exception was thrown.");
- } catch (IndexOutOfBoundsException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("list.remove(int) should throw an IndexOutOfBoundsException when int >= list.size(). " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * Modification of a read-only property results in UnsupportedOperationException.
- * This test case is for modifications done through the DataObject API.
- */
- public void testModifyReadOnlyUnsupportedOperationException() {
- Property readOnlyProp = testDO.getInstanceProperty("readOnlyVal");
- List properties = testDO.getInstanceProperties();
- Property currProp;
- int readOnlyIndex = -1, i = 0, size = properties.size();
-
- // Verify the precondition
- assertTrue("readOnlyVal should be read-only.", readOnlyProp.isReadOnly());
-
- while (readOnlyIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(readOnlyProp))
- readOnlyIndex = i;
- i++;
- }
-
- try {
- testDO.set("readOnlyVal", "NewValue");
- fail("DataObject.set(string, value) should throw an UnsupportedOperationException when the Property represented by string is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.set(string, value) should throw an UnsupportedOperationException when the Property represented by string is read-only. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.set(readOnlyProp, "NewValue");
- System.out.println("propname =" + readOnlyProp.getName());
- fail("DataObject.set(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.set(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. " + e.getClass().getName() + " was thrown.");
- }
- assertTrue("The test case could not procede because the index of the read only Property was not found.", readOnlyIndex > -1);
- try {
- testDO.set(readOnlyIndex, "NewValue");
- fail("DataObject.set(index, value) should throw an UnsupportedOperationException when the Property represented by index is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.set(index, value) should throw an UnsupportedOperationException when the Property represented by index is read-only. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- testDO.unset("readOnlyVal");
- fail("DataObject.unset(string) should throw an UnsupportedOperationException when the Property represented by string is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.unset(string) should throw an UnsupportedOperationException when the Property represented by string is read-only. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.unset(readOnlyProp);
- fail("DataObject.unset(property) should throw an UnsupportedOperationException when the Property represented by property is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.unset(property) should throw an UnsupportedOperationException when the Property represented by property is read-only. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.unset(readOnlyIndex);
- fail("DataObject.unset(index) should throw an UnsupportedOperationException when the Property represented by index is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.unset(index) should throw an UnsupportedOperationException when the Property represented by index is read-only. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * Modification of a read-only property results in UnsupportedOperationException.
- * This test case is for modification done through the List API.
- */
- public void testModifyReadOnlyUnsupportedOperationExceptionList() {
- Property readOnlyProp = testDO.getInstanceProperty("readOnlyVal");
- List properties = testDO.getInstanceProperties();
- Property currProp;
- int readOnlyIndex = -1, i = 0, size = properties.size();
-
- while (readOnlyIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(readOnlyProp))
- readOnlyIndex = i;
- i++;
- }
-
-// Not fixed in TUSCANY-578
-// try {
-// List temp = testDO.getList("readOnlyListVal");
-// temp.add("String to add.");
-// fail("DataObject.getList(path).add(value) should throw an UnsupportedOperationException when the Property represented by path is read-only. No Exception was thrown.");
-// } catch (UnsupportedOperationException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("DataObject.getList(path).add(value) should throw an IllegalArgumentException when the Property represented by path is read-only. " + e.getClass().getName() + " was thrown.");
-// }
-// try {
-// Sequence temp = testDO.getSequence();
-// temp.add("readOnlyListVal", "String to add.");
-// fail("DataObject.getSequence().add(path, value) should throw an UnsupportedOperationException when the Property represtend by path is read-only. No Exception was thrown.");
-// } catch (UnsupportedOperationException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("DataObject.getSequence().add(path, value) should throw an UnsupportedOperationException when the Property represtend by path is read-only. " + e.getClass().getName() + " was thrown.");
-// }
- }
-
- /**
- * Verifies the following statement.
- * Modification of a read-only property results in UnsupportedOperationException.
- * This test case is for modification done through the List API.
- */
- public void testModifyReadOnlyUnsupportedOperationExceptionSequence() {
- Property readOnlyProp = seqDO.getInstanceProperty("readOnlyVal");
- List properties = seqDO.getInstanceProperties();
- Property currProp;
- int readOnlyIndex = -1, i = 0, size = properties.size();
-
- while (readOnlyIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(readOnlyProp))
- readOnlyIndex = i;
- i++;
- }
-
-// Not fixed in TUSCANY-578
-// try {
-// Sequence sequence = seqDO.getSequence();
-// sequence.add(readOnlyProp, "New Value");
-// fail("Sequence.add(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. No Exception was thrown.");
-// } catch (UnsupportedOperationException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("Sequence.add(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. " + e.getClass().getName() + " was thrown.");
-// }
- }
-
- /**
- * Verifies the following statement.
- * A ClassCastException results when cannot convert between value and requested Type.
- */
-
- public void testCannotConvertClassCastException() {
- // Attempt conversion from boolean
-
- try {
- testDO.getByte("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getLong("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
- // Attempt conversion from byte
- try {
- testDO.getBoolean("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- // Attempt conversion from character
- try {
- testDO.getBoolean("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getLong("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from double
- try {
- testDO.getBoolean("doubleVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("doubleVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("doubleVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("doubleVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from float
- try {
- testDO.getBoolean("floatVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("floatVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("floatVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("floatVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from int
- try {
- testDO.getBoolean("intVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("intVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("intVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("intVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from long
- try {
- testDO.getBoolean("longVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("longVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("longVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from short
- try {
- testDO.getBoolean("shortVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from bytes
- try {
- testDO.getBoolean("bytesVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getLong("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from decimal
- try {
- testDO.getBoolean("decimalVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from BigInteger
- try {
- testDO.getBoolean("integerVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from date
- try {
- testDO.getBoolean("dateVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- }
-
-
- /**
- * Verifies the following statement.
- * Mixing single-valued and multi-valued Property access results in
- * ClassCastException.
- */
- public void testMixSingleMultiValueClassCastException() {
- Property testedProp = testDO.getInstanceProperty("intVal");
- List properties = testDO.getInstanceProperties();
- Property currProp;
- int testedIndex = -1, i = 0, size = properties.size();
-
- while (testedIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
-
- if (currProp.equals(testedProp))
- testedIndex = i;
- i++;
- }
-
- try {
- testDO.getList("intVal");
- fail("getList(string) should throw a ClassCastException when the property represented by string is single-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(string) should throw a ClassCastException when the property represented by string is single-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(testedProp);
- fail("getList(property) should throw a ClassCastException when the property represented by property is single-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(property) should throw a ClassCastException when the property represented by property is single-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- assertTrue("The test case could not procede because the index of the single-valued Property was not found.", testedIndex > -1);
-
- try {
- testDO.getList(testedIndex);
- fail("getList(index) should throw a ClassCastException when the property represented by index is single-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(index) should throw a ClassCastException when the property represented by index is single-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- testedProp = testDO.getInstanceProperty("listVal");
- testedIndex = -1;
- i = 0;
- while (testedIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(testedProp))
- testedIndex = i;
- i++;
- }
-
- try {
- testDO.getBoolean("listVal");
- fail("getBoolean(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte("listVal");
- fail("getByte(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar("listVal");
- fail("getChar(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble("listVal");
- fail("getDouble(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat("listVal");
- fail("getFloat(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt("listVal");
- fail("getInt(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong("listVal");
- fail("getLong(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort("listVal");
- fail("getShort(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes("listVal");
- fail("getBytes(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal("listVal");
- fail("getBigDecimal(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger("listVal");
- fail("getBigInteger(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject("listVal");
- fail("getDataObject(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate("listVal");
- fail("getDate(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString("listVal");
- fail("getString(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- testDO.getBoolean(testedProp);
- fail("getBoolean(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(testedProp);
- fail("getByte(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(testedProp);
- fail("getChar(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(testedProp);
- fail("getDouble(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(testedProp);
- fail("getFloat(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(testedProp);
- fail("getInt(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(testedProp);
- fail("getLong(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(testedProp);
- fail("getShort(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(testedProp);
- fail("getBytes(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(testedProp);
- fail("getBigDecimal(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(testedProp);
- fail("getBigInteger(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(testedProp);
- fail("getDataObject(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(testedProp);
- fail("getDate(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(testedProp);
- fail("getString(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- assertTrue("The test case could not procede because the index of the multi-valued Property was not found.", testedIndex > -1);
-
- try {
- testDO.getBoolean(testedIndex);
- fail("getBoolean(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(index) should throw a ClassCastException when the property represented by is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(testedIndex);
- fail("getByte(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(testedIndex);
- fail("getChar(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(testedIndex);
- fail("getDouble(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(testedIndex);
- fail("getFloat(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(testedIndex);
- fail("getInt(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(testedIndex);
- fail("getLong(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(testedIndex);
- fail("getShort(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(testedIndex);
- fail("getBytes(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(testedIndex);
- fail("getBigDecimal(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(testedIndex);
- fail("getBigInteger(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(testedIndex);
- fail("getDataObject(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(testedIndex);
- fail("getDate(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(testedIndex);
- fail("getString(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /*
- /**
- * Verifies the following statement.
- * Establishing circular containment results in an IllegalArgumentException.
- * Note: This test case will not be implemented because it has been determined
- * that the statement will be removed from the spec.
- */
- /*
- public void testContainmentCycleIllegalArgumentException() {
- // This test case will not be implemented.
- }
- */
-
- /**
- * Verifies the following statement.
- * An empty DataGraph can have a root assigned by the createRootObject() methods.
- * However, if a previous root DataObject exists than an IllegalStateException is
- * thrown.
- */
- public void testCreateRootObjectAgainIllegalStateException() {
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type type = testDO.getType();
-
- // verify the initial condition
- assertNull("The DataGraph should have been created without a root DataObject.", dataGraph.getRootObject());
- assertNotNull("DataObject.getType() returned null.", type);
-
- dataGraph.createRootObject(type);
-
- // verify the pre-condition
- assertNotNull("The DataGraph.createRootObject() should have created a root DataObject for the DataGraph.", dataGraph.getRootObject());
-
- try {
- dataGraph.createRootObject(type);
- fail("DataGraph.createRootObject(Type) should throw an IllegalStateException a root Object already exists for the DataGraph. No Exception was thrown.");
- } catch (IllegalStateException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataGraph.createRootObject(Type) should throw an IllegalStateException a root Object already exists for the DataGraph. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * DataFactory.create() throws an IllegalArgumentException if the instanceClass does
- * not correspond to a Type this factory can instantiate.
- */
- public void testDataFactoryCreateIllegalArgumentException() {
- try {
- helperContext.getDataFactory().create(java.lang.Object.class);
- fail("DataFactory.create(Object) should throw an IllegalArgumentException when it cannot instantiate the Type specified. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataFactory.create(Object) should throw an IllegalArgumentException when it cannot instantiate the Type specified. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- helperContext.getDataFactory().create(commonj.sdo.DataObject.class);
- fail("DataFactory.create(DataObject) should throw an IllegalArgumentException when it cannot instantiate the Type specified. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataFactory.create(DataObject) should throw an IllegalArgumentException when it cannot instantiate the Type specified. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- helperContext.getDataFactory().create(commonj.sdo.ChangeSummary.class);
- fail("DataFactory.create(ChangeSummary) should throw an IllegalArgumentException when it cannot instantiate the Type specified. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataFactory.create(ChangeSummary) should throw an IllegalArgumentException when it cannot instantiate the Type specified. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Defines the Type the first time through.
- */
- public void setUp() {
- if (!typeDefined) {
- helperContext = SDOUtil.createHelperContext();
-// createWithXSD(helperContext);
-// createDynamically(helperContext);
- createStatically(helperContext);
- typeDefined = true;
- }
-// testDO = helperContext.getDataFactory().create(TEST_URI, TEST_TYPE_NAME);
-// seqDO = helperContext.getDataFactory().create(TEST_URI, SEQ_TYPE_NAME);
- testDO = (DataObject) ExpectedExceptionFactory.INSTANCE.createExpectedExceptionType();
- seqDO = (DataObject) ExpectedExceptionFactory.INSTANCE.createSequenceReadOnlyType();
- }
-
- public static void createStatically(HelperContext hc) {
- ExpectedExceptionFactory.INSTANCE.register(hc);
- }
-
- public static void createWithXSD(HelperContext hc) {
- // Populate the meta data for the test model
- URL url = ExpectedExceptionsTestCase.class.getResource("/expectedExceptions.xsd");
- try {
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- } catch(IOException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * createDynamically() creates the SDO Types using the TypeHelper. This
- * method should be kept in synch with the XSD used for
- * createDynamicallyWithStaticResources. The same XSD is used for the static
- * generation of SDO Types using XSD2JavaGenerator.
- */
- public static void createDynamically(HelperContext hc) {
-
- TypeHelper types = hc.getTypeHelper();
- Type stringType = types.getType("commonj.sdo", "String");
- Type intType = types.getType("commonj.sdo", "Int");
- Type booleanType = types.getType("commonj.sdo", "Boolean");
- Type byteType = types.getType("commonj.sdo", "Byte");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
- Type floatType = types.getType("commonj.sdo", "Float");
- Type doubleType = types.getType("commonj.sdo", "Double");
- Type dateType = types.getType("commonj.sdo", "Date");
- Type shortType = types.getType("commonj.sdo", "Short");
- Type longType = types.getType("commonj.sdo", "Long");
- Type bytesType = types.getType("commonj.sdo", "Bytes");
- Type integerType = types.getType("commonj.sdo", "Integer");
- Type charType = types.getType("commonj.sdo", "Character");
-
- DataObject testType = hc.getDataFactory().create("commonj.sdo", "Type");
- testType.set("uri", TEST_URI);
- testType.set("name", TEST_TYPE_NAME);
-
- DataObject stringProperty = testType.createDataObject("property");
- stringProperty.set("name", "stringVal");
- stringProperty.set("type", stringType);
-
- DataObject booleanProperty = testType.createDataObject("property");
- booleanProperty.set("name", "booleanVal");
- booleanProperty.set("type", booleanType);
-
- DataObject byteProperty = testType.createDataObject("property");
- byteProperty.set("name", "byteVal");
- byteProperty.set("type", byteType);
-
- DataObject decimalProperty = testType.createDataObject("property");
- decimalProperty.set("name", "decimalVal");
- decimalProperty.set("type", decimalType);
-
- DataObject intProperty = testType.createDataObject("property");
- intProperty.set("name", "intVal");
- intProperty.set("type", intType);
-
- DataObject floatProperty = testType.createDataObject("property");
- floatProperty.set("name", "floatVal");
- floatProperty.set("type", floatType);
-
- DataObject doubleProperty = testType.createDataObject("property");
- doubleProperty.set("name", "doubleVal");
- doubleProperty.set("type", doubleType);
-
- DataObject dateProperty = testType.createDataObject("property");
- dateProperty.set("name", "dateVal");
- dateProperty.set("type", dateType);
-
- DataObject shortProperty = testType.createDataObject("property");
- shortProperty.set("name", "shortVal");
- shortProperty.set("type", shortType);
-
- DataObject longProperty = testType.createDataObject("property");
- longProperty.set("name", "longVal");
- longProperty.set("type", longType);
-
- DataObject childrenProperty = testType.createDataObject("property");
- childrenProperty.set("name", "listVal");
- childrenProperty.setBoolean("many", true);
- childrenProperty.set("type", stringType);
-
- DataObject bytesProperty = testType.createDataObject("property");
- bytesProperty.set("name", "bytesVal");
- bytesProperty.set("type", bytesType);
-
- DataObject integerProperty = testType.createDataObject("property");
- integerProperty.set("name", "integerVal");
- integerProperty.set("type", integerType);
-
- DataObject charProperty = testType.createDataObject("property");
- charProperty.set("name", "charVal");
- charProperty.set("type", charType);
-
- DataObject readOnlyProperty = testType.createDataObject("property");
- readOnlyProperty.set("name", "readOnlyVal");
- readOnlyProperty.set("type", stringType);
- readOnlyProperty.setBoolean("readOnly", true);
-
- DataObject readOnlyListProperty = testType.createDataObject("property");
- readOnlyListProperty.set("name", "readOnlyListVal");
- readOnlyListProperty.set("type", stringType);
- readOnlyListProperty.setBoolean("readOnly", true);
- readOnlyListProperty.setBoolean("many", true);
-
- types.define(testType);
-
- DataObject seqType = hc.getDataFactory().create("commonj.sdo", "Type");
- seqType.set("uri", TEST_URI);
- seqType.set("name", SEQ_TYPE_NAME);
- seqType.setBoolean("sequenced", true);
-
- DataObject seqROProperty = seqType.createDataObject("property");
- seqROProperty.set("name", "readOnlyVal");
- seqROProperty.set("type", stringType);
- seqROProperty.setBoolean("readOnly", true);
-
- DataObject seqROListProperty = seqType.createDataObject("property");
- seqROListProperty.set("name", "readOnlyListVal");
- seqROListProperty.set("type", stringType);
- seqROListProperty.setBoolean("readOnly", true);
- seqROListProperty.setBoolean("many", true);
-
- DataObject uniqueNameProperty = seqType.createDataObject("property");
- uniqueNameProperty.set("name", "uniqueName");
- uniqueNameProperty.set("type", stringType);
-
- types.define(seqType);
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java
deleted file mode 100644
index e630a8f903..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLHelper;
-
-public class FormTestCase extends TestCase {
- XMLHelper xmlHelper;
- Map options;
-
- protected void setUp() throws Exception {
- super.setUp();
- HelperContext hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(
-"<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
-"</schema>");
- xmlHelper = hc.getXMLHelper();
- options = new HashMap();
- /*
- * turn off default behaviour of tolerating malformed xml
- * tests using this option and bad xml should demonstrate failure to load
- */
- options.put(SDOUtil.XML_LOAD_LaxForm, new Integer(0));
- }
-
- void load(String xml, Object options) throws IOException {
- assertNotNull(xmlHelper.load(new StringReader(xml), null, options).getRootObject());
- }
-
- /*
- * this malformed xml will load, as it uses the default lax approach
- */
- public void testLaxForm() throws IOException {
- load(
-"<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\" qualifiedAttribute=\"q\">"+
- "<p:unqualifiedElement/>"+
- "<qualifiedElement/>"+
-"</p:root>", null);
- }
-
- /*
- * any malformed xml through this method will fail to load
- * since the options instance member disables lax processing
- */
- protected final void load(String xml) throws IOException {
- try {
- load(xml, options);
- fail();
- } catch (Resource.IOWrappedException featureNotFound) {
- }
- }
-
- public void testUnqualifiedAttribute() throws IOException {
- load("<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\"/>");
- }
-
- public void testQualifiedAttribute() throws IOException {
- load("<p:root xmlns:p=\"testNS\" qualifiedAttribute=\"q\"/>");
- }
-
- public void testUnqualifiedElement() throws IOException {
- load(
-"<p:root xmlns:p=\"testNS\">"+
- "<p:unqualifiedElement/>"+
-"</p:root>");
- }
-
- public void testQualifiedElement() throws IOException {
- load(
-"<p:root xmlns:p=\"testNS\">"+
- "<qualifiedElement/>"+
-"</p:root>");
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java
deleted file mode 100644
index 14e81b6a32..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.DataHelper;
-import commonj.sdo.helper.EqualityHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import commonj.sdo.impl.HelperProvider;
-
-public class HelperContextTestCase extends TestCase {
-
- public void testDefaultHelperContext() {
- HelperContext defaultHelperContext = HelperProvider.getDefaultContext();
-
- assertNotNull(defaultHelperContext.getCopyHelper());
- assertEquals(defaultHelperContext.getCopyHelper(), CopyHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getDataFactory());
- assertEquals(defaultHelperContext.getDataFactory(), DataFactory.INSTANCE);
- assertNotNull(defaultHelperContext.getDataHelper());
- assertEquals(defaultHelperContext.getDataHelper(), DataHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getEqualityHelper());
- assertEquals(defaultHelperContext.getEqualityHelper(), EqualityHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getTypeHelper());
- assertEquals(defaultHelperContext.getTypeHelper(), TypeHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getXMLHelper());
- assertEquals(defaultHelperContext.getXMLHelper(), XMLHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getXSDHelper());
- assertEquals(defaultHelperContext.getXSDHelper(), XSDHelper.INSTANCE);
-
- }
-
- public void testCreateHelperContext() {
- HelperContext hc = SDOUtil.createHelperContext();
- assertNotNull(hc.getCopyHelper());
- assertNotNull(hc.getDataFactory());
- assertNotNull(hc.getDataHelper());
- assertNotNull(hc.getEqualityHelper());
- assertNotNull(hc.getTypeHelper());
- assertNotNull(hc.getXMLHelper());
- assertNotNull(hc.getXSDHelper());
-
- assertNotSame(hc.getDataFactory(), DataFactory.INSTANCE);
- assertNotSame(hc.getTypeHelper(), TypeHelper.INSTANCE);
- assertNotSame(hc.getXMLHelper(), XMLHelper.INSTANCE);
- assertNotSame(hc.getXSDHelper(), XSDHelper.INSTANCE);
- // the other "stateless" helpers may be the same as the singletons
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ImplSpecificTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ImplSpecificTestCase.java
deleted file mode 100644
index d5117c3fed..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/ImplSpecificTestCase.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import junit.framework.TestCase;
-
-public class ImplSpecificTestCase extends TestCase {
-
- public void testThreadSafeHashmapIsAvailable() {
- // this will fail if using Java 1.4.x and the backport library has been removed from the classpath.
- // It is here because ChangeSummaryImpl contains the same logic for finding a threadsafe hashmap implementation
- // but it will fallback to a synchronized hashmap
- // if no threadsafe hashmap is available, hence no test failure will occur, but a performance hit
- // will. This test is here top show a failure with java 1.4 to ensure that no-one removes the backport
- // dependency introduced for TUSCANY-1006.
- assertNotNull(loadConcurrentHashMapClazz());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- }
-
- private static String[] concurrentHashMapClazzNames = new String[] {
- "java.util.concurrent.ConcurrentHashMap",
- "edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap"};
-
- private static Class loadConcurrentHashMapClazz()
- {
- Class mapClazz = null;
- for (int i = 0; i < concurrentHashMapClazzNames.length; i++)
- {
- String concurrentHashMapClazzName = concurrentHashMapClazzNames[i];
- try
- {
- mapClazz = Class.forName(concurrentHashMapClazzName, true, Thread.currentThread().getContextClassLoader());
- }
- catch (Exception ignored) {}
- if (mapClazz != null)
- {
- break;
- }
- try
- {
- mapClazz = Class.forName(concurrentHashMapClazzName);
- }
- catch (Exception ignored) {}
- if (mapClazz != null)
- {
- break;
- }
- }
- // System.out.println("threadsafe hashmap = " + mapClazz.getName());
- return mapClazz;
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java
deleted file mode 100644
index 1eef4ea657..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.*;
-import commonj.sdo.helper.*;
-
-public class IsManyTestCase extends TestCase {
- private final String TEST_MODEL = "/open.xsd";
- private final String TEST_MODEL1ANY = "/open1any.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/open";
- private final String TEST_NAMESPACE1ANY = "http://www.example.com/open1any";
-
- public void testIsMany() {
- Property priceProperty = XSDHelper.INSTANCE.getGlobalProperty(TEST_NAMESPACE, "price", true);
-
- Type quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "OpenQuote");
- DataObject quote = DataFactory.INSTANCE.create(quoteType);
- assertTrue( SDOUtil.isMany(priceProperty, quote));
-
- quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE1ANY, "OpenQuote");
- quote = DataFactory.INSTANCE.create(quoteType);
- assertFalse( SDOUtil.isMany(priceProperty, quote));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
-
- // Populate the meta data for the test (Stock Quote) model with maxOccurs=1 <any>
- url = getClass().getResource(TEST_MODEL1ANY);
- inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java
deleted file mode 100644
index df69555d76..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-public class JavaSerializeDeserializeTestCase extends TestCase
-{
-
- public void testScopeDefinedSerializeDeserializeOfDataObject()
- {
- HelperContext hc = SDOUtil.createHelperContext();
- Object originalDataObject = createDynamically(hc,true);
-
- runSerializeDeserialize((DataObject)originalDataObject, hc);
- }
-
- public void testScopeDefinedSerializeDeserializeOfDataGraph()
- {
- HelperContext hc = SDOUtil.createHelperContext();
- DataGraph testDO = (DataGraph)createDynamically(hc,false);
-
- runSerializeDeserializeWithDataGraph(testDO, hc);
- }
-
- private String xsdString = "<xsd:schema targetNamespace=\"http://www.example.com/simple\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:simple=\"http://www.example.com/simple\">" +
- "<xsd:element name=\"company\" type=\"simple:Company\"/>" +
- "<xsd:complexType name=\"Company\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"symbol\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"companyName\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"employees\" type=\"simple:Employee\" minOccurs=\"0\" maxOccurs=\"unbounded\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
-
- "<xsd:complexType name=\"Employee\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"employeeID\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"employeeName\" type=\"xsd:string\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
- "</xsd:schema>";
-
- public void testLargePayload()
- {
- HelperContext hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(xsdString);
- DataObject company = hc.getDataFactory().create("http://www.example.com/simple", "Company");
- company.setString("symbol", "EXAMPLE");
- company.setString("companyName", "Example Inc.");
- List employees = company.getList("employees");
- DataObject employee;
- for (int i=0; i<1000; i++) {
- employee = hc.getDataFactory().create("http://www.example.com/simple", "Employee");
- employee.setString("employeeID", "ID #" + i);
- employee.setString("employeeName", "Empoyee #" + i);
- employees.add(employee);
- }
- try {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- ObjectOutputStream oos = SDOUtil.createObjectOutputStream(bos, hc);
- oos.writeObject(company);
- oos.flush();
- byte[] bytes = bos.toByteArray();
- oos.close();
- bos.close();
-
- ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
- ObjectInputStream ois = SDOUtil.createObjectInputStream(bis, hc);
- ois.readObject();
- ois.close();
- bis.close();
- }
- catch (Exception e) {
- e.printStackTrace();
- fail("An Exception occurred while deserializing the output of the serialization: " + e.toString());
- }
- }
-
-
- /**
- * Serialize the DataObject then Deserialize the output.
- * to testDO.
- * @param testDO
- * @param scope
- */
-
- public void runSerializeDeserialize(DataObject originalDataObject, HelperContext hc)
- {
-
- populateFields(originalDataObject);
- DataObject tempDO = null;
- ByteArrayOutputStream baos = null;
-
- try
- {
- baos = serialize(originalDataObject, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while serializing the DataObject: " + e.toString());
- }
-
- try
- {
- tempDO = deserialize(baos, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while deserializing the output of the serialization: " + e.toString());
- }
-
- assertNotNull("Deserialization returned a null value.", tempDO);
-
- assertSame(tempDO.getType(), originalDataObject.getType());
-
-
- }
-
- /**
- * Serialize the DataGraph
- * @param dataGraph
- * @param scope
- */
- public void runSerializeDeserializeWithDataGraph(DataGraph dataGraph, HelperContext hc)
- {
- DataObject originalDataObject = dataGraph.getRootObject();
- populateFields(originalDataObject);
- DataObject tempDO = null;
- ByteArrayOutputStream baos = null;
-
- try
- {
- baos = serialize(dataGraph, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while serializing the DataObject: " + e.toString());
- }
-
- try
- {
- tempDO = deserialize(baos, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while deserializing the output of the serialization: " + e.toString());
- }
-
- assertNotNull("Deserialization returned a null value.", tempDO);
-
- assertSame(tempDO.getType(), originalDataObject.getType());
-
-
-
- }
-
- /**
- * serializeDataObject is a private method to be called by the other methods
- * in the ScrenarioLibrary
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- public ByteArrayOutputStream serialize(Object object, HelperContext hc) throws IOException
- {
- //FileOutputStream fos = new FileOutputStream("temp");
- ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
- ObjectOutputStream out = SDOUtil.createObjectOutputStream(byteArrayOutput, hc);
- out.writeObject(object);
- out.close();
- return byteArrayOutput;
- }
-
- /**
- * deserializeDataObject is a private method to be called by the other
- * methods in the ScrenarioLibrary
- *
- * @param fileName
- * @return
- * @throws IOException
- * @throws ClassNotFoundException
- */
- public DataObject deserialize(ByteArrayOutputStream baos, HelperContext hc) throws IOException, ClassNotFoundException
- {
- //FileInputStream fis = new FileInputStream("temp");
- ObjectInputStream input = null;
- ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(baos.toByteArray());
-
- input = SDOUtil.createObjectInputStream(byteArrayInput, hc);
-
- Object object = input.readObject();
- input.close();
- if(object instanceof DataGraph)
- return ((DataGraph)object).getRootObject();
- else
- return (DataObject)object;
- }
-
- /**
- * populateFields uses set<Type> to set each of the fields in the
- * DataObject. It is used to ensure a known set of expected values that are
- * not other than the default values for the various fields.
- *
- * @param testDO
- * @throws ExpectedConditionError
- */
- public static void populateFields(DataObject testDO)
- {
-
- testDO.setString("stringVal", "Testing");
-
- }
- /**
- * createDynamically() creates the SDO Types using the TypeHelper. This method should be kept in
- * synch with the XSD used for createDynamicallyWithStaticResources. The same XSD is used for
- * the static generation of SDO Types using XSD2JavaGenerator.
- */
- public Object createDynamically(HelperContext hc, boolean createDataObject)
- {
-
- TypeHelper types = hc.getTypeHelper();
- DataFactory dataFactory = hc.getDataFactory();
-
- Type stringType = types.getType("commonj.sdo", "String");
-
- DataObject testType = dataFactory.create("commonj.sdo", "Type");
- testType.set("uri", "http://www.example.com/api_test");
- testType.set("name", "APITest");
-
- DataObject stringProperty = testType.createDataObject("property");
- stringProperty.set("name", "stringVal");
- stringProperty.set("type", stringType);
-
-
- List types2Define = new ArrayList();
- types2Define.add(testType);
- List apiXSD = types.define(types2Define);
- Type apiXSDType = (Type) apiXSD.get(0);
-
- if(createDataObject)
- return dataFactory.create(apiXSDType);;
-
- // Create an empty DataGraph and attach the document root to it. Otherwise, where is the documentRoot ?
- DataGraph dataGraph = SDOUtil.createDataGraph();
- /*DataObject testDO =*/ dataGraph.createRootObject(apiXSDType);
-
-
- return dataGraph;
-
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java
deleted file mode 100644
index bd66949c89..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.tuscany.sdo.test;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-import commonj.sdo.*;
-import commonj.sdo.helper.*;
-import commonj.sdo.impl.HelperProvider;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-import java.util.HashMap;
-
-/**
- * The follow test cases are based upon code snipets in the SDO specification.
- * They are also implemented as working samples in the sample-sdo artifact
- *
- */
-public class JiraTestCases extends TestCase {
-
- /**
- * Bogus company namespace
- */
- public static final String COMPANY_NAMESPACE = "company.xsd";
-
- /**
- * previously defined XSD file used
- */
- public static final String COMPANY_XSD = "/company.xsd";
-
- /**
- * XML file containing DataGraph representing a company. This xml file
- * conforms to the company model defined in 'Complete DataGraph for Company
- * Example' section of the SDO specification
- */
- public static final String COMPANY_DATAGRAPH_XML = "/companyDataGraphGenerated.xml";
-
- /**
- * Generated DataGraph
- * {@link org.apache.tuscany.samples.sdo.company.CreateCompany}
- */
- public static final String COMPANY_DATAOBJECT_XML = "/companyGenerated.xml";
-
- /**
- * Defines xsd resource contained within jar file for PurchaseOrder
- * DataObject
- */
- public static final String PO_XSD_RESOURCE = "/po.xsd";
-
- /**
- * Defines xml resource contained within jar file that is used to populate
- * PurchaseOrder DataObjects
- */
- public static final String PO_XML_RESOURCE = "/po.xml";
-
- /**
- * previously created XSD file used
- */
- public static final String LETTER_XSD = "/letter.xsd";
-
- /**
- * JIRA Details : Add a method to SDOUtil to return all Types associated
- * with a specific URI
- */
- public void test_TUSCANY583() {
- HelperContext hc = HelperProvider.getDefaultContext();
- XSDHelper xsdHelper = hc.getXSDHelper();
- // define some types
- try {
- xsdHelper.define(getClass().getResourceAsStream(
- PO_XSD_RESOURCE), null);
-
- xsdHelper.define(getClass().getResourceAsStream(
- COMPANY_XSD), null);
-
- createDynamicType();
-
- String[] expectedPoTypeNames = {"item", "Items",
- "PurchaseOrderType", "quantity", "SKU", "USAddress"};
-
- String[] expectedCompanyTypeNames = {"EmployeeType", "DepartmentType", "CompanyType"};
-
- String[] expectedCustomerTypeNames = {"Customer"};
-
- confirmTypes("http://www.example.com/PO", expectedPoTypeNames);
- confirmTypes("company.xsd", expectedCompanyTypeNames);
- confirmTypes("http://example.com/customer",
- expectedCustomerTypeNames);
-
- } catch (Exception e) {
- fail("Unexpected error " + e.toString());
- e.printStackTrace();
- }
-
- }
-
- /**
- * Dynamically define customer Type
- */
- public static void createDynamicType() {
- // get an instance of the type helper
- TypeHelper typeH = TypeHelper.INSTANCE;
- Type intType = typeH.getType("commonj.sdo", "Int");
- Type stringType = typeH.getType("commonj.sdo", "String");
-
- // create a new Type for Customers
- DataObject customerType = DataFactory.INSTANCE.create("commonj.sdo",
- "Type");
-
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
-
- // create a first name property
- DataObject firstNameProperty = customerType
- .createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
-
- // now define the Customer type so that customers can be made
- typeH.define(customerType);
- }
-
- private void confirmTypes(String uri, String[] expectedTypeNames) {
- HelperContext hc = HelperProvider.getDefaultContext();
- try {
-
- List actualTypes = SDOUtil.getTypes(hc, uri);
- assertNotNull("Testing that list of types for " + uri
- + " is not null", actualTypes);
-
- // test the number of Types
- assertEquals("Testing number of types for " + uri,
- expectedTypeNames.length, actualTypes.size());
-
- // put into a HashMap for easy lookup
- HashMap typeLookup = new HashMap();
- for (int i = 0; i < actualTypes.size(); i++) {
- Type type = (Type) actualTypes.get(i);
- typeLookup.put(type.getName(), type);
- }
-
- // check that we have the same types
- for (int i = 0; i < expectedTypeNames.length; i++) {
- assertTrue("testing that type " + expectedTypeNames[i]
- + "was returned for " + uri, typeLookup
- .containsKey(expectedTypeNames[i]));
- }
-
- } catch (Exception e) {
- fail("Exception caught comparing expected types to actual types for uri "
- + uri + ":" + e.toString());
- e.printStackTrace();
- }
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java
deleted file mode 100644
index 885153b62e..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class MetadataInstancePropertiesTestCase extends TestCase
-{
- private final String TEST_MODEL = "/TypePropertyMetadataInfo.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/metadata/retrievaltest";
- private final String DYNAMIC_TEST_NAMESPACE = "http://www.example.com/metadata/dynamicmetadata";
-
- private HelperContext helperContext;
- private TypeHelper typeHelper;
- private XSDHelper xsdHelper;
- private DataFactory dataFactory;
-
- public void testXSDTypeProperties()
- {
- // Note: We won't check the actual value of XSD instance properties yet since they're not defined
- // in the SDO spec yet.
-
- //displayInstanceProperties(TEST_NAMESPACE);
-
- Type type = typeHelper.getType(TEST_NAMESPACE, "Example");
- assertTrue(getInstanceProperty(type, "appinfo") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- Property property = type.getProperty("number");
- assertTrue(getInstanceProperty(property, "appinfo") != null);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- property = type.getProperty("Exampletype");
- assertTrue(getInstanceProperty(property, "appinfo") != null);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- type = typeHelper.getType(TEST_NAMESPACE, "ExampleNumber");
- assertTrue(getInstanceProperty(type, "appinfo") != null);
- assertTrue(getInstanceProperty(type, "minInclusive") != null);
- assertTrue(getInstanceProperty(type, "maxInclusive") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- type = typeHelper.getType(TEST_NAMESPACE, "ExampleRating");
- assertTrue(getInstanceProperty(type, "enumeration") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- type = typeHelper.getType(TEST_NAMESPACE, "PhoneNumber");
- assertTrue(getInstanceProperty(type, "appinfo") != null);
- assertTrue(getInstanceProperty(type, "length") != null);
- assertTrue(getInstanceProperty(type, "pattern") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
- }
-
- public void testDynamicTypeProperties()
- {
- // Create dynamic model
- Type intType = typeHelper.getType("commonj.sdo", "Int");
- Type stringType = typeHelper.getType("commonj.sdo", "String");
-
- Property openContentProperty = typeHelper.getOpenContentProperty("commonj.sdo/xml", "xmlElement");
-
- // create a new Type for Customers
- DataObject customerType = dataFactory.create("commonj.sdo", "Type");
- customerType.set("uri", DYNAMIC_TEST_NAMESPACE);
- customerType.set("name", "Customer");
- customerType.set(openContentProperty, Boolean.TRUE);
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
-
- // create a first name property
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.set(openContentProperty, Boolean.FALSE);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
-
- // now define the Customer type so that customers can be made
- typeHelper.define(customerType);
-
- //displayInstanceProperties(DYNAMIC_TEST_NAMESPACE);
-
- Type type = typeHelper.getType(DYNAMIC_TEST_NAMESPACE, "Customer");
- assertTrue(getInstanceProperty(type, "xmlElement") == openContentProperty);
- assertTrue(type.get(openContentProperty) == Boolean.TRUE);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- Property property = type.getProperty("custNum");
- assertTrue(getInstanceProperty(property, "xmlElement") == null);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- property = type.getProperty("firstName");
- assertTrue(getInstanceProperty(property, "xmlElement") == openContentProperty);
- assertTrue(property.get(openContentProperty) == Boolean.FALSE);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- property = type.getProperty("lastName");
- assertTrue(getInstanceProperty(property, "xmlElement") == null);
- assertTrue(getInstanceProperty(property, "foo") == null);
- }
-
- //Amita
- public void testEnumProperty()
- {
- Type type = typeHelper.getType(TEST_NAMESPACE, "ExampleRating");
- assertTrue(getInstanceProperty(type, "enumeration") != null);
- List enumFacet = SDOUtil.getEnumerationFacet(type);
- assertEquals(3, enumFacet.size());
- assertEquals("", enumFacet.get(0));
- assertEquals("Good", enumFacet.get(1));
- assertEquals("Bad", enumFacet.get(2));
- }
-
- //Amita
- public void testPatternProperty()
- {
- Type type = typeHelper.getType(TEST_NAMESPACE, "PhoneNumber");
- assertTrue(getInstanceProperty(type, "pattern") != null);
- List patternFacet = SDOUtil.getPatternFacet(type);
- assertEquals(2, patternFacet.size());
- assertEquals("\\d{3}-\\d{4}", patternFacet.get(0));
- assertEquals("\\d{6}-\\d{8}", patternFacet.get(1));
- }
-
- public void setUp() throws Exception
- {
- super.setUp();
-
- helperContext = SDOUtil.createHelperContext();
-
- typeHelper = helperContext.getTypeHelper();
- xsdHelper = helperContext.getXSDHelper();
- dataFactory = helperContext.getDataFactory();
-
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
-
- xsdHelper.define(inputStream, url.toString());
- inputStream.close();
- }
-
- public Property getInstanceProperty(Type type, String propertyName)
- {
- return getInstanceProperty(type.getInstanceProperties(), propertyName);
- }
-
- public Property getInstanceProperty(Property property, String propertyName)
- {
- return getInstanceProperty(property.getInstanceProperties(), propertyName);
- }
-
- private Property getInstanceProperty(List instProps, String propertyName)
- {
- for (int i = 0; i < instProps.size(); i++)
- {
- Property prop = (Property)instProps.get(i);
- if (propertyName.equals(prop.getName()))
- return prop;
- }
- return null;
- }
-
- private void displayInstanceProperties(Type type)
- {
- System.out.println("Type's name: " + type.getName());
- List instProps = type.getInstanceProperties();
- for (int i = 0; i < instProps.size(); i++)
- {
- Property prop = (Property)instProps.get(i);
- System.out.println("\tType's instance property name: " + prop.getName());
- System.out.println("\tType's instance property value: \"" + type.get(prop) + "\"");
- }
- }
-
- private void displayInstanceProperties(Property prop)
- {
- System.out.println("\tProperty's name: " + prop.getName());
- List propsInstProps = prop.getInstanceProperties();
- for (int j = 0; j < propsInstProps.size(); j++)
- {
- Property propsInstProp = (Property)propsInstProps.get(j);
- System.out.println("\t\tProperty's instance property name: " + propsInstProp.getName());
- System.out.println("\t\tProperty's instance property value: \"" + prop.get(propsInstProp) + "\"");
- }
- }
-
- public void displayInstanceProperties(String namespace)
- {
- List types = SDOUtil.getTypes(helperContext, namespace);
- for (int i = 0; i < types.size(); i++)
- {
- Type type = (Type)types.get(i);
- displayInstanceProperties(type);
- List properties = type.getProperties();
- for (int j = 0; j < properties.size(); j++)
- {
- Property property = (Property)properties.get(j);
- displayInstanceProperties(property);
- }
- System.out.println("**************************************");
- }
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java
deleted file mode 100644
index 806662a83c..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-
-public class MixedTypeTestCase extends TestCase {
- private final String TEST_MODEL = "/mixed.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/mixed";
- private final String TEST_DATA = "/mixed.xml";
-
- /**
- * Sequenced type SDO 2 test.
- */
- public void testSequencedType() throws IOException {
- Type quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "MixedQuote");
- DataObject quote = DataFactory.INSTANCE.create(quoteType);
-
- Sequence sequence = quote.getSequence();
-
- sequence.add("\n ");
-
- quote.setString("symbol", "fbnt");
-
- sequence.add("\n ");
-
- quote.setString("companyName", "FlyByNightTechnology");
-
- sequence.add("\n some text\n ");
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- sequence.add("\n more text\n ");
-
- // quote.setBigDecimal("price", new BigDecimal("1000.0"));
- sequence.add("price", new BigDecimal("1000.0"));
-
- sequence.add("\n");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- XMLHelper.INSTANCE.save(quote, TEST_NAMESPACE, "mixedStockQuote", baos);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java
deleted file mode 100644
index 544672a8b1..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class NeverStaleChangeSummaryTestCase extends TestCase {
- private final String TEST_MODEL = "/simpleWithChangeSummary.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simpleCS";
-
- /**
- * Simple ChangeSummary test.
- */
- public void testChangeSummary() throws Exception {
- Type quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "RootQuote");
- DataObject quote = DataFactory.INSTANCE.create(quoteType);
-
- ChangeSummary cs = quote.getChangeSummary();
-
- // Begin logging changes
- //
- cs.beginLogging();
-
- DataObject child = quote.createDataObject("quotes");
- cs.isCreated(child);
- child = quote.createDataObject("quotes");
- assertTrue(cs.isCreated(child));
-
- // Stop logging changes and print the resulting data graph to stdout
- //
- cs.endLogging();
-
- cs.isCreated(child);
-
- cs.undoChanges();
-
- assertFalse(cs.isCreated(child));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NotificationTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NotificationTestCase.java
deleted file mode 100644
index 5d1637865b..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/NotificationTestCase.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.api.Event;
-import org.apache.tuscany.sdo.impl.ListenerBase;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * Test DataObject Property value change notification
- */
-public class NotificationTestCase extends TestCase {
-
- HelperContext hc;
- TypeHelper th;
-
- private class Observer extends ListenerBase {
-
- private int notificationCount;
- private Event lastEvent;
-
- public int getNotificationCount() {
- return notificationCount;
- }
-
- public Event getLastEvent() {
- return lastEvent;
- }
-
- public Observer() {
- notificationCount = 0;
- }
-
- public void eventNotification(Event e) {
-
- if (e.getEventType() != Event.REMOVE_LISTENER) {
- notificationCount++;
- lastEvent = e;
- }
- }
-
- }
-
- public void testTransitions() throws IOException {
- final String TEST_MODEL = "/simple.xsd";
- final String TEST_NAMESPACE = "http://www.example.com/simple";
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
- Type quoteType = th.getType(TEST_NAMESPACE, "Quote");
- DataObject quote = hc.getDataFactory().create(quoteType);
- Observer o = new Observer();
- SDOUtil.addChangeListener(quote, o);
-
- Event e;
-
- String firstName = "FlyByNightTechnology";
-
- int changeCount = 0;
-
- quote.setString("companyName", firstName);
- assertEquals(++changeCount, o.getNotificationCount());
- e = o.getLastEvent();
- assertEquals(Event.SET, e.getEventType());
- assertEquals(null, e.getOldValue());
- assertFalse(e.wasSet());
-
- quote.setString("companyName", "FBNT");
- e = o.getLastEvent();
- assertTrue(e.wasSet());
-
- assertEquals(firstName, e.getOldValue());
- assertEquals(++changeCount, o.getNotificationCount());
- assertEquals("companyName", e.getProperty().getName());
-
- SDOUtil.removeChangeListener(quote, o);
-
- quote.setString("companyName", "3rdValue");
- e = o.getLastEvent();
-
- assertEquals(firstName, e.getOldValue());
- assertEquals(changeCount /* no ++ */, o.getNotificationCount());
-
- SDOUtil.addChangeListener(quote, o);
-
- quote.setString("companyName", "3rdValue");
- assertEquals(++changeCount, o.getNotificationCount());
- e = o.getLastEvent();
- assertTrue(e.isTouch());
- assertTrue(e.wasSet());
-
- quote.unset("companyName");
- assertEquals(++changeCount, o.getNotificationCount());
- e = o.getLastEvent();
- assertTrue(e.wasSet());
-
-
- quote.set("companyName", "4thValue");
- assertEquals(++changeCount, o.getNotificationCount());
- e = o.getLastEvent();
- assertFalse(e.wasSet());
-
- assertEquals(Event.NO_INDEX, e.getPosition());
-
- DataObject child = quote.createDataObject("quotes");
- assertEquals(++changeCount, o.getNotificationCount());
- e = o.getLastEvent();
- assertFalse(e.wasSet());
- assertEquals(0, e.getPosition());
- assertEquals(Event.ADD, e.getEventType());
-
- DataObject child2 = quote.createDataObject("quotes");
- assertEquals(++changeCount, o.getNotificationCount());
- e = o.getLastEvent();
- assertTrue(e.wasSet()); // the quotes property was previously set to a non empty list
- assertEquals(1, e.getPosition());
-
- child2.setString("companyName", "subsidiary");
-
- assertEquals(changeCount /* no ++ */, o.getNotificationCount()); // not monitoring the child
-
- quote.getList("quotes").clear();
- e = o.getLastEvent();
- assertEquals(++changeCount, o.getNotificationCount());
- assertEquals(Event.REMOVE_MANY, e.getEventType());
-
- List newList = new ArrayList();
-
- newList.add(hc.getDataFactory().create(quoteType));
- newList.add(hc.getDataFactory().create(quoteType));
-
- quote.getList("quotes").addAll(newList);
- e = o.getLastEvent();
- assertEquals(++changeCount, o.getNotificationCount());
- assertEquals(Event.ADD_MANY, e.getEventType());
-
-
-
-
- }
-
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
-
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java
deleted file mode 100644
index 3e5a410aa3..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.Iterator;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-
-public class OpenTypeTestCase extends TestCase {
- private HelperContext hc;
- private TypeHelper th;
- private XSDHelper xsdh;
- private XMLHelper xmlh;
- private DataFactory df;
- private final String TEST_MODEL = "/open.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/open";
- private final String TEST_DATA = "/open.xml";
-
- /**
- * Open content SDO 2 test.
- */
- public void testOpenType() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "OpenQuote");
- DataObject quote = df.create(quoteType);
-
- quote.setString("symbol", "s1");
-
- for (Iterator iter = quote.getInstanceProperties().iterator(); iter.hasNext();) {
- iter.next();
- }
-
- Property companyProperty = xsdh.getGlobalProperty(TEST_NAMESPACE, "company", true);
- DataObject company = quote.createDataObject(companyProperty);
- company.setString("name", "FlyByNightTechnology");
-
- Property priceProperty = xsdh.getGlobalProperty(TEST_NAMESPACE, "price", true);
- quote.getList(priceProperty).add(new BigDecimal("1000.0"));
-
- for (Iterator iter = quote.getInstanceProperties().iterator(); iter.hasNext();) {
- iter.next();
- }
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlh.save(quote, TEST_NAMESPACE, "openStockQuote", baos);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
- }
-
-
- public void testOpenType_Tuscany_396() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "OpenQuote2");
- DataObject quote = df.create(quoteType);
-
- Property priceProperty = xsdh.getGlobalProperty(TEST_NAMESPACE, "price", true);
- // the importance of this is that the maxOccurs=1 attribute on the xsd:any
- // allows is to use the !isMany getters and setters for open content
- quote.set(priceProperty, new BigDecimal("1000.0"));
-
- }
-
- /**
- * Although this behavior is not mandated by the SDO 2.1 specification it should be possible
- * to demand-create DataObject properties by calling createDataObject(String name).
- * The behavior should be the same as that specified in section 9.10 for parsing XML that has
- * no types defined e.g. the property should be created as an open, sequenced type with many=true.
- *
- * See https://issues.apache.org/jira/browse/TUSCANY-1397 for more information.
- *
- * @throws Exception
- */
- public void testOnDemandCreateDataObject() throws Exception {
- // define an open type with no properties
- DataObject typeDef = df.create( "commonj.sdo", "Type" );
- typeDef.set( "uri", TEST_NAMESPACE );
- typeDef.set( "name", "testOnDemandCreateDataObjectType" );
- typeDef.setBoolean( "open", true );
- Type t = th.define( typeDef );
-
- // create a DataObject that uses this type
- DataObject testDO = df.create(t);
-
- // create an on-demand property
- DataObject foo = testDO.createDataObject( "foo" );
- assertNotNull( "createDataObject() demand created a DataObject", foo );
- assertTrue( "DataObject is open", foo.getType().isOpen() );
- assertTrue( "DataObject is sequenced", foo.getType().isSequenced() );
- }
-
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
- xsdh = hc.getXSDHelper();
- df = hc.getDataFactory();
- xmlh = hc.getXMLHelper();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java
deleted file mode 100644
index eaec327007..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.util.*;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.helper.*;
-
-public class SchemaLocationTestCase extends TestCase {
- private final String TEST_XML_DOCUMENT = "/SchemaLocationTestCase.xml";
-
- /**
- * This method will load an xml document consisting of a xsi:schemaLocation and xsi:noNamespaceSchemaLocation defined. It will then use the
- * XMLDocument API to get and set the schemaLocation property.
- *
- * @throws IOException
- */
- public void testSchemaLocation() throws IOException {
- // load the xml document which has xsi:noNamespaceSchemaLocation and xsi:schemaLocation defined
- Map options = new HashMap();
- options.put(SDOUtil.XML_LOAD_SCHEMA, Boolean.TRUE);
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT), "whatever", options);
- assertNotSame(doc.getRootObject().getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java
deleted file mode 100644
index e02ace5d2a..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XSDHelper;
-
-public class SequenceTestCase extends TestCase {
- HelperContext hc;
- Type type;
- Property localA, choiceX, choiceY, localB, open;
-
- String xml = "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\" xmlns:tns=\"testNS\">"+
- "<element name=\"open\" type=\"string\"/>"+
- "<complexType name=\"Sequenced\">"+
- "<sequence>"+
- "<element name=\"localA\" type=\"string\" maxOccurs=\"unbounded\"/>"+
- "<choice maxOccurs=\"unbounded\">"+
- "<element name=\"choiceX\" type=\"string\"/>"+
- "<element name=\"choiceY\" type=\"string\"/>"+
- "</choice>"+
- "<element name=\"localB\" type=\"string\"/>"+
- "<any namespace=\"##any\" maxOccurs=\"unbounded\"/>"+
- "</sequence>"+
- "<anyAttribute/>"+
- "</complexType>"+
- "</schema>";
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(xml);
- type = hc.getTypeHelper().getType("testNS", "Sequenced");
- localA = type.getProperty("localA");
- choiceX = type.getProperty("choiceX");
- choiceY = type.getProperty("choiceY");
- localB = type.getProperty("localB");
- XSDHelper xsdHelper = hc.getXSDHelper();
- open = xsdHelper.getGlobalProperty("testNS", "open", true);
- }
-
- public void testSequenced() {
- DataObject dataObject = hc.getDataFactory().create(type);
- Sequence sequence = dataObject.getSequence();
-
- sequence.add(choiceX, "x1");
- sequence.add(0, localA, "a");
- sequence.add(choiceY, "y1");
- sequence.add(choiceX, "x2");
- sequence.add(localB, "b");
- sequence.add(open, "open");
-
- List list = dataObject.getList(localA);
- assertEquals(list.size(), 1);
- assertEquals(list.get(0), "a");
-
- assertEquals(dataObject.getString(localB), "b");
-
- list = dataObject.getList(choiceX);
- assertEquals(list.size(), 2);
- assertEquals(list.get(0), "x1");
- assertEquals(list.get(1), "x2");
-
- list = dataObject.getList(choiceY);
- assertEquals(list.size(), 1);
- assertEquals(list.get(0), "y1");
-
- list = dataObject.getList(open);
- assertEquals(list.size(), 1);
- assertEquals(list.get(0), "open");
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java
deleted file mode 100644
index a8e00d5eb2..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-
-public class SerializeTypesTestCase extends TestCase {
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- public void testSerializeTypesRoundTrip() throws Exception {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- // create a new Type for Addresses
- DataObject addressType = factory.create("commonj.sdo", "Type");
- addressType.set("uri", "http://example.com/address");
- addressType.set("name", "Address");
-
- // create a address street property
- DataObject addrStProperty = addressType.createDataObject("property");
- addrStProperty.set("name", "addrSt");
- addrStProperty.set("type", stringType);
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo", "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
-
- // create a first name property
- DataObject firstNameProperty = customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
-
- // create an address property
- DataObject addressProperty = customerType.createDataObject("property");
- addressProperty.set("name", "address");
- addressProperty.set("type", addressType);
- addressProperty.setBoolean("containment", true);
-
- // now define the Address and Customer type so that addresses and customers can be made
- List types2define = new ArrayList();
- types2define.add(addressType);
- types2define.add(customerType);
- List typesDefined = types.define(types2define);
-
- // Create an empty data graph and add a root object, an instance of customerType
- //
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type customerTypeDefined = (Type) typesDefined.get(1);
- DataObject customer1 = dataGraph.createRootObject(customerTypeDefined);
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject address = customer1.createDataObject("address");
- address.set("addrSt", "577 Airport Blvd");
-
- SDOUtil.registerDataGraphTypes(dataGraph, typesDefined);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.saveDataGraph(dataGraph, baos, null);
- //SDOUtil.saveDataGraph(dataGraph, System.out, null);
-
- byte[] serialized = baos.toByteArray();
- ByteArrayInputStream bais = new ByteArrayInputStream(serialized);
- DataGraph loadedDataGraph = SDOUtil.loadDataGraph(bais, null, hc);
-
- DataObject loadedRootObject = loadedDataGraph.getRootObject();
- assertNotSame(loadedRootObject.getType(), customer1.getType());
-
- // EqualityHelper requires same Type
- assertEquals(loadedRootObject.getInt("custNum"), customer1.getInt("custNum"));
- assertEquals(loadedRootObject.get("firstName"), customer1.get("firstName"));
- assertEquals(loadedRootObject.get("lastName"), customer1.get("lastName"));
- DataObject loadedAddress = loadedRootObject.getDataObject("address");
- assertEquals(loadedAddress.get("addrSt"), address.get("addrSt"));
- }
-
- private String xsdString =
- "<xsd:schema targetNamespace=\"http://www.example.com/simple\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:simple=\"http://www.example.com/simple\"> " +
- "<xsd:element name=\"bytesTypeTest\" type=\"simple:BytesTypeTest\"/> " +
- "<xsd:complexType name=\"BytesTypeTest\"> " +
- "<xsd:sequence> " +
- "<xsd:element name=\"base64Binary\" type=\"xsd:base64Binary\"/> " +
- "<xsd:element name=\"hexBinary\" type=\"xsd:hexBinary\"/> " +
- "</xsd:sequence> " +
- "</xsd:complexType> " +
- "</xsd:schema>";
-
-
- private String testString = "Hello World";
- private String testStringInBase64 = "SGVsbG8gV29ybGQ=";
- private String testStringInHex = "48656C6C6F20576F726C64";
-
- public void testSerializeXSDBase64BinaryRoundTrip() throws Exception {
- hc.getXSDHelper().define(xsdString);
-
- DataObject typeTest = hc.getDataFactory().create("http://www.example.com/simple", "BytesTypeTest");
- typeTest.setBytes("base64Binary", testString.getBytes());
-
- String output = hc.getXMLHelper().save(typeTest, typeTest.getType().getURI(), "bytesTypeTest");
-
- String startTag = "<base64Binary>";
- String endTag = "</base64Binary>";
- int start = output.indexOf(startTag) + startTag.length();
- int end = output.indexOf(endTag);
-
- String value = output.substring(start, end);
- assertEquals(testStringInBase64, value);
-
- XMLDocument xmlDoc = hc.getXMLHelper().load(output);
- typeTest = xmlDoc.getRootObject();
- assertEquals(testString, new String(typeTest.getBytes("base64Binary")));
- }
-
- public void testSerializeXSDHexBinaryRoundTrip() throws Exception {
- hc.getXSDHelper().define(xsdString);
-
- DataObject typeTest = hc.getDataFactory().create("http://www.example.com/simple", "BytesTypeTest");
- typeTest.setBytes("hexBinary", testString.getBytes());
-
- String output = hc.getXMLHelper().save(typeTest, typeTest.getType().getURI(), "bytesTypeTest");
-
- String startTag = "<hexBinary>";
- String endTag = "</hexBinary>";
- int start = output.indexOf(startTag) + startTag.length();
- int end = output.indexOf(endTag);
-
- String value = output.substring(start, end);
- assertEquals(testStringInHex, value);
-
- XMLDocument xmlDoc = hc.getXMLHelper().load(output);
- typeTest = xmlDoc.getRootObject();
- assertEquals(testString, new String(typeTest.getBytes("hexBinary")));
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java
deleted file mode 100644
index 36f038d779..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-public class SimpleCopyTestCase extends TestCase {
-
- private final String TEST_MODEL = "/simple.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
- private final String QUOTE_XML = "/quote.xml";
- private final String SHALLOW_QUOTE_XML = "/shallowquote.xml";
-
- public void testSimpleCopy() throws IOException {
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(QUOTE_XML));
- DataObject sdo = doc.getRootObject();
-
- DataObject copiedSdo = CopyHelper.INSTANCE.copyShallow(sdo);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- XMLHelper.INSTANCE.save(copiedSdo, TEST_NAMESPACE, "stockQuote", baos);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(SHALLOW_QUOTE_XML)));
- assertFalse(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(QUOTE_XML)));
-
- copiedSdo = CopyHelper.INSTANCE.copy(sdo);
-
- baos.reset();
- XMLHelper.INSTANCE.save(copiedSdo, TEST_NAMESPACE, "stockQuote", baos);
- assertFalse(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(SHALLOW_QUOTE_XML)));
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(QUOTE_XML)));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java
deleted file mode 100644
index 55aae9d396..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-
-public class SimpleDynamicTestCase extends TestCase {
- private final String TEST_MODEL = "/simple.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
- private final String QUOTE_XML = "/quote.xml";
-
- //private final String TEST_MODEL2 = "/simple2.xsd";
- //private final String TEST_NAMESPACE2 = "http://www.example.com/simple2";
- //private final String QUOTE_XML2 = "/quote2.xml";
-
- HelperContext hc;
- TypeHelper th;
-
- /**
- * Simple Dynamic SDO 2 test.
- */
- public void testDynamic() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "Quote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- hc.getXMLHelper().save(quote, TEST_NAMESPACE, "stockQuote", baos);
-
- assertFalse(quote.isSet("undefined"));
- assertSame(quote.get("undefined"), null);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(QUOTE_XML)));
- }
-
- /*
- public void dontTestResolveXSDWithoutSchemaLocation() throws IOException {
-
- URL url = getClass().getResource(TEST_MODEL2);
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, null);
- inputStream.close();
-
- Type quote2Type = th.getType(TEST_NAMESPACE2, "Quote2");
- DataObject quote2 = hc.getDataFactory().create(quote2Type);
-
- quote2.setString("symbol", "fbnt");
- quote2.setString("companyName", "FlyByNightTechnology");
- quote2.setBigDecimal("price", new BigDecimal("1000.0"));
- quote2.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote2.setBigDecimal("high", new BigDecimal("1000.0"));
- quote2.setBigDecimal("low", new BigDecimal("1000.0"));
- quote2.setDouble("volume", 1000);
- quote2.setDouble("change1", 1000);
-
- DataObject child = quote2.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- hc.getXMLHelper().save(quote2, TEST_NAMESPACE2, "stockQuote", System.out);
- }
- */
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
-
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java
deleted file mode 100644
index 8db9ba9d04..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.EqualityHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import commonj.sdo.impl.HelperProvider;
-import junit.framework.TestCase;
-
-public class SimpleEqualityTestCase extends TestCase {
- private static final String TEST_MODEL = "/simple.xsd";
- private static final String QUOTE_XML = "/quote.xml";
- private static final String SHALLOW_QUOTE_XML = "/shallowquote.xml";
-
- public void testEquality() throws IOException {
-
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(QUOTE_XML));
- DataObject sdo = doc.getRootObject();
-
- doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(SHALLOW_QUOTE_XML));
- DataObject shallowSdo = doc.getRootObject();
-
- boolean result = EqualityHelper.INSTANCE.equalShallow(sdo, shallowSdo);
- assertTrue(result);
-
- result = EqualityHelper.INSTANCE.equal(sdo, shallowSdo);
- assertFalse(result);
- }
-
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-
- public void testBytesEquality() {
- // Dynamically create a type
- HelperContext scope = HelperProvider.getDefaultContext();
- TypeHelper types = scope.getTypeHelper();
- Type BytesType = types.getType("commonj.sdo", "Bytes");
- DataObject customerType = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- customerType.set("uri", "http://example.com/simple");
- customerType.set("name", "Simple");
- DataObject BytesProperty = customerType.createDataObject("property");
- BytesProperty.set("name", "BytesVal");
- BytesProperty.set("type", BytesType);
- types.define(customerType);
-
- // Create two instances
- DataObject obj1 = DataFactory.INSTANCE.create("http://example.com/simple", "Simple");
- DataObject obj2 = DataFactory.INSTANCE.create("http://example.com/simple", "Simple");
-
- obj1.setBytes("BytesVal", new byte[] {120, 80, -40});
- obj2.setBytes("BytesVal", new byte[] {120, 80, -40});
-
- assertTrue( scope.getEqualityHelper().equal(obj1, obj2) );
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java
deleted file mode 100644
index fb729ea125..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public final class SubstitutionValuesTestCase extends TestCase
-{
- public void test() throws IOException
- {
- HelperContext hc = SDOUtil.createHelperContext();
- URL url = getClass().getResource("/SubstitutionValues.xsd");
- XSDHelper xsdHelper = hc.getXSDHelper();
- xsdHelper.define(url.openStream(), url.toString());
-
- XMLHelper xmlHelper = hc.getXMLHelper();
- DataObject loadedObject =
- xmlHelper.load(getClass().getResourceAsStream("/substitutionValues1.xml")).getRootObject();
- Type type = loadedObject.getType();
- Sequence groupHeadSubstitutionValues = SDOUtil.getSubstitutionValues(loadedObject, type.getProperty("groupHead"));
- assertNotNull(groupHeadSubstitutionValues);
- assertNull(SDOUtil.getSubstitutionValues(loadedObject, type.getProperty("nonGroupHead")));
-
- String nsURI = "http://www.apache.org/tuscany/SubstitutionValues";
- DataObject createdObject = hc.getDataFactory().create(nsURI, "TestObject");
- Property groupMemberProperty = xsdHelper.getGlobalProperty(nsURI, "groupMember", true);
- createdObject.set(groupMemberProperty, groupHeadSubstitutionValues.getValue(0));
- createdObject.setString("nonGroupHead", loadedObject.getString("nonGroupHead"));
-
- assertTrue(hc.getEqualityHelper().equal(loadedObject, createdObject));
-
- ByteArrayOutputStream loadedBaos = new ByteArrayOutputStream();
- xmlHelper.save(loadedObject, nsURI, "testObject", loadedBaos);
- ByteArrayOutputStream createdBaos = new ByteArrayOutputStream();
- xmlHelper.save(createdObject, nsURI, "testObject", createdBaos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(loadedBaos.toByteArray()),
- new ByteArrayInputStream(createdBaos.toByteArray())));
-
- loadedObject =
- xmlHelper.load(getClass().getResourceAsStream("/substitutionValues2.xml")).getRootObject();
- groupHeadSubstitutionValues = SDOUtil.getSubstitutionValues(loadedObject, type.getProperty("groupHead"));
-
- createdObject = hc.getDataFactory().create(nsURI, "TestObject");
- createdObject.set("groupHead", groupHeadSubstitutionValues.getValue(0));
- createdObject.setString("nonGroupHead", loadedObject.getString("nonGroupHead"));
-
- assertTrue(hc.getEqualityHelper().equal(loadedObject, createdObject));
- }
-} \ No newline at end of file
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
deleted file mode 100644
index a7ab3f954a..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-public class TestUtil
-{
- private static void getAllNodes(NodeList nodeList, List nodes)
- {
- int length = nodeList.getLength();
- if (length == 0)
- {
- return;
- }
-
- for (int i=0; i<length; i++)
- {
- Node node = nodeList.item(i);
- nodes.add(node);
- getAllNodes(node.getChildNodes(), nodes);
- } // for
- }
-
- private static boolean equalNamedNodeMap(NamedNodeMap mapA, NamedNodeMap mapB) {
- if (mapA == null) {
- if (mapB == null) {
- return true;
- }
- return false;
- }
- if (mapA.getLength() != mapB.getLength()) {
- return false;
- }
- for (int i = 0; i < mapA.getLength(); i++) {
- Node trialNode = mapA.item(i);
- if (trialNode == null) {
- return false;
- }
- Node checkNode = mapB.getNamedItem(trialNode.getNodeName());
- if (checkNode == null) {
- return false;
- }
- if (!equalNode(trialNode, checkNode)) {
- return false;
- }
- }
- return true;
- }
-
- private static boolean equalNode(Node nodeA, Node nodeB) {
- if (nodeA == null) {
- if (nodeB == null) {
- return true;
- }
- return false;
- }
- // following is intended to provide same function as 1.5 isEqualNode()
- if (nodeA.getNodeType() != nodeB.getNodeType()) {
- return false;
- }
- if (!equalString(nodeA.getNodeName(), nodeB.getNodeName())) {
- return false;
- }
- if (!equalString(nodeA.getLocalName(), nodeB.getLocalName())) {
- return false;
- }
- if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) {
- return false;
- }
- if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) {
- return false;
- }
- if (!equalString(nodeA.getPrefix(), nodeB.getPrefix())) {
- return false;
- }
- if (!equalString(nodeA.getNodeValue(), nodeB.getNodeValue())) {
- return false;
- }
- if (!equalNamedNodeMap(nodeA.getAttributes(), nodeB.getAttributes())) {
- return false;
- }
- if (!equalNodeList(nodeA.getChildNodes(), nodeB.getChildNodes())) {
- return false;
- }
- if (nodeA.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
- DocumentType documentTypeA = (DocumentType) nodeA;
- DocumentType documentTypeB = (DocumentType) nodeB;
- if (!equalString(documentTypeA.getPublicId(), documentTypeB.getPublicId())) {
- return false;
- }
- if (!equalString(documentTypeA.getSystemId(), documentTypeB.getSystemId())) {
- return false;
- }
- if (!equalString(documentTypeA.getInternalSubset(), documentTypeB.getInternalSubset())) {
- return false;
- }
- if (!equalNamedNodeMap(documentTypeA.getEntities(), documentTypeB.getEntities())) {
- return false;
- }
- if (!equalNamedNodeMap(documentTypeA.getNotations(), documentTypeB.getNotations())) {
- return false;
- }
- }
- return true;
- }
-
- private static boolean equalNodeList(NodeList nodeListA, NodeList nodeListB) {
- if (nodeListA == null) {
- if (nodeListB == null) {
- return true;
- }
- return false;
- }
- return equalNodes(nodeListA, nodeListB);
- }
-
- private static boolean equalString(String stringA, String stringB) {
- if (stringA == null) {
- if (stringB == null) {
- return true;
- }
- return false;
- }
- return stringA.equals(stringB);
- }
-
- private static boolean equalNodes(NodeList sourceNodeList, NodeList targetNodeList)
- {
- ArrayList sourceNodes = new ArrayList();
- ArrayList targetNodes = new ArrayList();
-
- getAllNodes(sourceNodeList, sourceNodes);
- getAllNodes(targetNodeList, targetNodes);
-
- int sourceLength = sourceNodes.size();
- int targetLength = targetNodes.size();
-
- if (sourceLength != targetLength)
- {
- return false;
- }
-
- for (int i=0; i<sourceLength; i++)
- {
- Node sourceNode = (Node)sourceNodes.get(i);
- Node targetNode = (Node)targetNodes.get(i);
-
- /* remove comment when migrated to Java 1.5
- if (!sourceNode.isEqualNode(targetNode))
- {
- return false;
- }
- */
- // following is intended as 1.4 equivalent of isEqualNode()
- if (!equalNode(sourceNode, targetNode))
- {
- return false;
- }
- } // for
-
- return true;
- }
-
- public static boolean equalXmlFiles(URL source, URL target)
- {
- try {
- return equalXmlFiles(source.openStream(), target.openStream());
- }
- catch (IOException e)
- {
- return false;
- }
- }
-
- public static boolean equalXmlFiles(InputStream sourceStream, URL target)
- {
- try {
- return equalXmlFiles(sourceStream, target.openStream());
- }
- catch (IOException e)
- {
- return false;
- }
- }
-
- public static boolean equalXmlFiles(URL source, InputStream targetStream)
- {
- try {
- return equalXmlFiles(source.openStream(), targetStream);
- }
- catch (IOException e)
- {
- return false;
- }
- }
-
- public static boolean equalXmlFiles(InputStream sourceStream, InputStream targetStream)
- {
- DocumentBuilder builder;
- Document sourceDocument;
- Document targetDocument;
-
- try {
- builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- sourceDocument = builder.parse(sourceStream);
- targetDocument = builder.parse(targetStream);
- }
- catch (FactoryConfigurationError fce) {
- return false;
- }
- catch (ParserConfigurationException ce) {
- return false;
- }
- catch (SAXException se)
- {
- return false;
- }
- catch (IOException ie)
- {
- return false;
- }
-
- sourceDocument.normalize();
- targetDocument.normalize();
-
- /* remove comment when migrated to Java 1.5
- if (!sourceDocument.getXmlVersion().equals(targetDocument.getXmlVersion()))
- {
- return false;
- }
-
- String sourceXmlEncoding = sourceDocument.getXmlEncoding();
- String targetXmlEncoding = targetDocument.getXmlEncoding();
-
- if (sourceXmlEncoding != null && targetXmlEncoding != null &&
- sourceXmlEncoding.equalsIgnoreCase(targetXmlEncoding))
- {
- // continue
- }
- else
- {
- return false;
- }
- */
-
- NodeList sourceNodes = sourceDocument.getChildNodes();
- NodeList targetNodes = targetDocument.getChildNodes();
-
- return equalNodes(sourceNodes, targetNodes);
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java
deleted file mode 100644
index 80dce4aaeb..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java
+++ /dev/null
@@ -1,1007 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.test;
-
-import junit.framework.TestCase;
-
-
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.TimeZone;
-
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class TypeConversionTestCase extends TestCase
-{
- // The following constants are used to get Types from XSDs
-
- private static final String TEST_MODEL = "/api_test.xsd";
- private static final String TEST_NAMESPACE = "http://www.example.com/api_test";
-
- // The following constants describe the index for the fields in api_test.xsd.
-
- private static final int STRING_VAL_INDEX = 0;
- private static final int BOOLEAN_VAL_INDEX = 1;
- private static final int BYTE_VAL_INDEX = 3;
- private static final int DECIMAL_VAL_INDEX = 5;
- private static final int INT_VAL_INDEX = 7;
- private static final int FLOAT_VAL_INDEX = 8;
- private static final int DOUBLE_VAL_INDEX = 9;
- private static final int DATE_VAL_INDEX = 10;
- private static final int SHORT_VAL_INDEX = 11;
- private static final int LONG_VAL_INDEX = 12;
- private static final int BYTES_VAL_INDEX = 14;
- private static final int INTEGER_VAL_INDEX = 15;
- private static final int CHAR_VAL_INDEX = 16;
-
- // The following variables are Method arrays. Each array refers to a specific get<Type>, but within
- // the array exist the get<Type>(index), get<Type>(property), and get<Type>(path). Rather than
- // referring to each of the three in every circumstance, the more compact array appears.
- private static ConversionType TO_BOOLEAN = new ConversionType("Boolean", boolean.class );
- private static ConversionType TO_BYTE = new ConversionType("Byte", byte.class );
- private static ConversionType TO_CHAR = new ConversionType("Char", char.class );
- private static ConversionType TO_DOUBLE = new ConversionType("Double", double.class );
- private static ConversionType TO_FLOAT = new ConversionType("Float", float.class );
- private static ConversionType TO_INT = new ConversionType("Int", int.class );
- private static ConversionType TO_LONG = new ConversionType("Long", long.class );
- private static ConversionType TO_SHORT = new ConversionType("Short", short.class );
- private static ConversionType TO_BYTES = new ConversionType("Bytes", byte[].class );
- private static ConversionType TO_BIGDECIMAL = new ConversionType("BigDecimal", java.math.BigDecimal.class );
- private static ConversionType TO_BIGINTEGER = new ConversionType("BigInteger", java.math.BigInteger.class );
- private static ConversionType TO_DATAOBJECT = new ConversionType("DataObject", commonj.sdo.DataObject.class );
- private static ConversionType TO_DATE = new ConversionType("Date", java.util.Date.class );
- private static ConversionType TO_STRING = new ConversionType("String", java.lang.String.class );
- private static ConversionType TO_LIST = new ConversionType("List", java.util.List.class );
- // There is no setXXXX methods for sequence...
- private static ConversionType TO_SEQUENCE = new ConversionType("Sequence", null );
-
- private static GeneralComparator COMPARE_ANY;
-
- // There will be several instances where a Property must be passed as a parameter. Have available the Type
- // to call getProperty() as needed.
-
- private static Type API_TEST_TYPE;
-
- // The default constructor establishes each of the Method and Method[] variables.
-
- public TypeConversionTestCase() throws Exception
- {
- COMPARE_ANY = new GeneralComparator();
-
- // Populate the meta data for the test model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
-
- API_TEST_TYPE = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "APITest");
-
- }
-
- private static class ConversionType
- {
- // The following constants are used because the getMethod function requires an Class
- // array describing the parameters to the functions.
-
- private static final Class[] GET_INT_CLASS_ARRAY = {int.class};
- private static final Class[] GET_PROPERTY_CLASS_ARRAY = {Property.class};
- private static final Class[] GET_STRING_CLASS_ARRAY = {String.class};
- private static final Class[] SET_INT_CLASS_ARRAY = {int.class, Class.class};
- private static final Class[] SET_PROPERTY_CLASS_ARRAY = {Property.class, Class.class};
- private static final Class[] SET_STRING_CLASS_ARRAY = {String.class, Class.class};
-
- Method get_index_method;
- Method get_property_method;
- Method get_path_method;
- Method set_index_method;
- Method set_property_method;
- Method set_path_method;
-
- public ConversionType (String method_name, Class type )
- {
- try
- {
- this.get_index_method = DataObject.class.getMethod("get"+method_name, GET_INT_CLASS_ARRAY);
- this.get_property_method = DataObject.class.getMethod("get"+method_name, GET_PROPERTY_CLASS_ARRAY);
- this.get_path_method = DataObject.class.getMethod("get"+method_name, GET_STRING_CLASS_ARRAY);
- if( type != null )
- {
- SET_INT_CLASS_ARRAY[1] = type;
- this.set_index_method = DataObject.class.getMethod("set"+method_name, SET_INT_CLASS_ARRAY);
- SET_PROPERTY_CLASS_ARRAY[1] = type;
- this.set_property_method = DataObject.class.getMethod("set"+method_name, SET_PROPERTY_CLASS_ARRAY);
- SET_STRING_CLASS_ARRAY[1] = type;
- this.set_path_method = DataObject.class.getMethod("set"+method_name, SET_STRING_CLASS_ARRAY);
- }
- else
- {
- this.set_index_method = null;
- this.set_property_method = null;
- this.set_path_method = null;
- }
- }
- catch (NoSuchMethodException e)
- {
- this.get_index_method = null;
- this.get_property_method = null;
- this.get_path_method = null;
- this.set_index_method = null;
- this.set_property_method = null;
- this.set_path_method = null;
- }
- }
-
- public Method getIndexGetMethod()
- {
- return this.get_index_method;
- }
-
- public Method getPropertyGetMethod()
- {
- return this.get_property_method;
- }
-
- public Method getPathGetMethod()
- {
- return this.get_path_method;
- }
- public Method getIndexSetMethod()
- {
- return this.set_index_method;
- }
-
- public Method getPropertySetMethod()
- {
- return this.set_property_method;
- }
-
- public Method getPathSetMethod()
- {
- return this.set_path_method;
- }
- }
-
- // Each instance of Test describes a convert-from type. The index, property and path parms
- // will refer to the same field, which is a field of the convert-from type.
-
- private static class Test
- {
- DataObject test_obj;
- Object[] get_index_parm;
- Object[] get_property_parm;
- Object[] get_path_parm;
- Object[] set_index_parm;
- Object[] set_property_parm;
- Object[] set_path_parm;
- Object expected_value;
- String from_type;
- Class from_type_class;
-
- // The constructor prepares a test DataObject and determines how to access the field
- // in three different ways - index, property, and path.
-
- Test(String path, int index)
- {
- this.test_obj = DataFactory.INSTANCE.create(API_TEST_TYPE);
- this.get_index_parm = new Object[] {new Integer(index)};
- this.get_property_parm = new Object[] {API_TEST_TYPE.getProperty(path)};
- this.get_path_parm = new Object[] {path};
- this.set_index_parm = new Object[] {new Integer(index), null};
- this.set_property_parm = new Object[] {API_TEST_TYPE.getProperty(path), null};
- this.set_path_parm = new Object[] {path, null};
- this.expected_value = null;
- }
-
- // The initialize() function establishes the initial value of the test field.
-
- public void initialize(Class type, String type_name, Object initial_value) throws Exception
- {
- this.expected_value = initial_value;
- this.from_type = type_name;
- this.from_type_class = type;
-
- setDefaultValue();
- }
-
- private void setDefaultValue() throws Exception
- {
- Class[] classArray = {int.class, from_type_class};
- Object[] initValueArray = new Object[] {this.get_index_parm[0], expected_value};
- Method setter = DataObject.class.getMethod("set" + from_type, classArray);
- setter.invoke(test_obj, initValueArray);
- }
-
- // Attempts the conversion to the specified type, using DataObject.get____().
- // The get___() function can be called with an index, path, and property. attemptConversion()
- // calls each of those three.
-
- public void attemptConversion(ConversionType to_type) throws Exception
- {
- performConversion(to_type.getIndexGetMethod(), this.get_index_parm, to_type.getIndexSetMethod(), this.set_index_parm);
- performConversion(to_type.getPathGetMethod(), this.get_path_parm, to_type.getPathSetMethod(), this.set_path_parm );
- performConversion(to_type.getPropertyGetMethod(), this.get_property_parm, to_type.getPropertySetMethod(), this.set_property_parm );
- }
-
- public void checkConversionException(ConversionType to_type, Class expected_exception) throws Exception
- {
- boolean index_err, path_err, property_err, consistency_err = false;
-
- index_err = executeExceptionCase(to_type.getIndexGetMethod(), this.get_index_parm, expected_exception);
- path_err = executeExceptionCase(to_type.getPathGetMethod(), this.get_path_parm, expected_exception);
- property_err = executeExceptionCase(to_type.getPropertyGetMethod(), this.get_property_parm, expected_exception);
-
- if (index_err != path_err || path_err != property_err)
- consistency_err = true;
- else if (index_err == false)
- attemptConversion(to_type);
-
- assertFalse("An exception inconsistency exists for " + to_type.getPathGetMethod().getName() + " when called "
- + "for a " + this.from_type + " property.", consistency_err);
- }
-
- private void performConversion (Method getMeth, Object[] getParm, Method setMeth, Object[] setParm ) throws Exception
- {
- // First use the set
- try
- {
- // get the set value
- setParm[1] = getMeth.invoke(test_obj, getParm);;
- // now set it...
- setMeth.invoke(test_obj, setParm);
- }
- catch (Exception e)
- {
- Throwable cause = e.getCause();
- if (cause == null)
- {
- System.err.println("An exception of type " + e.getClass() + " occurred while performing " + setMeth.getName()
- + " on a " + this.from_type + " property.");
- }
- else
- {
- System.err.println("An exception of type " + cause.getClass() + " occurred while performing " + setMeth.getName()
- + " on a " + this.from_type + " property.");
- }
-
- throw e;
- }
-
- try
- {
-
- assertTrue("Conversion did not yield expected value for get" + getMeth.getName() + " on a " + this.from_type + " property.",
- COMPARE_ANY.compare(getMeth.invoke(test_obj, getParm), this.expected_value) == 0);
- }
- catch (Exception e)
- {
- Throwable cause = e.getCause();
- if (cause == null)
- {
- System.err.println("An exception of type " + e.getClass() + " occurred while performing " + getMeth.getName()
- + " on a " + this.from_type + " property.");
- }
- else
- {
- System.err.println("An exception of type " + cause.getClass() + " occurred while performing " + getMeth.getName()
- + " on a " + this.from_type + " property.");
- }
-
- throw e;
- }
-
- // reset to default
- setDefaultValue();
- }
-
-
-
- private boolean executeExceptionCase (Method convert, Object[] parm, Class expected_exception) throws Exception
- {
- boolean exception_thrown = false;
- try
- {
- convert.invoke(test_obj, parm);
- }
- catch (Exception e)
- {
- exception_thrown = true;
- Throwable cause = e.getCause();
- if (cause == null)
- {
- assertEquals("An unexpected exception occurred while performing " + convert.getName()
- + " on a " + this.from_type + " property.", expected_exception, e.getClass());
- }
- else
- {
- assertEquals("An unexpected exception occurred while performing " + convert.getName()
- + " on a " + this.from_type + " property.", expected_exception, cause.getClass());
- }
- }
-
- return exception_thrown;
- }
- }
-
- private static class GeneralComparator implements Comparator
- {
- public int compare(Object obj1, Object obj2)
- {
- if (obj1.getClass() == obj2.getClass())
- {
- if (obj1.equals(obj2))
- return 0;
- else
- return 1;
- }
-
- else if ( (obj1.getClass() == byte[].class && obj2.getClass() == String.class) ||
- (obj2.getClass() == byte[].class && obj1.getClass() == String.class) )
- {
- String strVal;
- byte [] byteVal;
-
- if( obj1.getClass() == String.class )
- {
- strVal = (String)obj1;
- byteVal = (byte [])obj2;
- }
- else
- {
- strVal = (String)obj2;
- byteVal = (byte [])obj1;
- }
-
- if( strVal.length()/2 != byteVal.length )
- return -1;
-
- for( int i=0; i<byteVal.length; i++ )
- {
- if( byteVal[i] != (Byte.decode("0x"+strVal.substring(i*2,(i*2)+2))).byteValue() )
- return -1;
- }
-
- return 0;
- }
-
- else if (obj1.getClass() == Date.class)
- {
- if (obj2.getClass() == String.class)
- {
- try
- {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy'-'MM'-'dd'T'H':'mm':'ss.S");
-
- sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
- obj2 = sdf.parse((String) obj2);
-
- if (obj1.equals(obj2))
- return 0;
- }
- catch (Exception e)
- {
- System.out.println(e.getMessage());
- }
-
- return 1;
- }
-
- else
- {
- Date temp = (Date) obj1;
-
- return compare(new Long(temp.getTime()), obj2);
- }
-
- }
-
- else if (obj2.getClass() == Date.class)
- {
- return compare(obj2, obj1);
- }
-
- else if (obj1.getClass() == Boolean.class)
- {
- Boolean temp = (Boolean) obj1;
-
- if (temp.booleanValue())
- {
- if (obj2.toString().equalsIgnoreCase("true"))
- return 0;
- else
- return 1;
- }
-
- else
- {
- if (obj2.toString().equalsIgnoreCase("true"))
- return 1;
- else
- return 0;
- }
- }
-
- else if (obj2.getClass() == Boolean.class)
- return compare(obj2, obj1);
-
- else if (obj1.getClass() == Byte.class || obj2.getClass() == Byte.class)
- {
- byte b1 = (Double.valueOf(obj1.toString())).byteValue();
- byte b2 = (Double.valueOf(obj2.toString())).byteValue();
-
- if (b1 == b2)
- return 0;
- else if (b1 < b2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass().toString().charAt(6) == '[')
- {
- long result = 0;
- long multiplier = 1;
-
- byte[] array = (byte[]) obj1;
- for (int i = 0; i < array.length; i++)
- {
- result += array[array.length - i - 1] * multiplier;
- multiplier *= 256;
- }
-
- return compare(obj2, new Long(result));
- }
-
- else if (obj2.getClass().toString().charAt(6) == '[')
- {
- return compare(obj2, obj1);
- }
-
- else if (obj1.getClass() == Short.class || obj2.getClass() == Short.class)
- {
- short s1 = (Double.valueOf(obj1.toString())).shortValue();
- short s2 = (Double.valueOf(obj2.toString())).shortValue();
-
- if (s1 == s2)
- return 0;
- else if (s1 < s2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass() == Integer.class || obj2.getClass() == Integer.class)
- {
- int i1 = (Double.valueOf(obj1.toString())).intValue();
- int i2 = (Double.valueOf(obj2.toString())).intValue();
-
- if (i1 == i2)
- return 0;
- else if (i1 < i2)
- return -1;
- else
- return 1;
- }
-
- else if ( obj1.getClass() == Long.class || obj2.getClass() == Long.class
- || obj1.getClass() == BigInteger.class || obj2.getClass() == BigInteger.class)
- {
- long l1 = (Double.valueOf(obj1.toString())).longValue();
- long l2 = (Double.valueOf(obj2.toString())).longValue();
-
- if (l1 == l2)
- return 0;
- else if (l1 < l2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass() == Float.class || obj2.getClass() == Float.class)
- {
- float f1 = (Double.valueOf(obj1.toString())).floatValue();
- float f2 = (Double.valueOf(obj2.toString())).floatValue();
-
- if (f1 == f2)
- return 0;
- else if (f1 < f2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass() == Double.class || obj2.getClass() == Double.class)
- {
- Double b1 = Double.valueOf(obj1.toString());
- Double b2 = Double.valueOf(obj2.toString());
-
- return b1.compareTo(b2);
- }
-
- else if (obj1.getClass() == BigDecimal.class || obj2.getClass() == BigDecimal.class)
- {
- BigDecimal b1 = new BigDecimal(obj1.toString());
- BigDecimal b2 = new BigDecimal(obj2.toString());
-
- return b1.compareTo(b2);
- }
-
- else
- {
- if (obj1.toString().equals(obj2.toString()))
- return 0;
- else
- return 1;
- }
- }
-
- }
-
- /**********************************************************
- * In the following test cases, several instances are commented out.
- * For these cases, the test case currently fails. A JIRA issue (TUSCANY-581) has
- * been opened to either correct the behavior (then uncomment the lines) or to
- * alter the specification against which the test cases were designed (and then
- * remove the lines - assuming the alteration is to remove stating the
- * nature of the exception).
- */
-
- public void testBooleanConversion() throws Exception
- {
- Test FromBoolean = new Test("booleanVal", BOOLEAN_VAL_INDEX);
-
- FromBoolean.initialize(boolean.class, "Boolean", Boolean.valueOf(true));
-
- FromBoolean.attemptConversion(TO_BOOLEAN);
- FromBoolean.attemptConversion(TO_STRING);
- }
-
- public void testBooleanExceptions() throws Exception
- {
- Test FromBoolean = new Test("booleanVal", BOOLEAN_VAL_INDEX);
-
- FromBoolean.initialize(boolean.class, "Boolean", Boolean.valueOf(true));
-
-// FromBoolean.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_INT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_LONG, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_BYTES, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromBoolean.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_DATE, ClassCastException.class);
- FromBoolean.checkConversionException(TO_LIST, ClassCastException.class);
- FromBoolean.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testByteConversion() throws Exception
- {
- Test FromByte = new Test("byteVal", BYTE_VAL_INDEX);
-
- FromByte.initialize(byte.class, "Byte", Byte.valueOf("-127"));
-
- FromByte.attemptConversion(TO_BYTE);
- FromByte.attemptConversion(TO_DOUBLE);
- FromByte.attemptConversion(TO_FLOAT);
- FromByte.attemptConversion(TO_INT);
- FromByte.attemptConversion(TO_LONG);
- FromByte.attemptConversion(TO_SHORT);
- FromByte.attemptConversion(TO_STRING);
- }
-
- public void testByteExceptions() throws Exception
- {
- Test FromByte = new Test("byteVal", BYTE_VAL_INDEX);
-
- FromByte.initialize(byte.class, "Byte", Byte.valueOf("-127"));
-
-// FromByte.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromByte.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromByte.checkConversionException(TO_BYTES, ClassCastException.class);
- FromByte.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
- FromByte.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromByte.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromByte.checkConversionException(TO_DATE, ClassCastException.class);
- FromByte.checkConversionException(TO_LIST, ClassCastException.class);
- FromByte.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testCharConversion() throws Exception
- {
- Test FromChar = new Test("charVal", CHAR_VAL_INDEX);
-
- FromChar.initialize(char.class, "Char", new Character('?'));
-
- FromChar.attemptConversion(TO_CHAR);
- FromChar.attemptConversion(TO_STRING);
- }
-
- public void testCharExceptions() throws Exception
- {
- Test FromChar = new Test("charVal", CHAR_VAL_INDEX);
-
- FromChar.initialize(char.class, "Char", new Character('?'));
-
-// FromChar.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromChar.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromChar.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromChar.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromChar.checkConversionException(TO_INT, ClassCastException.class);
-// FromChar.checkConversionException(TO_LONG, ClassCastException.class);
-// FromChar.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromChar.checkConversionException(TO_BYTES, ClassCastException.class);
-// FromChar.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
-// FromChar.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromChar.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromChar.checkConversionException(TO_DATE, ClassCastException.class);
- FromChar.checkConversionException(TO_LIST, ClassCastException.class);
- FromChar.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testDoubleConversion() throws Exception
- {
- Test FromDouble = new Test("doubleVal", DOUBLE_VAL_INDEX);
-
- FromDouble.initialize(double.class, "Double", new Double(Double.MAX_VALUE));
-
- FromDouble.attemptConversion(TO_BYTE);
- FromDouble.attemptConversion(TO_DOUBLE);
- FromDouble.attemptConversion(TO_FLOAT);
- FromDouble.attemptConversion(TO_INT);
- FromDouble.attemptConversion(TO_LONG);
- FromDouble.attemptConversion(TO_SHORT);
- FromDouble.attemptConversion(TO_BIGDECIMAL);
- FromDouble.attemptConversion(TO_BIGINTEGER);
- FromDouble.attemptConversion(TO_STRING);
- }
-
- public void testDoubleExceptions() throws Exception
- {
- Test FromDouble = new Test("doubleVal", DOUBLE_VAL_INDEX);
-
- FromDouble.initialize(double.class, "Double", new Double(Double.MAX_VALUE));
-
-// FromDouble.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromDouble.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromDouble.checkConversionException(TO_BYTES, ClassCastException.class);
- FromDouble.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromDouble.checkConversionException(TO_DATE, ClassCastException.class);
- FromDouble.checkConversionException(TO_LIST, ClassCastException.class);
- FromDouble.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testFloatConversion() throws Exception
- {
- Test FromFloat = new Test("floatVal", FLOAT_VAL_INDEX);
-
- FromFloat.initialize(float.class, "Float", new Float(Float.MIN_VALUE));
-
- FromFloat.attemptConversion(TO_BYTE);
- FromFloat.attemptConversion(TO_DOUBLE);
- FromFloat.attemptConversion(TO_FLOAT);
- FromFloat.attemptConversion(TO_INT);
- FromFloat.attemptConversion(TO_LONG);
- FromFloat.attemptConversion(TO_SHORT);
- FromFloat.attemptConversion(TO_BIGDECIMAL);
- FromFloat.attemptConversion(TO_BIGINTEGER);
- FromFloat.attemptConversion(TO_STRING);
- }
-
- public void testFloatExceptions() throws Exception
- {
- Test FromFloat = new Test("floatVal", FLOAT_VAL_INDEX);
-
- FromFloat.initialize(float.class, "Float", new Float(Float.MIN_VALUE));
-
-// FromFloat.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromFloat.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromFloat.checkConversionException(TO_BYTES, ClassCastException.class);
- FromFloat.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromFloat.checkConversionException(TO_DATE, ClassCastException.class);
- FromFloat.checkConversionException(TO_LIST, ClassCastException.class);
- FromFloat.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testIntConversion() throws Exception
- {
- Test FromInt = new Test("intVal", INT_VAL_INDEX);
-
- FromInt.initialize(int.class, "Int", new Integer(5));
-
- FromInt.attemptConversion(TO_BYTE);
- FromInt.attemptConversion(TO_DOUBLE);
- FromInt.attemptConversion(TO_FLOAT);
- FromInt.attemptConversion(TO_INT);
- FromInt.attemptConversion(TO_LONG);
- FromInt.attemptConversion(TO_SHORT);
- FromInt.attemptConversion(TO_BIGDECIMAL);
- FromInt.attemptConversion(TO_BIGINTEGER);
- FromInt.attemptConversion(TO_STRING);
- }
-
- public void testIntExceptions() throws Exception
- {
- Test FromInt = new Test("intVal", INT_VAL_INDEX);
-
- FromInt.initialize(int.class, "Int", new Integer(5));
-
-// FromInt.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromInt.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromInt.checkConversionException(TO_BYTES, ClassCastException.class);
- FromInt.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromInt.checkConversionException(TO_DATE, ClassCastException.class);
- FromInt.checkConversionException(TO_LIST, ClassCastException.class);
- FromInt.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testLongConversion() throws Exception
- {
- Test FromLong = new Test("longVal", LONG_VAL_INDEX);
-
- FromLong.initialize(long.class, "Long", new Long(7000L));
-
- FromLong.attemptConversion(TO_BYTE);
- FromLong.attemptConversion(TO_DOUBLE);
- FromLong.attemptConversion(TO_FLOAT);
- FromLong.attemptConversion(TO_INT);
- FromLong.attemptConversion(TO_LONG);
- FromLong.attemptConversion(TO_SHORT);
- FromLong.attemptConversion(TO_BIGDECIMAL);
- FromLong.attemptConversion(TO_BIGINTEGER);
- FromLong.attemptConversion(TO_DATE);
- FromLong.attemptConversion(TO_STRING);
- }
-
- public void testLongExceptions() throws Exception
- {
- Test FromLong = new Test("longVal", LONG_VAL_INDEX);
-
- FromLong.initialize(long.class, "Long", new Long(7000L));
-
-// FromLong.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromLong.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromLong.checkConversionException(TO_BYTES, ClassCastException.class);
- FromLong.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
- FromLong.checkConversionException(TO_LIST, ClassCastException.class);
- FromLong.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testShortConversion() throws Exception
- {
- Test FromShort = new Test("shortVal", SHORT_VAL_INDEX);
-
- FromShort.initialize(short.class, "Short", new Short("-8000"));
-
- FromShort.attemptConversion(TO_BYTE);
- FromShort.attemptConversion(TO_DOUBLE);
- FromShort.attemptConversion(TO_FLOAT);
- FromShort.attemptConversion(TO_INT);
- FromShort.attemptConversion(TO_LONG);
- FromShort.attemptConversion(TO_SHORT);
- FromShort.attemptConversion(TO_STRING);
- }
-
- public void testShortExceptions() throws Exception
- {
- Test FromShort = new Test("shortVal", SHORT_VAL_INDEX);
-
- FromShort.initialize(short.class, "Short", new Short("-8000"));
-
-// FromShort.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromShort.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromShort.checkConversionException(TO_BYTES, ClassCastException.class);
- FromShort.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
- FromShort.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromShort.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromShort.checkConversionException(TO_DATE, ClassCastException.class);
- FromShort.checkConversionException(TO_LIST, ClassCastException.class);
- FromShort.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testStringConversion() throws Exception
- {
- Test FromString = new Test("stringVal", STRING_VAL_INDEX);
-
- FromString.initialize(String.class, "String", "5");
-
- FromString.attemptConversion(TO_BOOLEAN);
- FromString.attemptConversion(TO_BYTE);
- FromString.attemptConversion(TO_CHAR);
- FromString.attemptConversion(TO_DOUBLE);
- FromString.attemptConversion(TO_FLOAT);
- FromString.attemptConversion(TO_INT);
- FromString.attemptConversion(TO_LONG);
- FromString.attemptConversion(TO_SHORT);
- FromString.attemptConversion(TO_BIGDECIMAL);
- FromString.attemptConversion(TO_BIGINTEGER);
- FromString.attemptConversion(TO_STRING);
-
- FromString.initialize(String.class, "String", "1999-07-25T8:50:14.33Z");
- FromString.attemptConversion(TO_DATE);
-
- FromString.initialize(String.class, "String", "0A64");
- FromString.attemptConversion(TO_BYTES);
- }
-
- public void testStringExceptions() throws Exception
- {
- Test FromString = new Test("stringVal", STRING_VAL_INDEX);
-
- FromString.initialize(String.class, "String", "5");
-
-// FromString.checkConversionException(TO_BYTES, ClassCastException.class);
- FromString.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
- FromString.checkConversionException(TO_LIST, ClassCastException.class);
- FromString.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testBytesConversion() throws Exception
- {
- Test FromBytes = new Test("bytesVal", BYTES_VAL_INDEX);
-
- FromBytes.initialize(byte[].class, "Bytes", new byte[] {10,100});
-
- FromBytes.attemptConversion(TO_BYTES);
- FromBytes.attemptConversion(TO_BIGINTEGER);
- FromBytes.attemptConversion(TO_STRING);
- }
-
- public void testBytesExceptions() throws Exception
- {
- Test FromBytes = new Test("bytesVal", BYTES_VAL_INDEX);
-
- FromBytes.initialize(byte[].class, "Bytes", new byte[] {10,100});
-
-// FromBytes.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromBytes.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBytes.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromBytes.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromBytes.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_INT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_LONG, ClassCastException.class);
-// FromBytes.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
- FromBytes.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_DATE, ClassCastException.class);
-// FromBytes.checkConversionException(TO_STRING, ClassCastException.class);
- FromBytes.checkConversionException(TO_LIST, ClassCastException.class);
- FromBytes.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testBigDecimalConversion() throws Exception
- {
- Test FromBigDecimal = new Test("decimalVal", DECIMAL_VAL_INDEX);
-
- FromBigDecimal.initialize(BigDecimal.class, "BigDecimal", new BigDecimal("-3"));
-
- FromBigDecimal.attemptConversion(TO_DOUBLE);
- FromBigDecimal.attemptConversion(TO_FLOAT);
- FromBigDecimal.attemptConversion(TO_INT);
- FromBigDecimal.attemptConversion(TO_LONG);
- FromBigDecimal.attemptConversion(TO_BIGDECIMAL);
- FromBigDecimal.attemptConversion(TO_BIGINTEGER);
- FromBigDecimal.attemptConversion(TO_STRING);
- }
-
- public void testBigDecimalExceptions() throws Exception
- {
- Test FromBigDecimal = new Test("decimalVal", DECIMAL_VAL_INDEX);
-
- FromBigDecimal.initialize(BigDecimal.class, "BigDecimal", new BigDecimal("-3"));
-
-// FromBigDecimal.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_BYTES, ClassCastException.class);
- FromBigDecimal.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_DATE, ClassCastException.class);
- FromBigDecimal.checkConversionException(TO_LIST, ClassCastException.class);
- FromBigDecimal.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testBigIntegerConversion() throws Exception
- {
- Test FromBigInteger = new Test("integerVal", INTEGER_VAL_INDEX);
-
- FromBigInteger.initialize(BigInteger.class, "BigInteger", new BigInteger("31500"));
-
- FromBigInteger.attemptConversion(TO_DOUBLE);
- FromBigInteger.attemptConversion(TO_FLOAT);
- FromBigInteger.attemptConversion(TO_INT);
- FromBigInteger.attemptConversion(TO_LONG);
- FromBigInteger.attemptConversion(TO_SHORT);
- FromBigInteger.attemptConversion(TO_BYTES);
- FromBigInteger.attemptConversion(TO_BIGDECIMAL);
- FromBigInteger.attemptConversion(TO_BIGINTEGER);
- FromBigInteger.attemptConversion(TO_STRING);
- }
-
- public void testBigIntegerExceptions() throws Exception
- {
- Test FromBigInteger = new Test("integerVal", INTEGER_VAL_INDEX);
-
- FromBigInteger.initialize(BigInteger.class, "BigInteger", new BigInteger("31500"));
-
-// FromBigInteger.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromBigInteger.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBigInteger.checkConversionException(TO_CHAR, ClassCastException.class);
- FromBigInteger.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBigInteger.checkConversionException(TO_DATE, ClassCastException.class);
- FromBigInteger.checkConversionException(TO_LIST, ClassCastException.class);
- FromBigInteger.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testDateConversion() throws Exception
- {
- Test FromDate = new Test("dateVal", DATE_VAL_INDEX);
-
- FromDate.initialize(Date.class, "Date", new Date(System.currentTimeMillis()));
-
- FromDate.attemptConversion(TO_LONG);
- FromDate.attemptConversion(TO_DATE);
- FromDate.attemptConversion(TO_STRING);
- }
-
- public void testDateExceptions() throws Exception
- {
- Test FromDate = new Test("dateVal", DATE_VAL_INDEX);
-
- FromDate.initialize(Date.class, "Date", new Date(System.currentTimeMillis()));
-
-// FromDate.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromDate.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromDate.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromDate.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromDate.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromDate.checkConversionException(TO_INT, ClassCastException.class);
-// FromDate.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromDate.checkConversionException(TO_BYTES, ClassCastException.class);
-// FromDate.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
-// FromDate.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromDate.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
- FromDate.checkConversionException(TO_LIST, ClassCastException.class);
- FromDate.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testTuscany_836() {
- if (System.getProperty("java.version").indexOf("1.4") == -1) {
- // Work around a bug in SUN and IBM 1.4 JDKs
- assertEquals(DataObjectUtil.getBigDecimal(new Long(Long.MAX_VALUE)).longValue(), Long.MAX_VALUE);
- }
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java
deleted file mode 100644
index 60a484290f..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.helper.HelperContext;
-
-
-public class TypeHelperTestCase extends TestCase {
-
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- public void testGetType() {
- assertTrue(hc.getTypeHelper().getType(List.class) == null );
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
deleted file mode 100644
index f718a3f330..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataHelper;
-import commonj.sdo.helper.TypeHelper;
-
-public class TypeRoundTripTestCase extends TestCase {
-
- private static class Test {
- Type type;
- String value;
- Object obj;
- Comparator comp;
-
- Test(Type type, String value, Object obj) {
- this.type = type;
- this.value = value;
- this.obj = obj;
- }
-
- Test(Type type, String value, Object obj, Comparator comp) {
- this.type = type;
- this.value = value;
- this.obj = obj;
- this.comp = comp;
- }
- }
-
- private static class ListComparator implements Comparator {
- public int compare(Object list1, Object list2) {
- int answer = 1;
- if (list1 instanceof List && list2 instanceof List) {
- List l1 = (List) list1;
- List l2 = (List) list2;
- if (l1.size() == l2.size()) {
- for (int n = 0; n < l1.size(); n++) {
- if (!l1.get(n).equals(l2.get(n))) {
- answer = 0;
- break;
- }
- }
- } else {
- answer = 0;
- }
- } else {
- answer = 0;
- }
- return answer;
- }
- }
-
- private static class BytesComparator implements Comparator {
- public int compare(Object o1, Object o2) {
- o2 = new String((byte[])o2);
- if (o1.equals(o2)) return 1;
- else return 0;
- }
- }
-
- public void testTypeRoundTrips() throws Exception {
- String URI = "commonj.sdo";
- TypeHelper types = TypeHelper.INSTANCE;
-
- List list = new ArrayList();
- list.add("foo");
- list.add("bar");
- list.add("test");
- Test[] tests = {
- new Test(types.getType(URI, "Boolean"), "true", new Boolean(true)),
- new Test(types.getType(URI, "Byte"), "49", new Byte((byte)49)),
- new Test(types.getType(URI, "Bytes"), "666F6F", "foo", new BytesComparator()),
- new Test(types.getType(URI, "Character"), "a", new Character('a')),
- new Test(types.getType(URI, "Date"), "2005-12-12T12:12:12.012Z", DataHelper.INSTANCE.toDate("2005-12-12T12:12:12.012Z")),
- new Test(types.getType(URI, "DateTime"), "2005-12-12T12:12:12zz", "2005-12-12T12:12:12zz"),
- new Test(types.getType(URI, "Day"), "---12", "---12"),
- new Test(types.getType(URI, "Decimal"), "12.12", new BigDecimal("12.12")),
- new Test(types.getType(URI, "Double"), "12.12", new Double(12.12)),
- new Test(types.getType(URI, "Duration"), "P5Y2M10D", "P5Y2M10D"),
- new Test(types.getType(URI, "Float"), "12.12", new Float(12.12f)),
- new Test(types.getType(URI, "Int"), "12", new Integer(12)),
- new Test(types.getType(URI, "Integer"), "12", new BigInteger("12")),
- new Test(types.getType(URI, "Long"), "12", new Long(12l)),
- new Test(types.getType(URI, "Month"), "--12", "--12"),
- new Test(types.getType(URI, "MonthDay"), "--12-12", "--12-12"),
- new Test(types.getType(URI, "Object"), "test", "test"),
- new Test(types.getType(URI, "Short"), "12", new Short((short)12)),
- new Test(types.getType(URI, "String"), "test", "test"),
- new Test(types.getType(URI, "Strings"), "foo bar test", list, new ListComparator()),
- new Test(types.getType(URI, "Time"), "12:12:12.12", "12:12:12.12"),
- new Test(types.getType(URI, "URI"), "http://example.org", "http://example.org"),
- new Test(types.getType(URI, "Year"), "2005", "2005"),
- new Test(types.getType(URI, "YearMonth"), "2005-12", "2005-12"),
- new Test(types.getType(URI, "YearMonthDay"), "2005-12-12", "2005-12-12")
- };
-
- for (int n = 0; n < tests.length; n++) {
- assertEquals(
- SDOUtil.convertToString(tests[n].type, SDOUtil.createFromString(tests[n].type, tests[n].value)),
- tests[n].value
- );
-
- //System.out.print(".");
-
- if (tests[n].comp == null) {
- assertEquals(
- SDOUtil.createFromString(tests[n].type, SDOUtil.convertToString(tests[n].type, tests[n].obj)),
- tests[n].obj
- );
- } else {
- String o1 = SDOUtil.convertToString(tests[n].type, tests[n].obj);
- Object o2 = SDOUtil.createFromString(tests[n].type, o1);
- assertEquals(tests[n].comp.compare(tests[n].obj, o2), 1);
- }
- }
-
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java
deleted file mode 100644
index 1cf59757ef..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-
-public class XMLDocumentTestCase extends TestCase
-{
- private final String TEST_XML_DOCUMENT = "/XMLDocumentTestCase.xml";
-
- // remember that NS1... and NS2... items are expected in sorted order by name
- private final String NS1_SCHEMA_NAME = "http://www.example.com/open";
-
- private final String NS1_SCHEMA_LOCATION = "/open.xsd";
-
- private final String NS2_SCHEMA_NAME = "http://www.example.com/xmlDocumentSchemaLocation";
-
- private final String NS2_SCHEMA_LOCATION = "/XMLDocumentSchemaLocation.xsd";
-
- private final String NS_SET_NAME_LOCATION = "namespace schemaLocation";
-
- //private final String NNS_SCHEMA_LOCATION = "http://www.example.com/XMLDocumentNoNamespaceSchemaLocation.xsd";
- private final String NNS_SCHEMA_LOCATION = "/XMLDocumentNoNamespaceSchemaLocation.xsd";
-
- private final String NNS_SET_LOCATION = "noNamespaceSchemaLocation";
-
- /**
- * This method will load an xml document consisting of a xsi:schemaLocation and
- * xsi:noNamespaceSchemaLocation defined. It will then use the XMLDocument API to get and
- * set the schemaLocation property.
- *
- * @throws IOException
- */
- public void testSchemaLocation() throws IOException
- {
- // load the xml document which has xsi:noNamespaceSchemaLocation and xsi:schemaLocation defined
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT));
-
- // get the schemaLocation
- assertEquals(NS1_SCHEMA_NAME + " " + NS1_SCHEMA_LOCATION + " " + NS2_SCHEMA_NAME + " " + NS2_SCHEMA_LOCATION, doc.getSchemaLocation());
-
- // set the schemaLocation to another value and test to see if the value was set
- doc.setSchemaLocation(NS_SET_NAME_LOCATION);
- assertEquals(NS_SET_NAME_LOCATION, doc.getSchemaLocation());
-
- // remove the schemaLocation and ensure it returns null
- doc.setSchemaLocation(null);
- assertNull(doc.getSchemaLocation());
-
- // ensure changes to schemaLocation have not changed noNamespaceSchemaLocation
- assertEquals(NNS_SCHEMA_LOCATION, doc.getNoNamespaceSchemaLocation());
- }
-
- /**
- * This method will load an xml document consisting of a xsi:schemaLocation and
- * xsi:noNamespaceSchemaLocation defined. It will then use the XMLDocument API to get and
- * set the noNamespaceSchemaLocation property.
- *
- * @throws IOException
- */
- public void testNoNamespaceSchemaLocation() throws IOException
- {
- // load the xml document which has xsi:noNamespaceSchemaLocation and xsi:schemaLocation defined
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT));
-
- // get the noNamespaceSchemaLocation
- assertEquals(NNS_SCHEMA_LOCATION, doc.getNoNamespaceSchemaLocation());
-
- // set the noNameSpaceSchemaLocation to another value and test to see if the value was set
- doc.setNoNamespaceSchemaLocation(NNS_SET_LOCATION);
- assertEquals(NNS_SET_LOCATION, doc.getNoNamespaceSchemaLocation());
-
- // remove the noNameSpaceSchemaLocation and ensure it returns null
- doc.setNoNamespaceSchemaLocation(null);
- assertNull(doc.getNoNamespaceSchemaLocation());
-
- // ensure changes to noNameSpaceSchemaLocation have not changed schemaLocation
- assertEquals(NS1_SCHEMA_NAME + " " + NS1_SCHEMA_LOCATION + " " + NS2_SCHEMA_NAME + " " + NS2_SCHEMA_LOCATION, doc.getSchemaLocation());
- }
-
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java
deleted file mode 100644
index 7ec3cd48bb..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.dom.DOMSource;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import commonj.sdo.impl.HelperProvider;
-
-public class XMLHelperTestCase extends TestCase {
-
- HelperContext hc;
- private XSDHelper xsdHelper;
- XMLHelper xmlh;
- static final String INDENT = " ", MARGIN = " ", LINE_BREAK = "\n\n";
-
- void define(String model) throws Exception {
- // Populate the meta data for the test model
- URL url = getClass().getResource(model);
- xsdHelper.define(url.openStream(), url.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- xsdHelper = hc.getXSDHelper();
- xmlh = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- define("/simpleWithChangeSummary.xsd");
-
- define("/SequenceChangeSummary.xsd");
-
- define("/simple.xsd");
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public void testLoadInputStreamStringObject() throws IOException {
-
- }
-
- protected final void format(String xml,String formatted) throws IOException {
- XMLDocument doc = xmlh.load(getClass().getResource(xml).openStream());
- Map options = new HashMap();
-
- options.put(SDOHelper.XMLOptions.XML_SAVE_INDENT, INDENT);
- options.put(SDOHelper.XMLOptions.XML_SAVE_MARGIN, MARGIN);
- options.put(SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, LINE_BREAK);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- // doc declares NameSpaces at root
- xmlh.save(xmlh.createDocument(doc.getRootObject(), doc.getRootElementURI(), doc.getRootElementName()), baos, options);
- //xmlh.save(xmlh.createDocument(doc.getRootObject(), doc.getRootElementURI(), doc.getRootElementName()), System.out, options);
-
- assertEquals(formatted, baos.toString());
- }
-
- public void notestSaveXMLDocumentOutputStreamObject() throws IOException {
- format("/simpleWithChangeSummary.xml",
-MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
-MARGIN+ "<cs:stockQuote xmlns:cs=\"http://www.example.com/simpleCS\">" +LINE_BREAK+
-MARGIN+INDENT+ "<symbol>FBNT</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
-MARGIN+INDENT+ "<price>999.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "<volume>1000.0</volume>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>1500.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>2500.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>3000.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>4000.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<changes create=\"#//quotes[3] #//quotes[4]\" delete=\"#//changes/stockQuote[1]/quotes[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<cs:stockQuote sdo:ref=\"#/stockQuote\" sdo:unset=\"volume\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<price>1000.0</price>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[1]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[2]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "</cs:stockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "</changes>" +LINE_BREAK+
-MARGIN+ "</cs:stockQuote>");
- }
-
- public void notestSaveMixedOutputStreamObject() throws IOException {
- format("/mixedChangeSummary.xml",
-MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
-MARGIN+ "<cs:stockQuote xmlns:cs=\"http://www.example.com/sequenceCS\"><changes create=\"#//quotes[3] #//quotes[4]\" delete=\"#//changes/stockQuote[1]/quotes[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
-INDENT+ "<cs:stockQuote sdo:ref=\"#/stockQuote\">" +LINE_BREAK+
-INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
-INDENT+INDENT+ "<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
-INDENT+INDENT+ "<price>1000.0</price>" +LINE_BREAK+
-INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[1]\" />" +LINE_BREAK+
-INDENT+INDENT+ "<quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>" +LINE_BREAK+
-INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[2]\" />" +LINE_BREAK+
-INDENT+ "</cs:stockQuote>" +LINE_BREAK+
-"</changes><symbol>FBNT</symbol><companyName>FlyByNightTechnology</companyName><price>999.0</price><quotes><price>1500.0</price></quotes><quotes><price>2500.0</price></quotes><volume>1000.0</volume><quotes><price>3000.0</price></quotes><quotes><price>4000.0</price></quotes></cs:stockQuote>");
- }
-
- public void notestOpenMixedOutputStreamObject() throws IOException {
- format("/openChangeSummary.xml",
-MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
-MARGIN+ "<cs:openQuote xmlns:cs=\"http://www.example.com/sequenceCS\" xmlns:open=\"http://www.example.com/open\">" +LINE_BREAK+
-MARGIN+INDENT+ "<symbol>FBNT</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>1500.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>2500.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>3000.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>4000.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<changes create=\"#//open:openStockQuote[3] #//open:openStockQuote[4]\" delete=\"#//changes/openQuote[1]/open:openStockQuote[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<cs:openQuote sdo:ref=\"#/openQuote\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<open:openStockQuote sdo:ref=\"#//open:openStockQuote[1]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<open:openStockQuote><symbol>2000.0</symbol><open:openStockQuote><symbol>2000.99</symbol></open:openStockQuote></open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<open:openStockQuote sdo:ref=\"#//open:openStockQuote[2]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "</cs:openQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "</changes>" +LINE_BREAK+
-MARGIN+ "</cs:openQuote>");
- }
-
- private String quoteXML =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +
- "<simple:stockQuote xmlns:simple=\"http://www.example.com/simple\">" +
- "<symbol>fbnt</symbol>" +
- "<companyName>FlyByNightTechnology</companyName>" +
- "<price>1000.0</price>" +
- "<open1>1000.0</open1>" +
- "<high>1000.0</high>" +
- "<low>1000.0</low>" +
- "<volume>1000.0</volume>" +
- "<change1>1000.0</change1>" +
- "<quotes>" +
- "<price>2000.0</price>" +
- "</quotes>" +
- "</simple:stockQuote>";
-
- public void testLoadDOMSource() throws IOException, ParserConfigurationException, SAXException
- {
- DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
- dFactory.setNamespaceAware(true);
-
- DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
- Document document = dBuilder.parse(new ByteArrayInputStream(quoteXML.getBytes()));
-
- DOMSource domSource = new DOMSource(document);
-
- XMLDocument xmlDocument = hc.getXMLHelper().load(domSource, null, null);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- Map options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_SAVE_INDENT, "");
- options.put(SDOHelper.XMLOptions.XML_SAVE_MARGIN, "");
- options.put(SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, "");
-
- hc.getXMLHelper().save(xmlDocument, baos, options);
-
- boolean isEqual = TestUtil.equalXmlFiles(new ByteArrayInputStream(quoteXML.getBytes()), new ByteArrayInputStream(baos.toByteArray()));
- assertTrue(isEqual);
- }
-
- private String xsdStr =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:simple=\"http://www.example.com/simple\" " +
- "targetNamespace=\"http://www.example.com/simple\">" +
-// "<xsd:element name=\"stockQuote\" type=\"simple:Quote\"/>" +
- "<xsd:complexType name=\"Quote\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"symbol\" type=\"xsd:string\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
- "</xsd:schema>";
-
- /**
- * Test the scenario of serializing and deserializing an SDO with an undefined global SDO property
- * In this scenario, the target XSD namespace doesn't have any global element defined
- *
- */
- public void testDemandCreateRootObject() {
- HelperContext hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(xsdStr);
- DataObject quote = hc.getDataFactory().create("http://www.example.com/simple", "Quote");
- quote.set("symbol", "abc");
-
- String xmlStr = hc.getXMLHelper().save(quote, quote.getType().getURI(), "demandcreate");
-
- XMLDocument doc = hc.getXMLHelper().load(xmlStr);
- try {
- doc.getRootObject();
- }
- catch (ClassCastException e) {
- fail(e.toString());
- }
- }
-
- /**
- * This test case is similar to the testDemandCreateRootObject above. The only difference is
- * the data model was created using SDO APIs instead of XSD.
- *
- */
- public void testDemandCreateRootObject2() {
- HelperContext hc1 = SDOUtil.createHelperContext();
- Type stringType = hc1.getTypeHelper().getType("commonj.sdo", "String");
-
- DataObject quoteTypeDef = hc1.getDataFactory().create("commonj.sdo", "Type");
- quoteTypeDef.set("uri", "http://www.example.com/simple");
- quoteTypeDef.set("name", "Quote");
-
- DataObject symbolPropDef = quoteTypeDef.createDataObject("property");
- symbolPropDef.set("name", "symbol");
- symbolPropDef.set("type", stringType);
-
- hc1.getTypeHelper().define(quoteTypeDef);
-
- DataObject quote = hc1.getDataFactory().create("http://www.example.com/simple", "Quote");
- quote.set("symbol", "abc");
-
- String xmlStr = hc1.getXMLHelper().save(quote, quote.getType().getURI(), "demandcreate");
-
- HelperContext hc2 = SDOUtil.createHelperContext();
- hc2.getXSDHelper().define(xsdStr);
-
- XMLDocument doc = hc2.getXMLHelper().load(xmlStr);
- try {
- doc.getRootObject();
- }
- catch (ClassCastException e) {
- fail(e.toString());
- }
- }
-
- public void testEncoding() throws IOException
- {
- TypeHelper types = hc.getTypeHelper();
- Type stringType = types.getType("commonj.sdo", "String");
- DataObject customerType = hc.getDataFactory().create("commonj.sdo", "Type");
- customerType.set("uri", "http://example.com/simple");
- customerType.set("name", "Simple");
- DataObject multiProperty = customerType.createDataObject("property");
- multiProperty.set("name", "name");
- multiProperty.set("type", stringType);
- types.define(customerType);
- DataObject obj = hc.getDataFactory().create("http://example.com/simple",
- "Simple");
- obj.set("name", "John Smith");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- hc.getXMLHelper().save(obj, "http://www.example.com/company" , "company", baos);
- ByteArrayInputStream bais = new ByteArrayInputStream(baos.toString().getBytes());
- XMLDocument xmlDoc = hc.getXMLHelper().load(bais);
- if( !"UTF-8".equals(xmlDoc.getEncoding()) )
- {
- fail("Encoding ('" + xmlDoc.getEncoding() +"' is not correct. UTF-8 is the expected encoding.");
- }
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java
deleted file mode 100644
index d58b070a90..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-public class XMLLoadOptionsTestCase extends TestCase {
- XMLHelper xmlHelper;
- Map options;
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- //SDOUtil->SDOHelper->SDOHelperImpl->HelperContextImpl->XMLHelperImpl
- public void testXMLOptionsSchema1() throws IOException{
- final String TEST_XML_DOCUMENT = "/SchemaLocationTestCase.xml";
-
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_SCHEMA, Boolean.TRUE);
-
- final XMLHelper xmlHelper = SDOUtil.createHelperContext(true, options).getXMLHelper();
-
- final XMLDocument xmlDoc = xmlHelper.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT), "whatever", null);
- final DataObject root = xmlDoc.getRootObject();
- assertNotSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- }
-
-// SDOUtil->SDOHelper->SDOHelperImpl->HelperContextImpl->XMLHelperImpl
- public void testXMLOptionsSchema2() throws IOException{
- final String TEST_XML_DOCUMENT = "/SchemaLocationTestCase.xml";
-
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_SCHEMA, Boolean.FALSE);
- final XMLHelper xmlHelper = SDOUtil.createHelperContext(true, options).getXMLHelper();
- final XMLDocument xmlDoc = xmlHelper.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT), "whatever", null);
- final DataObject root = xmlDoc.getRootObject();
- assertSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- }
-
- public void testXMLOptionsLax1() throws IOException{
- options = new HashMap();
- /*
- * turn off default behaviour of tolerating malformed xml
- * tests using this option and bad xml should demonstrate failure to load
- */
- options.put(SDOHelper.XMLOptions.XML_LOAD_LAX_FORM, new Integer(0));
- final HelperContext hc = SDOUtil.createHelperContext(true, options);
- hc.getXSDHelper().define(
- "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
- "</schema>");
-
- final String xml="<p:root xmlns:p=\"testNS\">"+
- "<p:unqualifiedElement/>"+
-"</p:root>";
-
- /*
- * this malformed xml will not load, as lax is forced OFF
- * changing p:unqualifiedElement to unqualifiedElement
- * will work */
- try{
- hc.getXMLHelper().load(new StringReader(xml), null, null);
- fail();
- } catch (final Resource.IOWrappedException featureNotFound) {
- assertTrue(true);
- }
-
- }
-
- public void testXMLOptionsLax2() throws IOException{
- options = new HashMap();
- /*
- * turn on default behaviour of tolerating malformed xml
- * tests using this option and bad xml will load
- */
- options.put(SDOHelper.XMLOptions.XML_LOAD_LAX_FORM, new Integer(1));
- final HelperContext hc = SDOUtil.createHelperContext(true, options);
- hc.getXSDHelper().define(
- "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
- "</schema>");
-
- final String xml="<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\" qualifiedAttribute=\"q\">"+
- "<p:unqualifiedElement/>"+
- "<qualifiedElement/>"+
- "</p:root>";
-
- /*
- * this malformed xml will load, as lax is forced ON
- */
- assertNotNull(hc.getXMLHelper().load(new StringReader(xml), null, null).getRootObject());
- }
-
- //SDOUtil->SDOHelper->SDOHelperImpl->XMLStreamHelperImpl->XMLDocumentImpl
- public void testXMLStreamHelper() throws IOException, XMLStreamException{
- options = new HashMap();
- /*
- * turn off default behaviour of tolerating malformed xml
- * tests using this option and bad xml will load
- */
- options.put(SDOHelper.XMLOptions.XML_LOAD_LAX_FORM, new Integer(1));
- final HelperContext hc = SDOUtil.createHelperContext(false, options);
- final XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(hc);
- hc.getXSDHelper().define(
- "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
- "</schema>");
-
- final String xml="<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\" qualifiedAttribute=\"q\">"+
- "<p:unqualifiedElement/>"+
- "<qualifiedElement/>"+
- "</p:root>";
-
- final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- final XMLStreamReader reader1 = inputFactory.createXMLStreamReader(new StringReader(xml));
- int event = reader1.getEventType();
- while (!(event == XMLStreamConstants.START_ELEMENT)){
- event = reader1.next();
- }
- final DataObject dataObject = streamHelper.loadObject(reader1);
- /*
- * this malformed xml will load, as lax is forced ON
- */
- assertNotNull(dataObject);
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadUnknownFeatureTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadUnknownFeatureTestCase.java
deleted file mode 100644
index 7888a82043..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadUnknownFeatureTestCase.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.helper.HelperContext;
-
-/**
- * @version $Rev$ $Date$
- */
-public class XMLLoadUnknownFeatureTestCase extends TestCase {
- private static final String XML =
- "<ns:return xmlns:ns=\"http://services.move.ec3\" xmlns:ax21=\"http://types.move.ec3/xsd\" " + "xmlns:_typens_=\"http://types.move.ec3/xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" type=\"ec3.move.types.Comment\" xsi:type=\"_typens_:Comment\">"
- + "<ax21:body>c</ax21:body><ax21:caption>b</ax21:caption><ax21:entryId>1</ax21:entryId><ax21:owner>a1</ax21:owner><ax21:reference>a1</ax21:reference><ax21:tstamp>2008-04-16T16:22:07.812Z</ax21:tstamp></ns:return>";
-
- public void testLoad() {
- HelperContext context = SDOUtil.createHelperContext();
- InputStream is = getClass().getResourceAsStream("/comment.xsd");
- context.getXSDHelper().define(is, null);
- try {
- // Comment out as it fails
- // context.getXMLHelper().load(XML);
- } catch (StackOverflowError e) {
- // FIXME: This test case is failing at this point
- e.printStackTrace();
- }
-
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java
deleted file mode 100644
index 27b750b0ff..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.HashMap;
-
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class XMLSaveOptionsTestCase extends TestCase {
- HelperContext hc;
- private XSDHelper xsdHelper;
- XMLHelper xmlh;
- XMLStreamHelper xmlStreamHelper;
- static final String INDENT = " ", MARGIN = " ", LINE_BREAK = "\n";
- String formatted1 = MARGIN+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +LINE_BREAK+
- MARGIN+ "<cs:stockQuote xmlns:cs=\"http://www.example.com/simpleCS\">" +LINE_BREAK+
- MARGIN+INDENT+ "<symbol>FBNT</symbol>" +LINE_BREAK+
- MARGIN+INDENT+ "<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
- MARGIN+INDENT+ "<price>999.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "<volume>1000.0</volume>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>1500.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>2500.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>3000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>4000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<changes create=\"#//quotes[3] #//quotes[4]\" delete=\"#//changes/stockQuote[1]/quotes[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<cs:stockQuote sdo:ref=\"#/stockQuote\" sdo:unset=\"volume\">" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<price>1000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[1]\" />" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[2]\" />" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "</cs:stockQuote>" +LINE_BREAK+
- MARGIN+INDENT+ "</changes>" +LINE_BREAK+
- MARGIN+ "</cs:stockQuote>";
-
- String formatted2 =
- //MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
- MARGIN+ "<p0:stockQuote xmlns:p0=\"http://www.example.com/simple\">" +LINE_BREAK+
- MARGIN+INDENT+"<symbol>fbnt</symbol>" +LINE_BREAK+
- MARGIN+INDENT+"<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
- MARGIN+INDENT+"<price>1000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+"<open1>1000.0</open1>" +LINE_BREAK+
- MARGIN+INDENT+"<high>1000.0</high>" +LINE_BREAK+
- MARGIN+INDENT+"<low>1000.0</low>" +LINE_BREAK+
- MARGIN+INDENT+"<volume>1000.0</volume>" +LINE_BREAK+
- MARGIN+INDENT+"<change1>1000.0</change1>" +LINE_BREAK+
- MARGIN+"</p0:stockQuote>" +LINE_BREAK;
-
- void define(final String model) throws IOException {
- // Populate the meta data for the test model
- final URL url = getClass().getResource(model);
- xsdHelper.define(url.openStream(), url.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- //use XMLHelper
- public void testSaveXMLDocumentXMLHelper() throws IOException {
- final HashMap options = new HashMap();
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_INDENT, INDENT);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_MARGIN, MARGIN);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, LINE_BREAK);
- hc = SDOUtil.createHelperContext(false,options);
- xsdHelper = hc.getXSDHelper();
- xmlh = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- define("/simpleWithChangeSummary.xsd");
- final XMLDocument doc = xmlh.load(getClass().getResource("/simpleWithChangeSummary.xml").openStream());
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlh.save(xmlh.createDocument(doc.getRootObject(), doc.getRootElementURI(), doc.getRootElementName()), baos, null);
- assertEquals(formatted1, baos.toString());
- }
-
- //use XMLStreamHelper
- public void testSaveXMLDocumentXMLStreamHelper() throws Exception {
- final HashMap options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_SCHEMA, Boolean.FALSE);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_INDENT, INDENT);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_MARGIN, MARGIN);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, LINE_BREAK);
- final HelperContext hc = SDOUtil.createHelperContext(false, options);
- xmlStreamHelper = SDOUtil.createXMLStreamHelper(hc);
-
- xsdHelper = hc.getXSDHelper();
- define("/simple.xsd");
-
- final InputStream inStrm = getClass().getResourceAsStream("/shallowquote.xml");
- final XMLDocument document = hc.getXMLHelper().load(inStrm, null, null);
-
- final XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
-
- xmlStreamHelper.save(document, streamWriter, null);
- streamWriter.flush();
- assertEquals(formatted2, writer.toString());
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java
deleted file mode 100644
index ef701059c4..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.*;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import javax.xml.stream.*;
-
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.*;
-import commonj.sdo.helper.*;
-
-
-public class XMLStreamHelperPerformanceTestCase extends TestCase {
- private final String TEST_MODEL = "/XMLStreamHelper.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
-
- HelperContext hc;
-
- /**
- * Simple Dynamic SDO 2 test.
- */
- public void testDynamic() throws Exception {
- final TypeHelper typeHelper = hc.getTypeHelper();
- final Type quoteType = typeHelper.getType(TEST_NAMESPACE, "Quote");
- final DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- final DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- final DataObject quote3 = quote.createDataObject("quotes3");
- quote3.setString("symbol3", "IBM");
- quote3.setString("company3", "IBM Corp.");
-
- final XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(hc);
- final XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
-
- final XMLDocument doc = hc.getXMLHelper().createDocument(quote, TEST_NAMESPACE, "stockQuote");
- streamHelper.save(doc, streamWriter);
- streamWriter.flush();
- assertEquals("<p0:stockQuote xmlns:p0=\"http://www.example.com/simple\" xmlns:p1=\"http://www.example.com/simple3\"><p0:symbol>fbnt</p0:symbol><p0:companyName>FlyByNightTechnology</p0:companyName><p0:price>1000.0</p0:price><p0:open1>1000.0</p0:open1><p0:high>1000.0</p0:high><p0:low>1000.0</p0:low><p0:volume>1000.0</p0:volume><p0:change1>1000.0</p0:change1><p0:quotes><p0:price>2000.0</p0:price></p0:quotes><p0:quotes3><p1:symbol3>IBM</p1:symbol3><p1:company3>IBM Corp.</p1:company3></p0:quotes3></p0:stockQuote>",writer.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
-
- // Populate the meta data for the test (Stock Quote) model
- final URL url = getClass().getResource(TEST_MODEL);
- final InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java
deleted file mode 100644
index d63d63b5fb..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-
-public class XMLStreamHelperTestCase extends TestCase {
-
- private HelperContext hc;
-
- private XMLStreamHelper streamHelper;
-
- private XMLInputFactory inputFactory;
-
- private XMLOutputFactory outputFactory;
-
- private final QName module = new QName("http://foo", "module");
-
- private final QName name = new QName("http://bar", "implementation.mock");
-
- private final String testName = "foo-ext";
- // private String testName = "complex";
-
- private String xml;
-
- // = "<module name=\"m\" xmlns=\"http://foo\" xmlns:bar=\"http://bar\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
- // xsi:schemaLocation=\"http://bar foo-ext.xsd http://foo foo.xsd \"><component name=\"c\"><bar:implementation.mock
- // myAttr=\"helloworld.HelloWorldImpl\" listAttr=\"1 2\">1<bar:myElement>Dummy</bar:myElement>2</bar:implementation.mock></component></module>";
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- streamHelper = SDOUtil.createXMLStreamHelper(hc);
-
- URL url = getClass().getClassLoader().getResource(testName + ".xsd");
- hc.getXSDHelper().define(url.openStream(), url.toExternalForm());
- url = getClass().getResource("/mixed.xsd");
- hc.getXSDHelper().define(url.openStream(), url.toString());
-
- inputFactory = XMLInputFactory.newInstance();
- outputFactory = XMLOutputFactory.newInstance();
-
- url = getClass().getClassLoader().getResource(testName + ".xml");
- final InputStreamReader reader = new InputStreamReader(url.openStream());
- final StringBuffer stringBuffer = new StringBuffer();
- final char buf[] = new char[1024];
- int size;
- while ((size = reader.read(buf)) != -1) {
- stringBuffer.append(buf, 0, size);
- }
- xml = stringBuffer.toString();
- reader.close();
- }
-
- public void testLoadObject() throws Exception {
- final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml));
- int event = reader.getEventType();
- while (!((event == XMLStreamConstants.START_ELEMENT) && reader.getName().equals(name)) && reader.hasNext()) {
- event = reader.next();
- }
- final DataObject dataObject = streamHelper.loadObject(reader);
- Assert.assertNotNull(dataObject);
- Assert.assertTrue(dataObject.getString("myAttr").equals("helloworld.HelloWorldImpl"));
- }
-
- public void testLoadUnqualifiedObject() throws Exception {
- final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml.replaceAll("bar:", "")));
- int event = reader.getEventType();
- while (!((event == XMLStreamConstants.START_ELEMENT) && reader.getName().getLocalPart().equals(name.getLocalPart())) && reader.hasNext()) {
- event = reader.next();
- }
- final Map options = new HashMap();
- options.put(XMLStreamHelper.OPTION_DEFAULT_ROOT_TYPE, hc.getTypeHelper().getType(name.getNamespaceURI(), "MockImplementation"));
- final DataObject dataObject = streamHelper.loadObject(reader, options);
- Assert.assertNotNull(dataObject);
- Assert.assertTrue(dataObject.getString("myAttr").equals("helloworld.HelloWorldImpl"));
- }
-
- public void testLoad() throws Exception {
- final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml));
- final XMLDocument document = streamHelper.load(reader);
- Assert.assertNotNull(document);
- Assert.assertEquals(document.getRootElementURI(), module.getNamespaceURI());
- Assert.assertEquals(document.getRootElementName(), module.getLocalPart());
- final DataObject moduleObject = document.getRootObject();
- final List components = moduleObject.getList("component");
- final DataObject componentObject = (DataObject) components.get(0);
- final DataObject implObject = componentObject.getDataObject("implementation.mock");
- Assert.assertTrue(implObject.getString("myAttr").equals("helloworld.HelloWorldImpl"));
- }
-
- public void testSave() throws XMLStreamException {
- final XMLDocument document = hc.getXMLHelper().load(xml);
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.save(document, streamWriter);
- streamWriter.flush();
- final String xmlStr = writer.toString();
- //System.out.println(xmlStr);
- Assert.assertTrue(xmlStr.indexOf("myAttr=\"helloworld.HelloWorldImpl\"")!=-1);
- }
-
- public void testSaveObject() throws XMLStreamException {
- final XMLDocument document = hc.getXMLHelper().load(xml);
- final DataObject moduleObject = document.getRootObject();
- final List components = moduleObject.getList("component");
- final DataObject componentObject = (DataObject) components.get(0);
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.saveObject(componentObject, streamWriter);
- streamWriter.flush();
- Assert.assertTrue(writer.toString().indexOf("myAttr=\"helloworld.HelloWorldImpl\"")!=-1);
- }
-
- public void testSaveSequence() throws IOException, XMLStreamException {
- final DataObject quote = hc.getDataFactory().create("http://www.example.com/mixed", "MixedQuote");
- quote.setString("symbol", "fbnt");
- quote.getSequence().addText(0, "testing");
- quote.getSequence().addText("more testing");
-
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.saveObject(quote, streamWriter);
- streamWriter.flush();
- //System.out.println(writer);
- assertTrue(writer.toString().indexOf("<symbol>fbnt</symbol>") != -1);
- }
-
- // Test case for TUSCANY-1788
- public void testXSIType() throws Exception {
- URL ipo = getClass().getResource("/ipo.xsd");
- hc.getXSDHelper().define(ipo.openStream(), ipo.toString());
- DataObject d = hc.getDataFactory().create("http://www.example.com/IPO", "PurchaseOrderType");
- DataObject billTo = hc.getDataFactory().create("http://www.example.com/IPO", "USAddress");
- billTo.setString("city", "San Jose");
- billTo.setString("state", "CA");
- d.setDataObject("billTo", billTo);
- XMLDocument ipoDoc = hc.getXMLHelper().createDocument(d, "http://www.example.com/IPO", "purchaseOrder");
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter xmlWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.save(ipoDoc, xmlWriter, null);
- xmlWriter.close();
- String xml = writer.toString();
- assertTrue(xml.indexOf("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"") != -1);
- assertTrue(xml.indexOf("xsi:type") != -1);
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java
deleted file mode 100644
index 8824ae7f13..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-public class XMLUnknownPropertiesTestCase extends TestCase {
- XMLHelper xmlHelper;
- Map options;
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- // SDOUtil->SDOHelper->SDOHelperImpl->HelperContextImpl->XMLHelperImpl
- public void testOptionUnknownProperties() throws IOException {
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_UNKNOWN_PROPERTIES, Boolean.TRUE);
-
- final HelperContext hc = SDOUtil.createHelperContext(true);
- hc
- .getXSDHelper()
- .define("<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">" + "<element name=\"root\">"
- + "<complexType>"
- + "<sequence>"
- + "<element name=\"unqualifiedElement\" type=\"string\"/>"
- + "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"
- + "</sequence>"
- + "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"
- + "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"
- + "</complexType>"
- + "</element>"
- + "</schema>");
-
- final String xml =
- "<p:root xmlns:p=\"testNS\">" + "<unqualifiedElement/>"
- + "<telem>my test data0</telem>"
- + "<zap>my test data1</zap>"
- + "</p:root>";
-
- try {
- final XMLDocument xmlDoc = hc.getXMLHelper().load(new StringReader(xml), null, options);// pass
- // during
- // invoke
-
- final DataObject root = xmlDoc.getRootObject();
- assertNotSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- hc.getXMLHelper().save(xmlDoc, baos, null);
- assertTrue(baos.toString().indexOf("<telem>my test data0</telem>") != -1);
- assertTrue(baos.toString().indexOf("<zap>my test data1</zap>") != -1);
- } catch (final Exception e) {// (Resource.IOWrappedException featureNotFound)
- e.printStackTrace();
- }
- }
-
- public void testOptionUnknownProperties2() throws IOException {
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_UNKNOWN_PROPERTIES, Boolean.FALSE);
-
- final HelperContext hc = SDOUtil.createHelperContext(true);
- hc
- .getXSDHelper()
- .define("<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">" + "<element name=\"root\">"
- + "<complexType>"
- + "<sequence>"
- + "<element name=\"unqualifiedElement\" type=\"string\"/>"
- + "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"
- + "</sequence>"
- + "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"
- + "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"
- + "</complexType>"
- + "</element>"
- + "</schema>");
-
- final String xml =
- "<p:root xmlns:p=\"testNS\">" + "<unqualifiedElement/>"
- + "<telem>my test data</telem>"
- + "<telem1>my test data</telem1>"
- + "</p:root>";
-
- try {
- final XMLDocument xmlDoc = hc.getXMLHelper().load(new StringReader(xml), null, options);// pass
- // on
- // invokation
- final DataObject root = xmlDoc.getRootObject();
- assertNotSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- fail();
- } catch (final Exception e) {// (Resource.IOWrappedException featureNotFound)
- // e.printStackTrace();
- if (e.getMessage().indexOf("telem") != -1) {
- Assert.assertTrue(true);
- }
- }
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java
deleted file mode 100644
index 45f92a73b2..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class XPathTestCase extends TestCase {
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- private final String TEST_MODEL = "/xpath.xsd";
- private final String XPATH_XML = "/xpath.xml";
-
- /**
- * The presence or absence of the @ sign in a path has no meaning.
- * Properties are always matched by name independent of their XML representation.
- * @throws IOException
- */
- public void testAtSignProperty() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
-
- inputStream.close();
-
- XMLDocument doc = xmlHelper.load(getClass().getResourceAsStream(XPATH_XML));
-
- DataObject drive = doc.getRootObject();
- DataObject folder1 = (DataObject) drive.get("Folder.1");
- String value = folder1.getString("@creation_date");
-
- assertEquals(value, "2000-03-23");
- }
-
- public void testListIndexing() throws Exception {
- XSDHelper xsdHelper = hc.getXSDHelper();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
-
- inputStream.close();
-
- XMLDocument doc = xmlHelper.load(getClass().getResourceAsStream(XPATH_XML));
-
- DataObject root = doc.getRootObject();
- DataObject folder1 = root.getDataObject("Folder[1]");
- assertNotNull(folder1);
- DataObject folder1a = root.getDataObject("Folder.0");
- assertEquals(folder1, folder1a);
- folder1a = root.getDataObject("Folder[FolderName=Folder00000000000]");
- assertEquals(folder1, folder1a);
-
- DataObject noFolder = null;
-
- try {
- noFolder = root.getDataObject("Folder[3]");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- try {
- noFolder = root.getDataObject("Folder[0]");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- try {
- noFolder = root.getDataObject("Folder.2");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- try {
- noFolder = root.getDataObject("Folder.-1");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- noFolder = root.getDataObject("Folder[FolderName=foo]");
- assertNull(noFolder);
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
deleted file mode 100644
index b8d3402172..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import com.example.simple.SimpleFactory;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * @version $Rev$ $Date$
- */
-public class XSDHelperTestCase extends TestCase {
- private static final String TEST_MODEL = "/simple.xsd";
- private static final String TEST_MODEL2 = "/xsdCorners.xsd";
- private URL modelURL;
- private URL xsdCornersURL;
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- modelURL = getClass().getResource(TEST_MODEL);
- xsdCornersURL = getClass().getResource(TEST_MODEL2);
- }
-
- public void testDefineWithLocation() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- List types = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertEquals(2, types.size());
- }
-
- public void testDefineWithNoLocation() {
- XSDHelper xsdHelper = hc.getXSDHelper();
- List types = xsdHelper.define(getClass().getResourceAsStream(TEST_MODEL), null);
- assertEquals(2, types.size());
- }
-
- public void testDuplicateDefineWithLocation() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- List types = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertEquals(2, types.size());
-
- List types2 = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertEquals(0, types2.size());
- }
-
- public void testXSDGeneration_staticSDOType() throws IOException
- {
- //test for static sdo type. The test succeeds if the IllegalArgumentException is thrown
- //by XSDHelper.generate method in which case the string xsd must be null;
-
- SimpleFactory.INSTANCE.register(hc);
- XSDHelper xsdHelper = hc.getXSDHelper();
- DataObject quoteSDO = (DataObject)SimpleFactory.INSTANCE.createQuote();
- List typeList = new Vector();
- typeList.add(quoteSDO.getType());
- String xsd = null;
-
- try
- {
- xsd = xsdHelper.generate(typeList);
- xsd = "";
- }
- catch ( IllegalArgumentException e )
- {
- }
- assertNull(xsd);
- }
-
- public void testXSDGeneration_DynamicSDOType() throws IOException
- {
- //test for dynamic SDOs that have no XSD model. Here the testcase succeeds only if the
- //xsd is generated by XSDHelper in which case xsd must not be null
- XSDHelper xsdHelper = hc.getXSDHelper();
- DataObject quoteType = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- quoteType.set("uri", "http://www.example.com/dynamic");
- quoteType.set("name", "DynamicQuote");
-
- DataObject aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "symbol");
- aProperty.set("type", TypeHelper.INSTANCE.getType("commonj.sdo", "String"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "price");
- aProperty.set("type", TypeHelper.INSTANCE.getType("commonj.sdo", "Decimal"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "volume");
- aProperty.set("type", TypeHelper.INSTANCE.getType("commonj.sdo", "Double"));
-
- TypeHelper.INSTANCE.define(quoteType);
-
- Type dynamicQuoteType =
- TypeHelper.INSTANCE.getType("http://www.example.com/dynamic", "DynamicQuote");
-
- Vector types = new Vector();
- types.add(dynamicQuoteType);
- String xsd = null;
-
- try
- {
- xsd = xsdHelper.generate(types);
- //System.out.println(xsd);
- }
- catch ( IllegalArgumentException e )
- {
- }
- assertNotNull(xsd);
-
- }
-
- public void testXSDGeneration_DynamicWithNestedStaticSDOType() throws IOException
- {
- //testing static SDO with XSD Model being contained in a Dynamic SDO not having an XSD Model.
- //the schema must be generated with imports / includes for the XSD corresponding to the static
- //sdo types.
- TypeHelper typeHelper = hc.getTypeHelper();
- XSDHelper xsdHelper = hc.getXSDHelper();
-
- SimpleFactory.INSTANCE.register(hc);
- DataObject quoteSDO = (DataObject)SimpleFactory.INSTANCE.createQuote();
-
-
- DataObject quoteType = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- quoteType.set("uri", "http://www.example.com/dynamic");
- quoteType.set("name", "DynamicQuote");
-
- DataObject aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "symbol");
- aProperty.set("type", typeHelper.getType("commonj.sdo", "String"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "price");
- aProperty.set("type", typeHelper.getType("commonj.sdo", "Decimal"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "volume");
- aProperty.set("type", typeHelper.getType("commonj.sdo", "Double"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "containedQuotes");
- aProperty.set("type", typeHelper.getType(quoteSDO.getType().getURI(), quoteSDO.getType().getName()));
- aProperty.set("containment", new Boolean(true));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "referredQuotes");
- aProperty.set("type", typeHelper.getType(quoteSDO.getType().getURI(), quoteSDO.getType().getName()));
-
- typeHelper.define(quoteType);
-
- Type dynamicQuoteType =
- typeHelper.getType("http://www.example.com/dynamic", "DynamicQuote");
- Vector types = new Vector();
- types.add(dynamicQuoteType);
- String xsd = null;
-
- try
- {
- Hashtable schemaLocationMap = new Hashtable();
- schemaLocationMap.put("http://www.example.com/simple", "http://www.example.com/simple/xsd");
- xsd = xsdHelper.generate(types, schemaLocationMap);
- //System.out.println(xsd);
- }
- catch ( IllegalArgumentException e )
- {
- }
- assertNotNull(xsd);
-
- }
-
- public void testPrefixFromNSWithHyphenNumber() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- xsdHelper.define(xsdCornersURL.openStream(), xsdCornersURL.toString());
- DataFactory df = hc.getDataFactory();
- DataObject root = df.create("http://www.example.com/simple-1", "A");
- root.setString("a1", "a1s");
- root.setString("a2", "a2s");
-
- String doc = hc.getXMLHelper().save(root, "http://www.example.com/simple-1", "a");
- assertTrue(doc.indexOf("xmlns:s1=\"http://www.example.com/simple-1\"") != -1);
- }
-
- public void testShortPrefix() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- URL url = getClass().getResource("/prefix.xsd");
- xsdHelper.define(url.openStream(), url.toString());
- DataObject cmd = hc.getDataFactory().create("http://soaassureservice.soabench.ibm.com", "CreateClaim");
- cmd.setString("requestInfo", "cost");
- String doc = hc.getXMLHelper().save(cmd, "http://soaassureservice.soabench.ibm.com", "createClaim");
- assertTrue(doc.indexOf("xmlns:as=\"http://soaassureservice.soabench.ibm.com\"") != -1);
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java
deleted file mode 100644
index f369b340ed..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-public class XSDQNameTestCase extends TestCase {
- private final String xsdString =
- "<xsd:schema targetNamespace=\"http://www.example.com/simple\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:simple=\"http://www.example.com/simple\"> " +
- "<xsd:element name=\"stockQuote\" type=\"simple:Quote\"/> " +
- "<xsd:complexType name=\"Quote\"> " +
- "<xsd:sequence> " +
- "<xsd:element name=\"symbol\" type=\"xsd:string\"/> " +
- "<xsd:element name=\"policy\" type=\"xsd:QName\"/> " +
- "</xsd:sequence> " +
- "</xsd:complexType> " +
- "</xsd:schema>";
-
- private final String xmlString =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?> " +
- "<simple:stockQuote xmlns:simple=\"http://www.example.com/simple\"> " +
- "<symbol>fbnt</symbol> " +
- "<policy>simple:stockQuote</policy> " +
- "</simple:stockQuote>";
-
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
-
- HelperContext hc;
- TypeHelper th;
-
- /**
- * Based on Spec 2.1, section 9.4.1, the return value of DataObject.get() on XSD QName property
- * should be http://www.example.com/simple#stockQuote
- * TODO add this to the CTS
- *
- * @throws IOException
- */
- public void testLoad() throws IOException {
- XMLDocument doc = hc.getXMLHelper().load(xmlString);
- DataObject root = doc.getRootObject();
- assertEquals("http://www.example.com/simple#stockQuote", root.get("policy"));
- }
-
- /**
- * After serialization, the value of XSD QName property in XML should be <prefix>:stockQuote
- */
- public void testSave() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "Quote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.set("policy", "http://www.example.com/simple#stockQuote");
-
- String str = hc.getXMLHelper().save(quote, TEST_NAMESPACE, "stockQuote");
- int start = str.indexOf("<policy>");
- int end = str.indexOf("</policy>");
- assertTrue(start != -1 && end != -1);
-
- String policyValue = str.substring(start + "<policy>".length(), end);
-
- Pattern pattern = Pattern.compile(".*:stockQuote"); // prefix can be anything
-
- Matcher matcher = pattern.matcher(policyValue);
- assertTrue(matcher.find());
- }
-
- /**
- * Test the scenario that the xsd:QName property value contains non-existent namespace
- */
- public void testSave2() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "Quote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.set("policy", "http://www.example.com/simple2#stockQuote");
-
- String str = hc.getXMLHelper().save(quote, TEST_NAMESPACE, "stockQuote");
-
- // Make sure the non-existent namespace was serialized
- Pattern pattern = Pattern.compile(".*xmlns:.*=\"http://www.example.com/simple2\"");
- Matcher matcher = pattern.matcher(str);
- assertTrue(matcher.find());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
-
- hc.getXSDHelper().define(xsdString);
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/ClassLoaderTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/ClassLoaderTestCase.java
deleted file mode 100644
index 8fbd74ac0d..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/ClassLoaderTestCase.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test.osgi;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.HashSet;
-
-import org.apache.tuscany.sdo.test.AllTests;
-import commonj.sdo.impl.HelperProvider;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-/*
- * This test runs the SDO implementation test suite in a multi-classloader environment
- */
-public class ClassLoaderTestCase extends TestCase {
-
- private ClassLoader contextClassLoader;
-
- protected void setUp() throws Exception {
-
- contextClassLoader = Thread.currentThread().getContextClassLoader();
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- Thread.currentThread().setContextClassLoader(contextClassLoader);
- }
-
- // Load the test class using a separate test classloader which
- // loads SDO API, LIB and IMPL using different classloaders
- // Run the SDO test suite under this multi-classloader environment
- // Third party libraries and test classes/resources are available
- // on the thread context classloader when this test is run
- public void test() throws Exception {
- ClassLoader testClassLoader = createTestClassLoader();
-
- Class testClass = testClassLoader.loadClass(this.getClass().getName());
- Method testMethod = testClass.getMethod("runSDOTest", null);
- Object testObj = testClass.newInstance();
- testMethod.invoke(testObj, null);
-
-
- }
-
-
- public void runSDOTest() throws Exception {
-
- HelperProvider.setDefaultInstance(this.getClass().getClassLoader());
-
- TestSuite allTests = AllTests.suite();
- TestResult testResult = new TestResult();
- allTests.run(testResult);
- Assert.assertEquals(0, testResult.errorCount());
- }
-
-
- // Get all the URLs for a classloader, remove these from dependentJars
- private URL[] getClassLoaderURLs(
- URL[] classPathEntries,
- HashSet dependentJars,
- String[] jarList)
- throws IOException {
-
- String pathSeparator = "/";
- HashSet classPathEntrySet;
-
- classPathEntrySet = new HashSet();
-
- for (int i = 0; i < classPathEntries.length; i++) {
-
- URL classPathEntry = classPathEntries[i];
- String classPathEntryStr = classPathEntry.getPath();
- if (jarList != null) {
- for (int k = 0; k < jarList.length; k++) {
- String jarName = "tuscany-" + jarList[k];
- String alternateJarName = "tuscany-sdo-" + jarList[k];
- String folderName = pathSeparator + jarList[k] + pathSeparator;
- if (classPathEntryStr.indexOf(jarName) >= 0 ||
- classPathEntryStr.indexOf(alternateJarName) >=0 ||
- classPathEntryStr.indexOf(folderName) >=0) {
-
- classPathEntrySet.add(classPathEntry);
- dependentJars.remove(classPathEntry);
- }
- }
- }
- }
- return (URL [])classPathEntrySet.toArray(new URL[classPathEntrySet.size()]);
- }
-
-
- // Create the test classloader. It uses separate classloaders to load SDO API, SDO LIB,
- // SDO IMPL and 3rd part libraries
- private ClassLoader createTestClassLoader() throws Exception {
-
- String[] sdoApiJars = {"sdo-api"};
- String[] sdoLibJars = {"lib"};
- String[] sdoImplJars = {"impl"};
-
- URL[] sdoApiUrls;
- URL[] sdoLibUrls;
- URL[] sdoImplUrls;
- URL[] dependencyUrls;
-
- if (!(this.getClass().getClassLoader() instanceof URLClassLoader))
- return this.getClass().getClassLoader();
-
- HashSet dependentJars = new HashSet();
- URL[] classPathEntries = ((URLClassLoader)this.getClass().getClassLoader()).getURLs();
- for (int i = 0; i < classPathEntries.length; i++) {
- dependentJars.add(classPathEntries[i]);
- }
- sdoApiUrls = getClassLoaderURLs(classPathEntries, dependentJars, sdoApiJars);
- sdoLibUrls = getClassLoaderURLs(classPathEntries, dependentJars, sdoLibJars);
- sdoImplUrls = getClassLoaderURLs(classPathEntries, dependentJars, sdoImplJars);
- dependencyUrls = (URL [])dependentJars.toArray(new URL[dependentJars.size()]);
-
- ClassLoader dependencyLoader = new URLClassLoader(dependencyUrls, null);
- ClassLoader sdoApiLoader = new URLClassLoader(sdoApiUrls, dependencyLoader);
- ClassLoader sdoLibClassLoader = new URLClassLoader(sdoLibUrls, sdoApiLoader);
- ClassLoader sdoImplClassLoader = new URLClassLoader(sdoImplUrls, sdoLibClassLoader);
-
-
- TestClassLoader testClassLoader = new TestClassLoader(
- new ClassLoader[] {sdoApiLoader, sdoLibClassLoader, sdoImplClassLoader, dependencyLoader}
- );
-
-
- // Test classes and 3rd party libraries should be on the context classloader
- URL testUrl = new File("./target/test-classes").toURL();
- ClassLoader contextClassLoader = new URLClassLoader(new URL[]{testUrl}, dependencyLoader);
- Thread.currentThread().setContextClassLoader(contextClassLoader);
-
- return testClassLoader;
- }
-
-
-
- private class TestClassLoader extends ClassLoader {
-
- ClassLoader[] parentLoaders;
-
- private TestClassLoader(ClassLoader[] parentLoaders) {
- this.parentLoaders = parentLoaders;
- }
-
- public Class loadClass(String className) throws ClassNotFoundException {
-
- Class clazz = findLoadedClass(className);
- if (clazz != null)
- return clazz;
-
- for (int i = 0; i < parentLoaders.length; i++) {
- try {
- return parentLoaders[i].loadClass(className);
- } catch (Exception e) {
- // speculative load using parent class loader failed, but that's OK
- }
- }
- return super.loadClass(className);
- }
-
-
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/OSGiTestCase.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/OSGiTestCase.java
deleted file mode 100644
index 5a67fc41c5..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/OSGiTestCase.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sdo.test.osgi;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FilenameFilter;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Manifest;
-import java.util.zip.ZipEntry;
-
-import org.apache.felix.framework.Felix;
-import org.apache.felix.main.Main;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-import junit.framework.TestCase;
-
-/*
- * This test runs the SDO implementation test suite under a Felix OSGi runtime
- */
-public class OSGiTestCase extends TestCase {
-
- private Felix felix;
- private BundleContext bundleContext;
- private ClassLoader contextClassLoader;
-
- protected void setUp() throws Exception {
-
- contextClassLoader = Thread.currentThread().getContextClassLoader();
-
- super.setUp();
-
- // Start a Felix OSGi runtime
- File profileDir = new File(".felix");
- if (profileDir.isDirectory())
- deleteDirectory(profileDir);
- else
- profileDir.delete();
- profileDir.mkdir();
-
- Properties props = Main.loadConfigProperties();
- props.put("felix.cache.profiledir", profileDir.getAbsolutePath());
- props.put("felix.embedded.execution", "true");
- props.put("org.osgi.framework.system.packages",
- "org.osgi.framework; version=1.3.0,"
- + "org.osgi.service.packageadmin; version=1.2.0, "
- + "org.osgi.service.startlevel; version=1.0.0, "
- + "org.osgi.service.url; version=1.0.0, " + "javax.xml, "
- + "javax.xml.parsers, " + "javax.xml.namespace, "
- + "org.xml.sax, " + "org.xml.sax.helpers, " + "org.xml.sax.ext, "
- + "org.w3c.dom, " + "org.w3c.dom.events, " + "javax.xml.stream, "
- + "javax.xml.transform, " + "javax.xml.transform.dom, "
- + "javax.xml.transform.stream, " + "org.objectweb.asm, "
- + "junit.framework");
-
- List activators = new ArrayList();
- Felix felix = new Felix(props, activators);
- felix.start();
- bundleContext = felix.getBundleContext();
- }
-
- protected void tearDown() throws Exception {
-
- super.tearDown();
- Thread.currentThread().setContextClassLoader(contextClassLoader);
-
- if (felix != null) {
- felix.stop();
- felix = null;
- }
- }
-
- // Install SDO spec, SDO lib, SDO impl, and its EMF dependencies
- // Create a test bundle containing all the SDO tests, and run the entire
- // test suite inside an OSGi container
- public void test() throws Exception {
-
- ArrayList bundles = new ArrayList();
- FilenameFilter jarFileFilter = new JarFileFilter();
-
- File apiDir = new File("../sdo-api/target");
- File[] apiJars = apiDir.listFiles(jarFileFilter);
- for (int i = 0; i < apiJars.length; i++) {
- Bundle bundle = bundleContext
- .installBundle(apiJars[i].toURL().toString());
- bundles.add(bundle);
- }
-
- File libDir = new File("../lib/target");
- File[] libJars = libDir.listFiles(jarFileFilter);
- for (int i = 0; i < libJars.length; i++) {
- Bundle bundle = bundleContext
- .installBundle(libJars[i].toURL().toString());
- bundles.add(bundle);
- }
-
- if (!(contextClassLoader instanceof URLClassLoader))
- return;
-
- URL[] classPathURLs = ((URLClassLoader) contextClassLoader).getURLs();
- for (int i = 0; i < classPathURLs.length; i++) {
- String url = classPathURLs[i].toString();
- if (url.indexOf("eclipse") > 0 && url.endsWith(".jar")) {
- Bundle bundle = installEclipseBundle(classPathURLs[i]);
- if (bundle != null)
- bundles.add(bundle);
- }
- }
-
- // When this test is run during the build, sdo.impl.jar would not yet have
- // been created
- // Create this bundle - use the manifest file provided in the test
- // directory, which works
- // with Felix.
- Bundle implBundle = installBundle("file:sdo.impl",
- "../impl/target/test-classes/osgi/sdo.impl.mf",
- new String[] { "../impl/target/classes" });
- bundles.add(implBundle);
-
- // Start all the installed bundles
- for (int i = 0; i < bundles.size(); i++) {
- Bundle bundle = (Bundle) bundles.get(i);
- try {
- bundle.start();
- } catch (Exception e) {
- e.printStackTrace();
- System.out.println("Could not start bundle " + bundle);
- // don't stop on first failure, so we document all failures
- // any failure will be re-triggered by the testBundle.start() call below
- }
- }
-
- // Install the test bundle - it contains all the test classes. The bundle
- // activator for
- // this class runs the entire test suite
- Bundle testBundle = installBundle("file:sdo.osgi.test",
- "../impl/target/test-classes/osgi/sdo.osgi.test.mf",
- new String[] { "../impl/target/test-classes" });
-
- TestClassLoader testClassLoader = new TestClassLoader(testBundle,
- contextClassLoader);
- Thread.currentThread().setContextClassLoader(testClassLoader);
-
- // The test suite is run inside an OSGi container by this call.
- testBundle.start();
- }
-
- // Delete any old Felix configuration files left over from previous runs
- private static void deleteDirectory(File dir) {
-
- File[] files = dir.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory())
- deleteDirectory(files[i]);
- else
- files[i].delete();
- }
- dir.delete();
-
- }
-
- // Create and install a bundle with the specified manifest file
- // The bundle contains all files from the list of directories specified
- public Bundle installBundle(String bundleLocation, String manifestFileName,
- String[] dirNames) throws Exception {
-
- ByteArrayOutputStream out = new ByteArrayOutputStream();
-
- File manifestFile = new File(manifestFileName);
- Manifest manifest = new Manifest();
- manifest.read(new FileInputStream(manifestFile));
-
- JarOutputStream jarOut = new JarOutputStream(out, manifest);
-
- for (int i = 0; i < dirNames.length; i++) {
- File dir = new File(dirNames[i]);
- addFilesToJar(dir, dirNames[i], jarOut);
- }
-
- jarOut.close();
- out.close();
-
- ByteArrayInputStream inStream = new ByteArrayInputStream(out.toByteArray());
- return bundleContext.installBundle(bundleLocation, inStream);
-
- }
-
- // Add all the files from a build directory into a jar file
- // This method is used to create bundles on the fly
- private void addFilesToJar(File dir, String rootDirName,
- JarOutputStream jarOut) throws Exception {
-
- if (dir.getName().equals(".svn"))
- return;
-
- File[] files = dir.listFiles();
-
- for (int i = 0; i < files.length; i++) {
-
- if (files[i].isDirectory()) {
- addFilesToJar(files[i], rootDirName, jarOut);
- continue;
- }
- if (files[i].getName().endsWith("MANIFEST.MF"))
- continue;
-
- String entryName = files[i].getPath().substring(rootDirName.length() + 1);
- entryName = entryName.replaceAll("\\\\", "/");
- ZipEntry ze = new ZipEntry(entryName);
-
- jarOut.putNextEntry(ze);
- FileInputStream file = new FileInputStream(files[i]);
- byte[] fileContents = new byte[file.available()];
- file.read(fileContents);
- jarOut.write(fileContents);
- }
- }
-
- // Install a bundle corresponding to an jar file from Eclipse (eg. EMF jars)
- // These bundle manifest entries use Require-Bundle of
- // eclipse core runtime. The Plugin class from the Eclipse runtime
- // is loaded by the bundle activator of some of these bundles.
- // Since this test is run under Felix, remove the dependency on
- // Eclipse runtime by removing the Require-Bundle and
- // Bundle-Activator entries from the manifest
- private Bundle installEclipseBundle(URL jarURL) throws Exception {
-
- JarInputStream jarInput = new JarInputStream(jarURL.openStream());
-
- Manifest manifest = jarInput.getManifest();
- if (manifest == null) {
- manifest = new Manifest();
- ZipEntry entry;
- while ((entry = jarInput.getNextEntry()) != null) {
- if (entry.getName().equals("META-INF/MANIFEST.MF")) {
- byte bytes[] = new byte[(int) entry.getSize()];
- jarInput.read(bytes);
- manifest.read(new ByteArrayInputStream(bytes));
- }
- }
- jarInput.close();
- jarInput = new JarInputStream(jarURL.openStream());
- }
- if (manifest == null
- || manifest.getMainAttributes() == null
- || !manifest.getMainAttributes().containsKey(
- new Attributes.Name("Bundle-SymbolicName"))) {
-
- return null;
- }
- manifest.getMainAttributes().remove(new Attributes.Name("Require-Bundle"));
- manifest.getMainAttributes()
- .remove(new Attributes.Name("Bundle-Activator"));
- manifest.getMainAttributes().put(
- new Attributes.Name("DynamicImport-Package"), "*");
-
- ByteArrayOutputStream out = new ByteArrayOutputStream();
-
- JarOutputStream jarOut = new JarOutputStream(out, manifest);
- ZipEntry entry;
- byte bytes[] = new byte[1024];
- while ((entry = jarInput.getNextEntry()) != null) {
- if (!entry.getName().equals("META-INF/MANIFEST.MF")) {
- jarOut.putNextEntry((JarEntry) entry);
- int len;
- while ((len = jarInput.read(bytes)) != -1) {
- jarOut.write(bytes, 0, len);
- }
- jarOut.closeEntry();
- }
- jarInput.closeEntry();
- }
- jarOut.close();
- out.close();
- jarInput.close();
-
- ByteArrayInputStream byteStream = new ByteArrayInputStream(out
- .toByteArray());
-
- return bundleContext.installBundle(jarURL.toString(), byteStream);
-
- }
-
- // Filter used to list jar files from a directory
- private class JarFileFilter implements FilenameFilter {
-
- public boolean accept(File dir, String name) {
- if (name.endsWith(".jar") && !name.endsWith("javadoc.jar"))
- return true;
- else
- return false;
- }
-
- }
-
- // Test classloader - used as context classloader
- private static class TestClassLoader extends ClassLoader {
-
- Bundle testBundle;
-
- private TestClassLoader(Bundle testBundle, ClassLoader parentClassLoader) {
- super(parentClassLoader);
- this.testBundle = testBundle;
- }
-
- public Class loadClass(String className) throws ClassNotFoundException {
- Class clazz = findLoadedClass(className);
- if (clazz != null)
- return clazz;
-
- try {
- return testBundle.loadClass(className);
- } catch (Exception e) {
- }
- return super.loadClass(className);
- }
-
- public URL getResource(String resName) {
- URL resource = testBundle.getResource(resName);
- if (resource == null)
- resource = super.getResource(resName);
- return resource;
- }
-
- }
-}
diff --git a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/TestBundleActivator.java b/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/TestBundleActivator.java
deleted file mode 100644
index 4458a13959..0000000000
--- a/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/osgi/TestBundleActivator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.tuscany.sdo.test.osgi;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-import java.util.Enumeration;
-
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestFailure;
-import junit.framework.TestResult;
-
-import org.apache.tuscany.sdo.AllTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-
-/*
- * Bundle activator for running the SDO test suite under OSGi
- * The SDO test suite is run inside an OSGi container when the bundle is started.
- */
-public class TestBundleActivator implements BundleActivator {
-
- public void start(BundleContext bundleContext) throws Exception {
- runSDOTests();
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
-
- }
-
-
- public void runSDOTests() throws Exception {
-
- Test allTests = AllTests.suite();
- TestResult testResult = new TestResult();
- allTests.run(testResult);
- System.out.println("Runs " + testResult.runCount() + ", Errors: "
- + testResult.errorCount());
-
- Enumeration e = testResult.errors();
- while (e.hasMoreElements()) {
- TestFailure f = (TestFailure) e.nextElement();
- System.out.println(f);
- System.out.println(f.exceptionMessage());
- }
-
- Assert.assertEquals(0, testResult.errorCount());
-
- }
-}
diff --git a/java/sdo/impl/src/test/resources/SchemaLocationTestCase.xml b/java/sdo/impl/src/test/resources/SchemaLocationTestCase.xml
deleted file mode 100644
index e13f45a877..0000000000
--- a/java/sdo/impl/src/test/resources/SchemaLocationTestCase.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<sl:purchaseReport
- xmlns:sl="http://www.example.com/xmlDocumentSchemaLocation"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.example.com/xmlDocumentSchemaLocation
- XMLDocumentSchemaLocation.xsd
- http://www.example.com/open
- open.xsd"
- xsi:noNamespaceSchemaLocation="XMLDocumentNoNamespaceSchemaLocation.xsd"
- periodEnding="2007-12-31">
- <sl:schemaLocationElement>some string</sl:schemaLocationElement>
- <aNoNamespaceSchemaLocationElement date="2006-04-01">
- <anElement>another string</anElement>
- </aNoNamespaceSchemaLocationElement>
-</sl:purchaseReport>
diff --git a/java/sdo/impl/src/test/resources/SequenceChangeSummary.xsd b/java/sdo/impl/src/test/resources/SequenceChangeSummary.xsd
deleted file mode 100644
index dd3c2bc2dc..0000000000
--- a/java/sdo/impl/src/test/resources/SequenceChangeSummary.xsd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sdo="commonj.sdo" xmlns:mixed="http://www.example.com/mixed" xmlns:open="http://www.example.com/open" targetNamespace="http://www.example.com/sequenceCS" xmlns:cs="http://www.example.com/sequenceCS">
-
- <import namespace="commonj.sdo" schemaLocation="sdoModel.xsd"/>
-
- <import namespace="http://www.example.com/mixed" schemaLocation="mixed.xsd"/>
- <import namespace="http://www.example.com/open" schemaLocation="open.xsd"/>
-
- <complexType name="RootQuote">
- <complexContent>
- <extension base="mixed:MixedQuote">
- <sequence>
- <element name="changes" type="sdo:ChangeSummaryType"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="stockQuote" type="cs:RootQuote"/>
-
- <element name="openQuote">
- <complexType>
- <complexContent>
- <extension base="open:OpenQuote">
- <sequence>
- <element name="changes" type="sdo:ChangeSummaryType"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- </element>
-
-</schema> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/SubstitutionValues.xsd b/java/sdo/impl/src/test/resources/SubstitutionValues.xsd
deleted file mode 100644
index e977e6e631..0000000000
--- a/java/sdo/impl/src/test/resources/SubstitutionValues.xsd
+++ /dev/null
@@ -1,31 +0,0 @@
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.apache.org/tuscany/SubstitutionValues"
- xmlns:sv="http://www.apache.org/tuscany/SubstitutionValues">
- <!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
- <element name="testObject" type="sv:TestObject"/>
- <element name="groupHead" type="string"/>
- <complexType name="TestObject">
- <sequence>
- <element ref="sv:groupHead"/>
- <element name="nonGroupHead" type="string"/>
- </sequence>
- </complexType>
- <element name="groupMember" type="string" substitutionGroup="sv:groupHead"/>
-</schema> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/TypePropertyMetadataInfo.xsd b/java/sdo/impl/src/test/resources/TypePropertyMetadataInfo.xsd
deleted file mode 100644
index 7a78772733..0000000000
--- a/java/sdo/impl/src/test/resources/TypePropertyMetadataInfo.xsd
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/metadata/retrievaltest"
- xmlns:metadata="http://www.example.com/metadata/retrievaltest">
-
-<annotation>
- <appinfo source="http://www.example.com/metadata/annotation">
- <p1:annotationSet xmlns:p1="http://www.example.com/metadata/annotation" name="test"/>
- </appinfo>
-</annotation>
-
-<complexType name="Example">
- <annotation>
- <appinfo source="http://www.example.com/metadata/annotation">
- <p1:example xmlns:p1="http://www.example.com/metadata/annotation">
- <p1:picture>forest.jpg</p1:picture>
- </p1:example>
- </appinfo>
- </annotation>
-
- <sequence>
- <element name="number" type="integer" minOccurs="0" maxOccurs="1">
- <annotation>
- <appinfo source="http://www.example.com/metadata/annotation">
- <p1:AttributeTypeMetadata xmlns:p1="http://www.example.com/metadata/annotation">
- <p1:getter>getNumber</p1:getter>
- <p1:setter>setNumber</p1:setter>
- </p1:AttributeTypeMetadata>
- </appinfo>
- </annotation>
- </element>
-
- <element name="Exampletype" type="string">
- <annotation>
- <appinfo source="http://www.example.com/metadata/annotation">
- <p1:AttributeTypeMetadata xmlns:p1="http://www.example.com/metadata/annotation">
- <p1:getter>getPhonetype</p1:getter>
- <p1:setter>setPhonetype</p1:setter>
- </p1:AttributeTypeMetadata>
- </appinfo>
- </annotation>
- </element>
- </sequence>
-</complexType>
-
-<simpleType name="ExampleNumber">
- <annotation>
- <appinfo source="http://www.example.com/metadata/annotation">
- This is the metadata for defining the ExampleNumber type.
- </appinfo>
- </annotation>
- <restriction base="integer">
- <minInclusive value="1"/>
- <maxInclusive value="29035"/>
- </restriction>
-</simpleType>
-
-<simpleType name="PhoneNumber">
- <annotation>
- <appinfo source="http://www.example.com/metadata/annotation">
- This is the metadata for defining the PhoneNumber type.
- </appinfo>
- </annotation>
- <restriction base="string">
- <length value="8"/>
- <pattern value="\d{3}-\d{4}"/>
- <pattern value="\d{6}-\d{8}"/>
- </restriction>
-</simpleType>
-
-<simpleType name="ExampleRating">
- <restriction base="string">
- <enumeration value=""/>
- <enumeration value="Good"/>
- <enumeration value="Bad"/>
- </restriction>
-</simpleType>
-
-</schema>
diff --git a/java/sdo/impl/src/test/resources/XMLDocumentNoNamespaceSchemaLocation.xsd b/java/sdo/impl/src/test/resources/XMLDocumentNoNamespaceSchemaLocation.xsd
deleted file mode 100644
index c2beb7708d..0000000000
--- a/java/sdo/impl/src/test/resources/XMLDocumentNoNamespaceSchemaLocation.xsd
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <xsd:element name="aNoNamespaceSchemaLocationElement">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="anElement" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="date" type="xsd:date"/>
- </xsd:complexType>
- </xsd:element>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/XMLDocumentSchemaLocation.xsd b/java/sdo/impl/src/test/resources/XMLDocumentSchemaLocation.xsd
deleted file mode 100644
index 0561eb555b..0000000000
--- a/java/sdo/impl/src/test/resources/XMLDocumentSchemaLocation.xsd
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/xmlDocumentSchemaLocation"
- xmlns:sl="http://www.example.com/xmlDocumentSchemaLocation">
-
- <xsd:element name="schemaLocationElement" type="xsd:string" />
-
- <xsd:element name="purchaseReport">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:any minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="periodEnding" type="xsd:date"/>
- </xsd:complexType>
- </xsd:element>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/XMLDocumentTestCase.xml b/java/sdo/impl/src/test/resources/XMLDocumentTestCase.xml
deleted file mode 100644
index de22090908..0000000000
--- a/java/sdo/impl/src/test/resources/XMLDocumentTestCase.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<sl:purchaseReport
- xmlns:sl="http://www.example.com/xmlDocumentSchemaLocation"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.example.com/xmlDocumentSchemaLocation
- /XMLDocumentSchemaLocation.xsd
- http://www.example.com/open
- /open.xsd"
- xsi:noNamespaceSchemaLocation="/XMLDocumentNoNamespaceSchemaLocation.xsd"
- periodEnding="2007-12-31">
- <sl:schemaLocationElement>some string</sl:schemaLocationElement>
- <aNoNamespaceSchemaLocationElement date="2006-04-01">
- <anElement>another string</anElement>
- </aNoNamespaceSchemaLocationElement>
-</sl:purchaseReport>
diff --git a/java/sdo/impl/src/test/resources/XMLStreamHelper.xsd b/java/sdo/impl/src/test/resources/XMLStreamHelper.xsd
deleted file mode 100644
index 492f61b1d2..0000000000
--- a/java/sdo/impl/src/test/resources/XMLStreamHelper.xsd
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License
- -->
-<xsd:schema xmlns:simple3="http://www.example.com/simple3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xshtd="http://www.example.com/simple" elementFormDefault="qualified" targetNamespace="http://www.example.com/simple">
-
- <xsd:import namespace="http://www.example.com/simple3" schemaLocation="simple3.xsd"/>
-
- <xsd:element name="stockQuote" type="xshtd:Quote"/>
-
- <xsd:complexType name="Quote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:element name="companyName" type="xsd:string"/>
- <xsd:element name="price" type="xsd:decimal"/>
- <xsd:element name="open1" type="xsd:decimal"/>
- <xsd:element name="high" type="xsd:decimal"/>
- <xsd:element name="low" type="xsd:decimal"/>
- <xsd:element name="volume" type="xsd:double"/>
- <xsd:element name="change1" type="xsd:double"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="quotes" type="xshtd:Quote"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="quotes3" type="simple3:Quote3"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/anytype.xsd b/java/sdo/impl/src/test/resources/anytype.xsd
deleted file mode 100644
index db10376360..0000000000
--- a/java/sdo/impl/src/test/resources/anytype.xsd
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<xsd:schema xmlns:sdot="http://www.example.com/anytype" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/anytype">
-
- <xsd:element name="globalElement">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="anyTypeElement" type="xsd:anyType"/>
- <xsd:element name="personElement" type="sdot:Person"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="Person">
- <xsd:sequence>
- <xsd:element name="firstName" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/api_test.xsd b/java/sdo/impl/src/test/resources/api_test.xsd
deleted file mode 100644
index 5238c72605..0000000000
--- a/java/sdo/impl/src/test/resources/api_test.xsd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sdo="commonj.sdo" xmlns:simple="http://www.example.com/api_test" targetNamespace="http://www.example.com/api_test">
- <xsd:import namespace="commonj.sdo" schemaLocation="sdoModel.xsd"/>
- <xsd:element name="apiTestElem" type="simple:APITest"/>
-
- <xsd:complexType mixed="true" name="APITest">
- <xsd:sequence>
- <xsd:element name="stringVal" type="sdo:String"/>
- <xsd:element name="booleanVal" type="sdo:Boolean"/>
- <xsd:element name="booleanVal2" type="sdo:Boolean"/>
- <xsd:element name="byteVal" type="sdo:Byte"/>
- <xsd:element name="stringVal2" type="sdo:String"/>
- <xsd:element name="decimalVal" type="sdo:Decimal"/>
- <xsd:element name="decimalVal2" type="sdo:Decimal"/>
- <xsd:element name="intVal" type="sdo:Int"/>
- <xsd:element name="floatVal" type="sdo:Float"/>
- <xsd:element name="doubleVal" type="sdo:Double"/>
- <xsd:element name="dateVal" type="sdo:Date"/>
- <xsd:element name="shortVal" type="sdo:Short"/>
- <xsd:element name="longVal" type="sdo:Long"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="children" type="simple:APITest"/>
- <xsd:element name="bytesVal" type="sdo:Bytes"/>
- <xsd:element name="integerVal" type="sdo:Integer"/>
- <xsd:element name="charVal" type="sdo:Character"/>
- <xsd:element name="xsdDate" type="xsd:date"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/bank.xsd b/java/sdo/impl/src/test/resources/bank.xsd
deleted file mode 100644
index a0cb7970b0..0000000000
--- a/java/sdo/impl/src/test/resources/bank.xsd
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema targetNamespace="http://www.example.com/bank"
- xmlns:bank="http://www.example.com/bank"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdoXML="commonj.sdo/xml">
-
- <xsd:element name="bank" type="bank:bankType"/>
-
- <xsd:complexType name="bankType">
- <xsd:sequence>
- <xsd:element name="Branch" type="bank:branchType" maxOccurs="unbounded" />
- <xsd:element name="Service" type="bank:serviceType" maxOccurs="unbounded" />
- <xsd:element name="Customer" type="bank:customerType" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- </xsd:complexType>
-
- <xsd:complexType name="branchType">
- <xsd:sequence>
- <xsd:element name="Address" type="bank:addressType"/>
- <xsd:element name="Directions" type="xsd:string" maxOccurs="unbounded" />
- <xsd:element name="Account" type="bank:accountType" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="ID" type="xsd:ID"/>
- </xsd:complexType>
-
- <xsd:complexType name="serviceType">
- <xsd:attribute name="ID" type="xsd:ID"/>
- <xsd:attribute name="Name" type="xsd:string"/>
- <xsd:attribute name="Fee" type="xsd:decimal"/>
- </xsd:complexType>
-
- <xsd:complexType name="accountType">
- <xsd:attribute name="ID" type="xsd:ID"/>
- <xsd:attribute name="Service" type="xsd:IDREF" sdoXML:propertyType="bank:serviceType" />
- <xsd:attribute name="Balance" type="xsd:decimal" />
- </xsd:complexType>
-
- <xsd:complexType name="customerType">
- <xsd:sequence>
- <xsd:element name="First" type="xsd:string" />
- <xsd:element name="Last" type="xsd:string" />
- <xsd:element name="Address" type="bank:addressType"/>
- <xsd:element name="HomeBranch" type="xsd:IDREF" sdoXML:propertyType="bank:branchType" />
- <xsd:element name="Account" type="xsd:IDREF" sdoXML:propertyType="bank:accountType" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="ID" type="xsd:ID"/>
- <xsd:attribute name="Related" type="xsd:IDREFS" sdoXML:propertyType="bank:customerType" />
- </xsd:complexType>
-
- <xsd:complexType name="addressType">
- <xsd:sequence>
- <xsd:element name="Street" type="xsd:string"/>
- <xsd:element name="City" type="xsd:string"/>
- <xsd:element name="State" type="xsd:string"/>
- <xsd:element name="Zip" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
- </xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/bounds.xsd b/java/sdo/impl/src/test/resources/bounds.xsd
deleted file mode 100644
index 4d92d6e1fe..0000000000
--- a/java/sdo/impl/src/test/resources/bounds.xsd
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- xmlns:bounds="http://www.example.com/bounds"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/bounds">
-
- <xsd:element name="price" type="xsd:decimal"/>
-
- <xsd:complexType name="OpenQuote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string" maxOccurs="2" minOccurs="0" />
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="OpenQuote2">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="OpenQuote3">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/comment.xsd b/java/sdo/impl/src/test/resources/comment.xsd
deleted file mode 100644
index 2cc1a70f87..0000000000
--- a/java/sdo/impl/src/test/resources/comment.xsd
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<xs:schema xmlns:ax21="http://types.move.ec3/xsd" attributeFormDefault="qualified" elementFormDefault="qualified"
- targetNamespace="http://types.move.ec3/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:complexType name="Comment">
- <xs:sequence>
- <xs:element minOccurs="0" name="body" nillable="true" type="xs:string" />
- <xs:element minOccurs="0" name="caption" nillable="true" type="xs:string" />
- <xs:element minOccurs="0" name="entryId" nillable="true" type="xs:string" />
- <xs:element minOccurs="0" name="owner" nillable="true" type="xs:string" />
- <xs:element minOccurs="0" name="reference" nillable="true" type="xs:string" />
- <xs:element minOccurs="0" name="tstamp" nillable="true" type="xs:dateTime" />
- </xs:sequence>
- </xs:complexType>
-</xs:schema>
diff --git a/java/sdo/impl/src/test/resources/company.xsd b/java/sdo/impl/src/test/resources/company.xsd
deleted file mode 100644
index 18e99352be..0000000000
--- a/java/sdo/impl/src/test/resources/company.xsd
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
- <xsd:schema xmlns:company="company.xsd"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="company.xsd">
- <xsd:element name="company" type="company:CompanyType"/>
- <xsd:complexType name="CompanyType">
- <xsd:sequence>
- <xsd:element name="departments" type="company:DepartmentType" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="employeeOfTheMonth" type="xsd:string"/>
- </xsd:complexType>
- <xsd:complexType name="DepartmentType">
- <xsd:sequence>
- <xsd:element name="employees" type="company:EmployeeType" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="location" type="xsd:string"/>
- <xsd:attribute name="number" type="xsd:int"/>
- </xsd:complexType>
- <xsd:complexType name="EmployeeType">
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="SN" type="xsd:ID"/>
- <xsd:attribute name="manager" type="xsd:boolean"/>
- </xsd:complexType>
- </xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/containmenttest.xsd b/java/sdo/impl/src/test/resources/containmenttest.xsd
deleted file mode 100644
index e576bc9b41..0000000000
--- a/java/sdo/impl/src/test/resources/containmenttest.xsd
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:contain="http://www.example.com/ContainmentTest" targetNamespace="http://www.example.com/ContainmentTest">
-
- <xsd:element name="containTestInstance" type="contain:ContainmentTest"/>
-
- <xsd:complexType mixed="true" name="ContainmentTest">
- <xsd:sequence>
- <xsd:element name="Name" type="xsd:string"/>
- <xsd:element name="Contain" type="contain:ContainmentTest"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="ContainMany" type="contain:ContainmentTest"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/customer1.xml b/java/sdo/impl/src/test/resources/customer1.xml
deleted file mode 100644
index 5a29e30a3c..0000000000
--- a/java/sdo/impl/src/test/resources/customer1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<customer:Customer
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:customer="http://example.com/customer"
- xsi:type="customer:Customer"
- custNum="1"
- firstName="John"
- lastName="Adams"/> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/customer2.xml b/java/sdo/impl/src/test/resources/customer2.xml
deleted file mode 100644
index e9ebb92677..0000000000
--- a/java/sdo/impl/src/test/resources/customer2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<customer:Customer
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:customer="http://example.com/customer"
- xsi:type="customer:Customer"
- custNum="2"
- firstName="Jeremy"
- lastName="Pavick"/> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/datatype.xsd b/java/sdo/impl/src/test/resources/datatype.xsd
deleted file mode 100644
index 05f55e0502..0000000000
--- a/java/sdo/impl/src/test/resources/datatype.xsd
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:datatype="http://www.example.com/datatype" xmlns:sdoJava="commonj.sdo/java" targetNamespace="http://www.example.com/datatype">
-
- <xsd:simpleType name="SimpleSDOType">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
-
- <xsd:simpleType name="SimpleSDOTypeInstanceClass" sdoJava:instanceClass="java.lang.Integer">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
-
- <xsd:simpleType name="SimpleSDOTypeExtendedInstanceClass" sdoJava:extendedInstanceClass="java.lang.String">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/dotNames.xsd b/java/sdo/impl/src/test/resources/dotNames.xsd
deleted file mode 100644
index a788b7b4f4..0000000000
--- a/java/sdo/impl/src/test/resources/dotNames.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<xsd:schema xmlns:dn="http://www.example.com/dotNames" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/dotNames">
-
- <xsd:element name="dotNameElement" type="dn:DotNameType"/>
-
- <xsd:complexType name="DotNameType">
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="property.2.1" type="xsd:string"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="foo.bar" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/dupelement.xsd b/java/sdo/impl/src/test/resources/dupelement.xsd
deleted file mode 100644
index da2f6920d4..0000000000
--- a/java/sdo/impl/src/test/resources/dupelement.xsd
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- targetNamespace="http://www.example.com/dupelement"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:simple="http://www.example.com/dupelement"
- xmlns:sdoXML="commonj.sdo/xml">
-
- <xsd:element name="stockQuote" type="simple:Quote"/>
-
- <xsd:complexType name="Quote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:element name="companyName" type="xsd:string"/>
- <xsd:element name="companyName" type="xsd:int" sdoXML:aliasName="companyNameInInt"/>
- <xsd:element name="quotes" type="simple:Quote" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
-
- <xsd:attribute name="symbol" type="xsd:int" sdoXML:aliasName="symbolInInt"/>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/expectedExceptions.xsd b/java/sdo/impl/src/test/resources/expectedExceptions.xsd
deleted file mode 100644
index cd12447cd9..0000000000
--- a/java/sdo/impl/src/test/resources/expectedExceptions.xsd
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoXML="commonj.sdo/xml"
- xmlns:expect="http://example.com/ExpectedException"
- targetNamespace="http://example.com/ExpectedException">
-
- <xsd:import namespace="commonj.sdo" schemaLocation="sdoModel.xsd"/>
- <xsd:import namespace="commonj.sdo/xml" schemaLocation="sdoModel.xsd"/>
-
- <xsd:element name="expectedExceptionsElem" type="expect:ExpectedExceptionType"/>
-
- <xsd:complexType name="ExpectedExceptionType">
- <xsd:sequence>
- <xsd:element name="stringVal" type="xsd:string"/>
- <xsd:element name="booleanVal" type="xsd:boolean"/>
- <xsd:element name="byteVal" type="xsd:byte"/>
- <xsd:element name="decimalVal" type="xsd:decimal"/>
- <xsd:element name="intVal" type="xsd:int"/>
- <xsd:element name="floatVal" type="xsd:float"/>
- <xsd:element name="doubleVal" type="xsd:double"/>
- <xsd:element name="dateVal" type="xsd:dateTime"/>
- <xsd:element name="shortVal" type="xsd:short"/>
- <xsd:element name="longVal" type="xsd:long"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="listVal" type="xsd:string"/>
- <xsd:element name="bytesVal" type="xsd:hexBinary"/>
- <xsd:element name="integerVal" type="xsd:integer"/>
- <xsd:element name="charVal" type="expect:char"/>
- <xsd:element name="readOnlyVal" sdoXML:readOnly="true" type="xsd:string"/>
- <xsd:element name="readOnlyListVal" sdoXML:readOnly="true" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:simpleType name="char">
- <xsd:restriction base="xsd:string">
- <xsd:length value="1"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:element name="sequencedReadOnlyElem" type="expect:SequenceReadOnlyType"/>
-
- <xsd:complexType mixed="true" name="SequenceReadOnlyType">
- <xsd:sequence>
- <xsd:element name="readOnlyVal" sdoXML:readOnly="true" type="xsd:string"/>
- <xsd:element name="readOnlyListVal" sdoXML:readOnly = "true" type="xsd:string"/>
- <xsd:element name="uniqueName" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/foo-ext.xml b/java/sdo/impl/src/test/resources/foo-ext.xml
deleted file mode 100644
index f8c9bc4702..0000000000
--- a/java/sdo/impl/src/test/resources/foo-ext.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<module name="m" xmlns="http://foo" xmlns:bar="http://bar"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://bar foo-ext.xsd http://foo foo.xsd ">
- <component name="c">
- <bar:implementation.mock myAttr="helloworld.HelloWorldImpl"
- listAttr="1 2">1<bar:myElement>Dummy</bar:myElement>2
- </bar:implementation.mock>
- </component>
-</module> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/foo-ext.xsd b/java/sdo/impl/src/test/resources/foo-ext.xsd
deleted file mode 100644
index 4cdfd1bcd6..0000000000
--- a/java/sdo/impl/src/test/resources/foo-ext.xsd
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://bar"
- elementFormDefault="qualified"
- xmlns:foo="http://foo" xmlns:bar="http://bar">
-
- <import namespace="http://foo"
- schemaLocation="foo.xsd" />
-
- <element name="implementation.mock" type="bar:MockImplementation"
- substitutionGroup="foo:implementation" />
- <complexType name="MockImplementation" mixed="true">
- <complexContent>
- <extension base="foo:Implementation">
- <sequence>
- <element name="myElement" type="string"/>
- <any namespace="##other" processContents="lax"
- minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attribute name="myAttr" type="NCName" use="required" />
- <attribute name="listAttr" type="NMTOKENS" use="optional" />
- <anyAttribute namespace="##any" processContents="lax" />
- </extension>
- </complexContent>
- </complexType>
-</schema>
diff --git a/java/sdo/impl/src/test/resources/foo.xsd b/java/sdo/impl/src/test/resources/foo.xsd
deleted file mode 100644
index f50002ec3d..0000000000
--- a/java/sdo/impl/src/test/resources/foo.xsd
+++ /dev/null
@@ -1,232 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://foo"
- elementFormDefault="qualified" xmlns:foo="http://foo">
-
- <element name="componentType" type="foo:ComponentType"/>
- <complexType name="ComponentType">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="service" type="foo:Service"/>
- <element minOccurs="0" maxOccurs="unbounded" name="reference" type="foo:Reference"/>
- <element minOccurs="0" maxOccurs="unbounded" name="property" type="foo:Property"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="Service">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="foo:interface"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="interface" type="foo:Interface"/>
- <complexType name="Interface"/>
-
- <complexType name="Reference">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="foo:interface"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="multiplicity" type="foo:Multiplicity" use="optional" default="1..1"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="Property">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="type" type="QName" use="required"/>
- <attribute name="many" type="boolean" default="false" use="optional"/>
- <attribute name="required" type="boolean" default="false" use="optional"/>
- <attribute name="default" type="string" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
- <element name="moduleFragment" type="foo:ModuleFragment"/>
- <complexType name="ModuleFragment">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="foo:EntryPoint"/>
- <element minOccurs="0" maxOccurs="unbounded" name="component" type="foo:Component"/>
- <element minOccurs="0" maxOccurs="unbounded" name="externalService" type="foo:ExternalService"/>
- <element minOccurs="0" maxOccurs="unbounded" name="wire" type="foo:ModuleWire"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="module" type="foo:Module"/>
- <complexType name="Module">
- <complexContent>
- <extension base="foo:ModuleFragment"/>
- </complexContent>
- </complexType>
-
- <complexType name="EntryPoint">
- <sequence>
- <element minOccurs="0" maxOccurs="1" ref="foo:interface"/>
- <element minOccurs="1" maxOccurs="unbounded" ref="foo:binding"/>
- <element minOccurs="1" maxOccurs="unbounded" name="reference" type="anyURI"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="multiplicity" type="foo:Multiplicity" use="optional" default="1..1"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
- <!-- a multiplicity 1..1 or 0..n sample
- <reference>StockQuoteComponent</reference> - type must be URI
- a multiplicity 1..n or 0..n sample
- <reference>StockQuoteComponent1</reference> - type must be URI
- <reference>StockQuoteComponent2</reference>
- -->
-
- <element name="binding" type="foo:Binding"/>
- <complexType name="Binding">
- <attribute name="uri" type="anyURI" use="optional"/>
- </complexType>
-
- <complexType name="Component">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="foo:implementation"/>
- <element minOccurs="0" maxOccurs="1" name="properties" type="foo:PropertyValues"/>
- <element minOccurs="0" maxOccurs="1" name="references" type="foo:ReferenceValues"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
- <!-- a multiplicity 1..1 or 0..1 sample
- <references>
- <v:stockQuote>StockQuoteComponent</v:stockquote> - type must be URI
- </references>
- a multiplicity 1..n or 0..n sample
- <references>
- <v:stockQuote>StockQuoteComponent1</v:stockQuote> - type must be URI
- <v:stockQuote>StockQuoteComponent2</v:stockQuote>
- </references>
- -->
-
- <element name="implementation" type="foo:Implementation"/>
- <complexType name="Implementation"/>
-
- <complexType name="PropertyValues">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="ReferenceValues">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
- <complexType name="ExternalService">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="foo:interface"/>
- <element minOccurs="0" maxOccurs="unbounded" ref="foo:binding"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="overridable" type="foo:OverrideOptions" default="may" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
- <complexType name="ModuleWire">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="foo:source.uri"/>
- <element minOccurs="1" maxOccurs="1" ref="foo:target.uri"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="source"/>
- <element name="target"/>
-
- <element name="source.uri" type="anyURI" substitutionGroup="foo:source"/>
- <element name="target.uri" type="anyURI" substitutionGroup="foo:target"/>
-
- <element name="subsystem" type="foo:Subsystem"/>
- <complexType name="Subsystem">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="foo:EntryPoint"/>
- <element minOccurs="0" maxOccurs="unbounded" name="moduleComponent" type="foo:ModuleComponent"/>
- <element minOccurs="0" maxOccurs="unbounded" name="externalService" type="foo:ExternalService"/>
- <element minOccurs="0" maxOccurs="unbounded" name="wire" type="foo:SystemWire"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="uri" type="anyURI" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="ModuleComponent">
- <sequence>
- <element minOccurs="0" maxOccurs="1" name="properties" type="foo:PropertyValues"/>
- <element minOccurs="0" maxOccurs="1" name="references" type="foo:ReferenceValues"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="module" type="NCName" use="required"/>
- <attribute name="uri" type="anyURI" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="SystemWire">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="foo:source"/>
- <element minOccurs="1" maxOccurs="1" ref="foo:target"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="source.epr" substitutionGroup="foo:source"/>
- <element name="target.epr" substitutionGroup="foo:target"/>
-
- <simpleType name="Multiplicity">
- <restriction base="string">
- <enumeration value="0..1"/>
- <enumeration value="1..1"/>
- <enumeration value="0..n"/>
- <enumeration value="1..n"/>
- </restriction>
- </simpleType>
-
- <simpleType name="OverrideOptions">
- <restriction base="string">
- <enumeration value="no"/>
- <enumeration value="may"/>
- <enumeration value="must"/>
- </restriction>
- </simpleType>
-
-</schema>
diff --git a/java/sdo/impl/src/test/resources/ipo.xsd b/java/sdo/impl/src/test/resources/ipo.xsd
deleted file mode 100644
index 241ec15d36..0000000000
--- a/java/sdo/impl/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/java/sdo/impl/src/test/resources/mixed.xml b/java/sdo/impl/src/test/resources/mixed.xml
deleted file mode 100644
index 42ff3a3a5b..0000000000
--- a/java/sdo/impl/src/test/resources/mixed.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<mixed:mixedStockQuote xmlns:mixed="http://www.example.com/mixed">
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- some text
- <quotes><price>2000.0</price></quotes>
- more text
- <price>1000.0</price>
-</mixed:mixedStockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/mixed.xsd b/java/sdo/impl/src/test/resources/mixed.xsd
deleted file mode 100644
index deee92e9c1..0000000000
--- a/java/sdo/impl/src/test/resources/mixed.xsd
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- targetNamespace="http://www.example.com/mixed"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:mixed="http://www.example.com/mixed">
-
- <xsd:element name="mixedStockQuote" type="mixed:MixedQuote"/>
-
- <xsd:complexType name="MixedQuote" mixed="true">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:element name="companyName" type="xsd:string"/>
- <xsd:element name="price" type="xsd:decimal"/>
- <xsd:element name="open1" type="xsd:decimal"/>
- <xsd:element name="high" type="xsd:decimal"/>
- <xsd:element name="low" type="xsd:decimal"/>
- <xsd:element name="volume" type="xsd:double"/>
- <xsd:element name="change1" type="xsd:double"/>
- <xsd:element name="quotes" type="mixed:MixedQuote" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/mixed2.xml b/java/sdo/impl/src/test/resources/mixed2.xml
deleted file mode 100644
index d95d179478..0000000000
--- a/java/sdo/impl/src/test/resources/mixed2.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<mixed:mixedStockQuote
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:mixed="http://www.example.com/mixed"
- xsi:type="mixed:MixedQuote">
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- some text
- <quotes><price>2000.0</price></quotes>
- more text
- <price>1000.0</price>
-</mixed:mixedStockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/mixedChangeSummary.xml b/java/sdo/impl/src/test/resources/mixedChangeSummary.xml
deleted file mode 100644
index 49dbb89f38..0000000000
--- a/java/sdo/impl/src/test/resources/mixedChangeSummary.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<cs:stockQuote xmlns:cs="http://www.example.com/sequenceCS"><changes create="#//quotes[3] #//quotes[4]" delete="#//changes/stockQuote[1]/quotes[2]" logging="false" xmlns:sdo="commonj.sdo">
- <cs:stockQuote sdo:ref="#/stockQuote">
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>1000.0</price>
- <quotes sdo:ref="#//quotes[1]" />
- <quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>
- <quotes sdo:ref="#//quotes[2]" />
- </cs:stockQuote>
-</changes><symbol>FBNT</symbol><companyName>FlyByNightTechnology</companyName><price>999.0</price><quotes><price>1500.0</price></quotes><quotes><price>2500.0</price></quotes><volume>1000.0</volume><quotes><price>3000.0</price></quotes><quotes><price>4000.0</price></quotes></cs:stockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/mixedChangeSummaryUndone.xml b/java/sdo/impl/src/test/resources/mixedChangeSummaryUndone.xml
deleted file mode 100644
index d8097ace8b..0000000000
--- a/java/sdo/impl/src/test/resources/mixedChangeSummaryUndone.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<cs:stockQuote xmlns:cs="http://www.example.com/sequenceCS"><changes logging="false" /><symbol>fbnt</symbol><companyName>FlyByNightTechnology</companyName><price>1000.0</price><quotes><price>1500.0</price></quotes><quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes><quotes><price>2500.0</price></quotes></cs:stockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/mixedopen.xml b/java/sdo/impl/src/test/resources/mixedopen.xml
deleted file mode 100644
index 21a62ef2d0..0000000000
--- a/java/sdo/impl/src/test/resources/mixedopen.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<mixed:mixedOpenStockQuote
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:mixed="http://www.example.com/mixed"
- xmlns:open="http://www.example.com/open"
- xsi:type="mixed:MixedOpenQuote">
- <open:symbol>fbnt</open:symbol>
- <companyName>FlyByNightTechnology</companyName>
- some text
- <quotes><price>2000.0</price></quotes>
- more text
- <price>1000.0</price>
-</mixed:mixedOpenStockQuote>
diff --git a/java/sdo/impl/src/test/resources/names.xsd b/java/sdo/impl/src/test/resources/names.xsd
deleted file mode 100644
index 9096b2d62f..0000000000
--- a/java/sdo/impl/src/test/resources/names.xsd
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- targetNamespace="http://www.example.com/names"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:names="http://www.example.com/names">
-
- <xsd:element name="class" type="names:class"/>
- <xsd:element name="test.element" type="names:test.element" />
- <xsd:element name="void" type="names:void" />
-
- <xsd:complexType name="class" />
- <xsd:complexType name="test.element" />
- <xsd:complexType name="void" />
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/open.xml b/java/sdo/impl/src/test/resources/open.xml
deleted file mode 100644
index d4a5b92e0c..0000000000
--- a/java/sdo/impl/src/test/resources/open.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<open:openStockQuote xmlns:open="http://www.example.com/open">
- <symbol>s1</symbol>
- <open:company>
- <name>FlyByNightTechnology</name>
- </open:company>
- <open:price>1000.0</open:price>
-</open:openStockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/open.xsd b/java/sdo/impl/src/test/resources/open.xsd
deleted file mode 100644
index 803c0a9cee..0000000000
--- a/java/sdo/impl/src/test/resources/open.xsd
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- xmlns:open="http://www.example.com/open"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/open">
-
- <xsd:element name="openStockQuote" type="open:OpenQuote"/>
-
- <xsd:element name="price" type="xsd:decimal"/>
-
- <xsd:element name="company">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="OpenQuote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:any maxOccurs="unbounded" namespace="##any"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="OpenQuote2">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:any maxOccurs="1" namespace="##any"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/open1any.xsd b/java/sdo/impl/src/test/resources/open1any.xsd
deleted file mode 100644
index 00efaef5e0..0000000000
--- a/java/sdo/impl/src/test/resources/open1any.xsd
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- xmlns:simple="http://www.example.com/open1any"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/open1any">
-
- <xsd:element name="openStockQuote" type="simple:OpenQuote"/>
-
- <xsd:element name="price" type="xsd:decimal"/>
-
- <xsd:element name="company">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="OpenQuote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:any namespace="##any"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/open2.xml b/java/sdo/impl/src/test/resources/open2.xml
deleted file mode 100644
index ab992ccf74..0000000000
--- a/java/sdo/impl/src/test/resources/open2.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<open:openStockQuote
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:open="http://www.example.com/open"
- xsi:type="open:OpenQuote">
- <open:symbol>s1</open:symbol>
- <open:company name="FlyByNightTechnology"/>
- <open:price>1000.0</open:price>
-</open:openStockQuote>
diff --git a/java/sdo/impl/src/test/resources/openChangeSummary.xml b/java/sdo/impl/src/test/resources/openChangeSummary.xml
deleted file mode 100644
index 4ef2dc5948..0000000000
--- a/java/sdo/impl/src/test/resources/openChangeSummary.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<cs:openQuote xmlns:cs="http://www.example.com/sequenceCS" xmlns:open="http://www.example.com/open">
- <symbol>FBNT</symbol>
- <open:openStockQuote>
- <symbol>1500.0</symbol>
- </open:openStockQuote>
- <open:openStockQuote>
- <symbol>2500.0</symbol>
- </open:openStockQuote>
- <open:openStockQuote>
- <symbol>3000.0</symbol>
- </open:openStockQuote>
- <open:openStockQuote>
- <symbol>4000.0</symbol>
- </open:openStockQuote>
- <changes create="#//open:openStockQuote[3] #//open:openStockQuote[4]" delete="#//changes/openQuote[1]/open:openStockQuote[2]" logging="false" xmlns:sdo="commonj.sdo">
- <cs:openQuote sdo:ref="#/openQuote">
- <symbol>fbnt</symbol>
- <open:openStockQuote sdo:ref="#//open:openStockQuote[1]" />
- <open:openStockQuote><symbol>2000.0</symbol><open:openStockQuote><symbol>2000.99</symbol></open:openStockQuote></open:openStockQuote>
- <open:openStockQuote sdo:ref="#//open:openStockQuote[2]" />
- </cs:openQuote>
- </changes>
-</cs:openQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/openChangeSummaryUndone.xml b/java/sdo/impl/src/test/resources/openChangeSummaryUndone.xml
deleted file mode 100644
index 9883a3824a..0000000000
--- a/java/sdo/impl/src/test/resources/openChangeSummaryUndone.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<cs:openQuote xmlns:cs="http://www.example.com/sequenceCS" xmlns:open="http://www.example.com/open">
- <symbol>fbnt</symbol>
- <open:openStockQuote>
- <symbol>1500.0</symbol>
- </open:openStockQuote>
- <open:openStockQuote>
- <symbol>2000.0</symbol>
- <open:openStockQuote>
- <symbol>2000.99</symbol>
- </open:openStockQuote>
- </open:openStockQuote>
- <open:openStockQuote>
- <symbol>2500.0</symbol>
- </open:openStockQuote>
- <changes logging="false" />
-</cs:openQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/openContentProperty.xml b/java/sdo/impl/src/test/resources/openContentProperty.xml
deleted file mode 100644
index 68f4c116eb..0000000000
--- a/java/sdo/impl/src/test/resources/openContentProperty.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<open:openStockQuote xmlns:open="http://www.example.com/open">
- <symbol>s1</symbol>
- <open:company>
- <name>FlyByNightTechnology</name>
- </open:company>
- <open:price>1000.0</open:price>
- <open:highPrice>1100.0</open:highPrice>
- <open:mutualFundQuote>
- <symbol>mutual-1</symbol>
- </open:mutualFundQuote>
-</open:openStockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/osgi/sdo.impl.mf b/java/sdo/impl/src/test/resources/osgi/sdo.impl.mf
deleted file mode 100644
index dfc58b624a..0000000000
--- a/java/sdo/impl/src/test/resources/osgi/sdo.impl.mf
+++ /dev/null
@@ -1,44 +0,0 @@
-Manifest-Version: 1.0
-Extension-Name: tuscany-sdo-impl
-Specification-Title: Tuscany SDO Implementation
-Specification-Vendor: Apache Software Foundation
-Implementation-Vendor: Apache Software Foundation
-Implementation-Vendor-Id: org.apache
-Implementation-Title: tuscany-sdo-impl
-Implementation-Version: incubating-M3
-Bundle-ManifestVersion: 2
-Bundle-Name: Tuscany SDO Implementation
-Bundle-SymbolicName: org.apache.tuscany.sdo.impl
-Bundle-Version: 1.0.0
-Bundle-Vendor: Apache Software Foundation
-Require-Bundle: org.eclipse.emf.common,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.change,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.xsd,
- org.apache.tuscany.sdo.lib;visibility:=reexport,
- org.apache.tuscany.sdo.spec;visibility:=reexport
-Import-Package: org.osgi.framework,
- org.xml.sax,
- org.xml.sax.helpers,
- org.xml.sax.ext,
- org.w3c.dom,
- org.w3c.dom.events,
- javax.xml,
- javax.xml.parsers,
- javax.xml.stream,
- javax.xml.transform,
- javax.xml.transform.dom,
- javax.xml.transform.stream,
- javax.xml.namespace,
- org.objectweb.asm
-Export-Package:
- org.apache.tuscany.sdo,
- org.apache.tuscany.sdo.helper,
- org.apache.tuscany.sdo.impl,
- org.apache.tuscany.sdo.util,
- org.apache.tuscany.sdo.codegen,
- org.apache.tuscany.sdo.model,
- org.apache.tuscany.sdo.model.impl,
- org.apache.tuscany.sdo.model.internal
-Bundle-Activator: org.apache.tuscany.sdo.osgi.SdoBundleActivator
diff --git a/java/sdo/impl/src/test/resources/osgi/sdo.osgi.test.mf b/java/sdo/impl/src/test/resources/osgi/sdo.osgi.test.mf
deleted file mode 100644
index d63e3244d5..0000000000
--- a/java/sdo/impl/src/test/resources/osgi/sdo.osgi.test.mf
+++ /dev/null
@@ -1,40 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Tuscany SDO OSGi Tests
-Bundle-SymbolicName: org.apache.tuscany.sdo.osgi.test
-Bundle-Version: 1.0.0
-Bundle-Vendor: Apache Software Foundation
-Import-Package: org.osgi.framework,
- junit.framework,
- javax.xml,
- javax.xml.parsers,
- org.xml.sax,
- org.xml.sax.helpers,
- org.xml.sax.ext,
- org.w3c.dom,
- org.w3c.dom.events,
- javax.xml.stream,
- javax.xml.transform,
- javax.xml.transform.dom,
- javax.xml.transform.stream,
- javax.xml.namespace,
- org.eclipse.emf.common,
- org.eclipse.emf.common.archive,
- org.eclipse.emf.common.command,
- org.eclipse.emf.common.notify,
- org.eclipse.emf.common.util,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.impl,
- org.eclipse.emf.ecore.plugin,
- org.eclipse.emf.ecore.resource,
- org.eclipse.emf.ecore.util,
- org.eclipse.emf.ecore.xml.namespace,
- org.eclipse.emf.ecore.xml.namespace.util,
- org.eclipse.emf.ecore.xml.type,
- org.eclipse.emf.ecore.xml.type.util,
- org.eclipse.xsd
-Export-Package: org.apache.tuscany.sdo.osgi
-Require-Bundle: org.apache.tuscany.sdo.lib;visibility:=reexport,
- org.apache.tuscany.sdo.impl;visibility:=reexport,
- org.apache.tuscany.sdo.spec;visibility:=reexport
-Bundle-Activator: org.apache.tuscany.sdo.test.osgi.TestBundleActivator
diff --git a/java/sdo/impl/src/test/resources/po.xsd b/java/sdo/impl/src/test/resources/po.xsd
deleted file mode 100644
index d158dcf448..0000000000
--- a/java/sdo/impl/src/test/resources/po.xsd
+++ /dev/null
@@ -1,80 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://www.example.com/PO" targetNamespace="http://www.example.com/PO">
-
- <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
- <xsd:element name="comment" type="xsd:string"/>
-
- <xsd:complexType name="PurchaseOrderType">
- <xsd:sequence>
- <xsd:element name="shipTo" type="USAddress"/>
- <xsd:element name="billTo" type="USAddress"/>
- <xsd:element ref="comment" minOccurs="0"/>
- <xsd:element name="items" type="Items"/>
-
- </xsd:sequence>
- <xsd:attribute name="orderDate" type="xsd:date"/>
- </xsd:complexType>
-
- <xsd:complexType name="USAddress">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
-
- <xsd:element name="street" type="xsd:string"/>
- <xsd:element name="city" type="xsd:string"/>
- <xsd:element name="state" type="xsd:string"/>
- <xsd:element name="zip" type="xsd:decimal"/>
- </xsd:sequence>
- <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
-
- </xsd:complexType>
-
- <xsd:complexType name="Items">
- <xsd:sequence>
- <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
-
- <xsd:element name="productName" type="xsd:string"/>
- <xsd:element name="price" type="xsd:decimal"/>
- <xsd:element name="quantity">
- <xsd:simpleType>
- <xsd:restriction base="xsd:positiveInteger">
- <xsd:maxExclusive value="100"/>
- </xsd:restriction>
-
- </xsd:simpleType>
- </xsd:element>
- <xsd:element ref="comment" minOccurs="0"/>
- <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
- </xsd:sequence>
-
- <xsd:attribute name="partNum" type="SKU" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:simpleType name="SKU">
-
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="\d{3}-[A-Z]{2}"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/prefix.xsd b/java/sdo/impl/src/test/resources/prefix.xsd
deleted file mode 100644
index af3d3283f5..0000000000
--- a/java/sdo/impl/src/test/resources/prefix.xsd
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:as="http://soaassureservice.soabench.ibm.com" targetNamespace="http://soaassureservice.soabench.ibm.com">
- <element name="requestInfo" type="string"/>
- <complexType name="CreateClaim">
- <sequence>
- <element ref="as:requestInfo"/>
- </sequence>
- </complexType>
-</schema>
diff --git a/java/sdo/impl/src/test/resources/quote.xml b/java/sdo/impl/src/test/resources/quote.xml
deleted file mode 100644
index d7b5969e23..0000000000
--- a/java/sdo/impl/src/test/resources/quote.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<simple:stockQuote xmlns:simple="http://www.example.com/simple">
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>1000.0</price>
- <open1>1000.0</open1>
- <high>1000.0</high>
- <low>1000.0</low>
- <volume>1000.0</volume>
- <change1>1000.0</change1>
- <quotes>
- <price>2000.0</price>
- </quotes>
-</simple:stockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/quoteInSOAP.xml b/java/sdo/impl/src/test/resources/quoteInSOAP.xml
deleted file mode 100644
index 348b61047e..0000000000
--- a/java/sdo/impl/src/test/resources/quoteInSOAP.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:simple="http://www.example.com/simple">
- <soapenv:Header/>
- <soapenv:Body>
- <simple:stockQuote>
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>1000.0</price>
- <open1>1000.0</open1>
- <high>1000.0</high>
- <low>1000.0</low>
- <volume>1000.0</volume>
- <change1>1000.0</change1>
- <quotes>
- <price>2000.0</price>
- </quotes>
- </simple:stockQuote>
- </soapenv:Body>
-</soapenv:Envelope> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/sdoModel.xsd b/java/sdo/impl/src/test/resources/sdoModel.xsd
deleted file mode 100644
index 6b596c5b36..0000000000
--- a/java/sdo/impl/src/test/resources/sdoModel.xsd
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sdo="commonj.sdo" xmlns:sdoJava="commonj.sdo/java" targetNamespace="commonj.sdo">
-
- <!-- Dummy XSD definition of special SDO ChangeSummaryType -->
- <xsd:simpleType name="ChangeSummaryType" sdoJava:instanceClass="commonj.sdo.ChangeSummary">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
-
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/sdoannotations.xsd b/java/sdo/impl/src/test/resources/sdoannotations.xsd
deleted file mode 100644
index acdde2896a..0000000000
--- a/java/sdo/impl/src/test/resources/sdoannotations.xsd
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- targetNamespace="http://www.example.com/sdoannotations"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdoa="http://www.example.com/sdoannotations"
- xmlns:sdo="commonj.sdo/xml"
- xmlns:sdoj="commonj.sdo/java">
-
- <!-- simple element with no annotations -->
- <xsd:element name="foo0" type="xsd:string" />
-
- <!-- simple element with sdo:name -->
- <xsd:element name="foo1" type="xsd:string" sdo:name="foo2" />
-
- <!-- simple element with sdo:type -->
- <xsd:element
- name="foo3" type="xsd:int"
- sdo:dataType="xsd:string"
- sdo:aliasName="foo4"
- sdo:readOnly="true" />
-
- <xsd:element
- name="foo5" type="sdoa:foo6" />
-
- <!-- complex type with no annotations -->
- <xsd:complexType name="foo6">
- <xsd:sequence>
- <xsd:element name="bar1" type="xsd:int" />
- </xsd:sequence>
- <xsd:attribute name="bar2" type="xsd:int" />
- </xsd:complexType>
-
- <xsd:element
- name="foo7" type="sdoa:foo8" />
-
- <xsd:complexType name="foo8" sdo:name="foo9" sdoj:instanceClass="org.apache.tuscany.sdo.test.XSDHelperTestCase">
- <xsd:sequence>
- <xsd:element name="bar3" type="xsd:int" sdo:string="true" />
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/sdotypes.xsd b/java/sdo/impl/src/test/resources/sdotypes.xsd
deleted file mode 100644
index 09c05bb671..0000000000
--- a/java/sdo/impl/src/test/resources/sdotypes.xsd
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- targetNamespace="http://www.example.com/sdotypes"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdot="http://www.example.com/sdotypes">
-
- <xsd:element name="foo0" type="xsd:anySimpleType"/>
- <xsd:element name="foo2" type="xsd:anyURI"/>
- <xsd:element name="foo3" type="xsd:base64Binary"/>
- <xsd:element name="foo4" type="xsd:boolean"/>
- <xsd:element name="foo5" type="xsd:byte"/>
- <xsd:element name="foo6" type="xsd:date"/>
- <xsd:element name="foo7" type="xsd:dateTime"/>
- <xsd:element name="foo8" type="xsd:decimal"/>
- <xsd:element name="foo9" type="xsd:double"/>
- <xsd:element name="foo10" type="xsd:duration"/>
- <xsd:element name="foo11" type="xsd:ENTITIES"/>
- <xsd:element name="foo12" type="xsd:ENTITY"/>
- <xsd:element name="foo13" type="xsd:float"/>
- <xsd:element name="foo14" type="xsd:gDay"/>
- <xsd:element name="foo15" type="xsd:gMonth"/>
- <xsd:element name="foo16" type="xsd:gMonthDay"/>
- <xsd:element name="foo17" type="xsd:gYear"/>
- <xsd:element name="foo18" type="xsd:gYearMonth"/>
- <xsd:element name="foo19" type="xsd:hexBinary"/>
- <xsd:element name="foo20" type="xsd:ID"/>
- <xsd:element name="foo21" type="xsd:IDREF"/>
- <xsd:element name="foo22" type="xsd:IDREFS"/>
- <xsd:element name="foo23" type="xsd:int"/>
- <xsd:element name="foo24" type="xsd:integer"/>
- <xsd:element name="foo25" type="xsd:language"/>
- <xsd:element name="foo26" type="xsd:long"/>
- <xsd:element name="foo27" type="xsd:Name"/>
- <xsd:element name="foo28" type="xsd:NCName"/>
- <xsd:element name="foo29" type="xsd:negativeInteger"/>
- <xsd:element name="foo30" type="xsd:NMTOKEN"/>
- <xsd:element name="foo31" type="xsd:NMTOKENS"/>
- <xsd:element name="foo32" type="xsd:nonNegativeInteger"/>
- <xsd:element name="foo33" type="xsd:nonPositiveInteger"/>
- <xsd:element name="foo34" type="xsd:normalizedString"/>
- <xsd:element name="foo35" type="xsd:NOTATION"/>
- <xsd:element name="foo36" type="xsd:positiveInteger"/>
- <xsd:element name="foo37" type="xsd:QName"/>
- <xsd:element name="foo38" type="xsd:short"/>
- <xsd:element name="foo39" type="xsd:string"/>
- <xsd:element name="foo40" type="xsd:time"/>
- <xsd:element name="foo41" type="xsd:token"/>
- <xsd:element name="foo42" type="xsd:unsignedByte"/>
- <xsd:element name="foo43" type="xsd:unsignedInt"/>
- <xsd:element name="foo44" type="xsd:unsignedLong"/>
- <xsd:element name="foo45" type="xsd:unsignedShort"/>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/shallowquote.xml b/java/sdo/impl/src/test/resources/shallowquote.xml
deleted file mode 100644
index a56f2fe2b7..0000000000
--- a/java/sdo/impl/src/test/resources/shallowquote.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<simple:stockQuote xmlns:simple="http://www.example.com/simple">
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>1000.0</price>
- <open1>1000.0</open1>
- <high>1000.0</high>
- <low>1000.0</low>
- <volume>1000.0</volume>
- <change1>1000.0</change1>
-</simple:stockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/shallowquote1.xml b/java/sdo/impl/src/test/resources/shallowquote1.xml
deleted file mode 100644
index a9bb2bf330..0000000000
--- a/java/sdo/impl/src/test/resources/shallowquote1.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<simple:stockQuote xmlns:simple="http://www.example.com/simple">
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>1000.0</price>
- <open1>1000.0</open1>
- <high>1000.0</high>
- <low>1000.0</low>
- <volume>1000.0</volume>
- <change1>1000.0</change1>
- </simple:stockQuote>
diff --git a/java/sdo/impl/src/test/resources/simple.xsd b/java/sdo/impl/src/test/resources/simple.xsd
deleted file mode 100644
index 661259e57a..0000000000
--- a/java/sdo/impl/src/test/resources/simple.xsd
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- targetNamespace="http://www.example.com/simple"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:simple="http://www.example.com/simple">
-
- <xsd:element name="stockQuote" type="simple:Quote"/>
-
- <xsd:complexType name="Quote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:element name="companyName" type="xsd:string"/>
- <xsd:element name="price" type="xsd:decimal"/>
- <xsd:element name="open1" type="xsd:decimal"/>
- <xsd:element name="high" type="xsd:decimal"/>
- <xsd:element name="low" type="xsd:decimal"/>
- <xsd:element name="volume" type="xsd:double"/>
- <xsd:element name="change1" type="xsd:double"/>
- <xsd:element name="quotes" type="simple:Quote" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/simple2.xsd b/java/sdo/impl/src/test/resources/simple2.xsd
deleted file mode 100644
index 53bace49b5..0000000000
--- a/java/sdo/impl/src/test/resources/simple2.xsd
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema xmlns:simple="http://www.example.com/simple" xmlns:simple2="http://www.example.com/simple2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/simple2">
-
- <xsd:import namespace="http://www.example.com/simple"/>
-
- <xsd:element name="stockQuote" type="simple2:Quote2"/>
-
- <xsd:complexType name="Quote2">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:element name="companyName" type="xsd:string"/>
- <xsd:element name="price" type="xsd:decimal"/>
- <xsd:element name="open1" type="xsd:decimal"/>
- <xsd:element name="high" type="xsd:decimal"/>
- <xsd:element name="low" type="xsd:decimal"/>
- <xsd:element name="volume" type="xsd:double"/>
- <xsd:element name="change1" type="xsd:double"/>
- <!-- temporarily removing this until we find a way to do this test without causing eclipse to light up
- due to missing import -->
- <!-- <xsd:element maxOccurs="unbounded" minOccurs="0" name="quotes" type="simple:Quote"/> -->
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/simple3.xsd b/java/sdo/impl/src/test/resources/simple3.xsd
deleted file mode 100644
index 6ff14a85d2..0000000000
--- a/java/sdo/impl/src/test/resources/simple3.xsd
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-<xsd:schema
- targetNamespace="http://www.example.com/simple3"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:simple3="http://www.example.com/simple3"
-elementFormDefault="qualified">
-<!-- <xsd:element name="stockQuote" type="simple3:Quote3"/>-->
-
- <xsd:complexType name="Quote3">
- <xsd:sequence>
- <xsd:element name="symbol3" type="xsd:string"/>
- <xsd:element name="company3" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/simpleWithChangeSummary.xml b/java/sdo/impl/src/test/resources/simpleWithChangeSummary.xml
deleted file mode 100644
index 2f29fc00f0..0000000000
--- a/java/sdo/impl/src/test/resources/simpleWithChangeSummary.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<cs:stockQuote xmlns:cs="http://www.example.com/simpleCS">
- <symbol>FBNT</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>999.0</price>
- <volume>1000.0</volume>
- <quotes>
- <price>1500.0</price>
- </quotes>
- <quotes>
- <price>2500.0</price>
- </quotes>
- <quotes>
- <price>3000.0</price>
- </quotes>
- <quotes>
- <price>4000.0</price>
- </quotes>
- <changes create="#//quotes[3] #//quotes[4]" delete="#//changes/stockQuote[1]/quotes[2]" logging="false" xmlns:sdo="commonj.sdo">
- <cs:stockQuote sdo:ref="#/stockQuote" sdo:unset="volume">
- <symbol>fbnt</symbol>
- <price>1000.0</price>
- <quotes sdo:ref="#//quotes[1]" />
- <quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>
- <quotes sdo:ref="#//quotes[2]" />
- </cs:stockQuote>
- </changes>
-</cs:stockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/simpleWithChangeSummary.xsd b/java/sdo/impl/src/test/resources/simpleWithChangeSummary.xsd
deleted file mode 100644
index 1df0f69196..0000000000
--- a/java/sdo/impl/src/test/resources/simpleWithChangeSummary.xsd
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-<xsd:schema xmlns:sdo="commonj.sdo" xmlns:cs="http://www.example.com/simpleCS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.example.com/simpleCS">
-
-
- <xsd:import namespace="commonj.sdo" schemaLocation="sdoModel.xsd"/>
-
- <xsd:complexType name="RootQuote">
- <xsd:complexContent>
- <xsd:extension base="cs:Quote">
- <xsd:sequence>
- <xsd:element name="changes" type="sdo:ChangeSummaryType"/>
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
-
- </xsd:complexType>
-
- <xsd:element name="stockQuote" type="cs:RootQuote"/>
-
- <xsd:complexType name="Quote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string"/>
- <xsd:element name="companyName" type="xsd:string"/>
- <xsd:element name="price" type="xsd:decimal"/>
- <xsd:element name="open1" type="xsd:decimal"/>
- <xsd:element name="high" type="xsd:decimal"/>
- <xsd:element name="low" type="xsd:decimal"/>
- <xsd:element name="volume" type="xsd:double"/>
- <xsd:element name="change1" type="xsd:double"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="quotes" type="cs:Quote"/>
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/simpleWithChangeSummaryUndone.xml b/java/sdo/impl/src/test/resources/simpleWithChangeSummaryUndone.xml
deleted file mode 100644
index a9c675b6c3..0000000000
--- a/java/sdo/impl/src/test/resources/simpleWithChangeSummaryUndone.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<cs:stockQuote xmlns:cs="http://www.example.com/simpleCS">
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>1000.0</price>
- <quotes>
- <price>1500.0</price>
- </quotes>
- <quotes>
- <price>2000.0</price>
- <quotes>
- <price>2000.99</price>
- </quotes>
- </quotes>
- <quotes>
- <price>2500.0</price>
- </quotes>
- <changes logging="false" />
-</cs:stockQuote> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/simplechangesummary.xml b/java/sdo/impl/src/test/resources/simplechangesummary.xml
deleted file mode 100644
index 134e2f7de5..0000000000
--- a/java/sdo/impl/src/test/resources/simplechangesummary.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sdo="commonj.sdo"
- xmlns:sdo_1="http://www.apache.org/tuscany/2005/SDO" xmlns:simple="http://www.example.com/simple">
- <changeSummary xmlns=""
- logging="false">
- <objectChanges key="#//@eRootObject">
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="symbol" set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="companyName" set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="price" set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="open1" set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="high" set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="low" set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="volume" dataValue="0.0"
- set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="change1" dataValue="0.0"
- set="false"/>
- <value xsi:type="sdo_1:ChangeSummarySetting" featureName="quotes" set="false"/>
- </objectChanges>
- </changeSummary>
- <simple:Quote>
- <symbol>fbnt</symbol>
- <companyName>FlyByNightTechnology</companyName>
- <price>1000.0</price>
- <open1>1000.0</open1>
- <high>1000.0</high>
- <low>1000.0</low>
- <volume>1000.0</volume>
- <change1>1000.0</change1>
- <quotes>
- <price>2000.0</price>
- </quotes>
- </simple:Quote>
-</sdo:datagraph>
diff --git a/java/sdo/impl/src/test/resources/substitutionValues1.xml b/java/sdo/impl/src/test/resources/substitutionValues1.xml
deleted file mode 100644
index c534eb9370..0000000000
--- a/java/sdo/impl/src/test/resources/substitutionValues1.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<sv:testObject xmlns:sv="http://www.apache.org/tuscany/SubstitutionValues">
- <sv:groupMember>gm</sv:groupMember>
- <sv:nonGroupHead>ngh</sv:nonGroupHead>
-</sv:testObject>
diff --git a/java/sdo/impl/src/test/resources/substitutionValues2.xml b/java/sdo/impl/src/test/resources/substitutionValues2.xml
deleted file mode 100644
index d90d0f3a0c..0000000000
--- a/java/sdo/impl/src/test/resources/substitutionValues2.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<sv:testObject xmlns:sv="http://www.apache.org/tuscany/SubstitutionValues">
- <sv:groupHead>gh</sv:groupHead>
- <sv:nonGroupHead>ngh</sv:nonGroupHead>
-</sv:testObject>
diff --git a/java/sdo/impl/src/test/resources/xpath.xml b/java/sdo/impl/src/test/resources/xpath.xml
deleted file mode 100644
index 3b3e2ffbb4..0000000000
--- a/java/sdo/impl/src/test/resources/xpath.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xpath:drive xmlns:xpath="http://www.example.com/xpath" id="0">
- <Folder creation_date="1999-10-20" creator="Hasan" type="FolderType">
- <FolderName>Folder00000000000</FolderName>
- <description>marries inflamed apprehended beseeming bustle</description>
- <SecurityObject name="secure1">
- <Allows>
- <Allow>
- <User>Brian</User>
- <Permissions>rw</Permissions>
- </Allow>
- <Allow>
- <User>Fuhwei</User>
- <Permissions>r</Permissions>
- </Allow>
- </Allows>
- <Denies>
- <Deny>
- <User>Hasan</User>
- </Deny>
- <Deny>
- <User>Frank</User>
- </Deny>
- </Denies>
- </SecurityObject>
- </Folder>
- <Folder creation_date="2000-03-23" creator="Kapil" type="FileType">
- <FolderName>Folder00000000011</FolderName>
- <description>Mumbling Jumblin Pink Panther goofs it up</description>
- <SecurityObject name="secure2">
- <Allows>
- <Allow>
- <User>Imad</User>
- <Permissions>x</Permissions>
- </Allow>
- <Allow>
- <User>Robbie</User>
- <Permissions>rwx</Permissions>
- </Allow>
- </Allows>
- <Denies>
- <Deny>
- <User>Yang</User>
- </Deny>
- <Deny>
- <User>Art</User>
- </Deny>
- </Denies>
- </SecurityObject>
- </Folder>
-</xpath:drive> \ No newline at end of file
diff --git a/java/sdo/impl/src/test/resources/xpath.xsd b/java/sdo/impl/src/test/resources/xpath.xsd
deleted file mode 100644
index 0b817d425d..0000000000
--- a/java/sdo/impl/src/test/resources/xpath.xsd
+++ /dev/null
@@ -1,75 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://www.example.com/xpath" targetNamespace="http://www.example.com/xpath">
- <!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
- <xsd:element name="drive" type="DriveType"/>
-
- <xsd:complexType name="DriveType">
- <xsd:sequence>
- <xsd:element name="Folder" type="FolderType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:int"/>
- </xsd:complexType>
-
- <xsd:complexType name="FolderType">
- <xsd:sequence>
- <xsd:element name="FolderName" type="xsd:string"/>
- <xsd:element name="description" type="xsd:string"/>
- <xsd:element name="SecurityObject" type="SecurityObjectType"/>
- </xsd:sequence>
- <xsd:attribute name="creation_date" type="xsd:date" minOccurs="0"/>
- <xsd:attribute name="creator" type="xsd:string" minOccurs="0"/>
- <xsd:attribute name="type" type="xsd:string" minOccurs="0"/>
-
- </xsd:complexType>
-
- <xsd:complexType name="AllowsObjectType">
- <xsd:sequence>
- <xsd:element name="Allow" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="User" type="xsd:string"/>
- <xsd:element name="Permissions" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="DeniesObjectType">
- <xsd:sequence>
- <xsd:element name="Deny" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="User" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="SecurityObjectType">
- <xsd:sequence>
- <xsd:element name="Allows" type="AllowsObjectType"/>
- <xsd:element name="Denies" type="DeniesObjectType"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/java/sdo/impl/src/test/resources/xsdCorners.xsd b/java/sdo/impl/src/test/resources/xsdCorners.xsd
deleted file mode 100644
index b62bfcae56..0000000000
--- a/java/sdo/impl/src/test/resources/xsdCorners.xsd
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
- <!-- a schema for housing examples of tricky corner cases in XSD to SDO conversion
- 1) namespace prefix creation as in TUSCANY-711
- .....
- -->
-<xsd:schema xmlns:s1="http://www.example.com/simple-1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/simple-1">
-
- <xsd:element name="a" type="s1:A"/>
-
- <xsd:complexType name="A">
- <xsd:sequence>
- <xsd:element name="a1" type="xsd:string"/>
- <xsd:element name="a2" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>