summaryrefslogtreecommitdiffstats
path: root/tags/cpp-stable-20060304/sdo/runtime/core/test
diff options
context:
space:
mode:
Diffstat (limited to 'tags/cpp-stable-20060304/sdo/runtime/core/test')
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtbuild59
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtproject15
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/.project19
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/.settings/org.eclipse.cdt.managedbuilder.core.prefs9
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xml2
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xsd15
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/47293Customer.xsd31
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/47293Order.xsd47
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/Catalog.xsd15
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/Customer.xsd28
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/Makefile.am11
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/Order.xsd39
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/StockQuoteService.wsdl157
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/axis.xsd20
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xml8
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xsd54
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/b46693.xsd157
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/company.xsd30
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xml11
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xsd29
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/companyabs.xsd44
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/companyref.xsd47
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/companysubs.xsd44
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xml8
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xsd28
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xml11
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xsd29
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/g3.xsd21
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/graham1.xsd21
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/graham2.xsd20
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/graham3.xsd22
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/include.xsd14
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/include1.xsd18
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/include2.xsd17
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/includeother3.xsd14
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/many.xml14
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/many.xsd1
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/my-core.xsd21
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/my-implementation-local-java.xsd24
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/my.xsd11
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xml13
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xsd33
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xml13
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xsd8
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/partial.xml14
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-sca.xsd22
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-webservice.xsd21
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-ws.xsd22
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-core.xsd214
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-dll.xsd22
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-java.xsd22
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-local-java.xsd24
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-cpp.xsd49
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-java.xsd24
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-wsdl.xsd23
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-java.xsd23
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-xsd.xsd22
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sca.xsd22
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.cpp4028
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.h123
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest2.cpp3937
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/t2/include3.xsd14
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother.xsd14
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother1.xsd18
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother2.xsd17
-rw-r--r--tags/cpp-stable-20060304/sdo/runtime/core/test/testopen3.xml1
66 files changed, 0 insertions, 9928 deletions
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtbuild b/tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtbuild
deleted file mode 100644
index 17ebd43324..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtbuild
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?fileVersion 3.0.0?>
-
-<ManagedProjectBuildInfo>
-<project id="tuscany_sdo_test.cdt.managedbuild.target.gnu.exe.841259234" name="Executable (Gnu)" projectType="cdt.managedbuild.target.gnu.exe">
-<configuration artifactName="tuscany_sdo_test" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.exe.debug.1698024418" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
-<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.953243590" name="GCC Tool Chain" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
-<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.907958268" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug"/>
-<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.829396762" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
-<option id="gnu.cpp.compiler.option.preprocessor.def.1484983546" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
-<listOptionValue builtIn="false" value="_DEBUG"/>
-</option>
-<option id="gnu.cpp.compiler.option.include.paths.1537573101" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
-<listOptionValue builtIn="false" value="${project_loc}"/>
-<listOptionValue builtIn="false" value="${project_loc}/../src"/>
-</option>
-</tool>
-<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.1017750405" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
-<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.655773583" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
-<option id="gnu.cpp.link.option.libs.684950781" superClass="gnu.cpp.link.option.libs" valueType="libs">
-<listOptionValue builtIn="false" value="tuscany_sdo"/>
-<listOptionValue builtIn="false" value="xml2"/>
-</option>
-<option id="gnu.cpp.link.option.paths.507838253" superClass="gnu.cpp.link.option.paths" valueType="stringList">
-<listOptionValue builtIn="false" value="${project_loc}/../src/Debug"/>
-<listOptionValue builtIn="false" value="${LIBXML2_LIB}"/>
-</option>
-</tool>
-<tool command="as" id="cdt.managedbuild.tool.gnu.assembler.exe.debug.680127870" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug"/>
-<macros/>
-</toolChain>
-</configuration>
-<configuration artifactName="tuscany_sdo_test" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.exe.release.1720042110" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
-<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1008721532" name="GCC Tool Chain" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
-<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1386443308" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release"/>
-<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.666703052" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
-<option id="gnu.cpp.compiler.option.include.paths.1488475926" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
-<listOptionValue builtIn="false" value="${project_loc}/../src"/>
-<listOptionValue builtIn="false" value="${project_loc}"/>
-</option>
-</tool>
-<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.exe.release.87016949" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
-<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.4247100" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
-<option id="gnu.cpp.link.option.libs.73989122" superClass="gnu.cpp.link.option.libs" valueType="libs">
-<listOptionValue builtIn="false" value="xml2"/>
-<listOptionValue builtIn="false" value="tuscany_sdo"/>
-</option>
-<option id="gnu.cpp.link.option.paths.984022714" superClass="gnu.cpp.link.option.paths" valueType="stringList">
-<listOptionValue builtIn="false" value="${project_loc}/../src/Debug"/>
-<listOptionValue builtIn="false" value="${LIBXML2_LIB}"/>
-</option>
-</tool>
-<tool command="as" id="cdt.managedbuild.tool.gnu.assembler.exe.release.937369355" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release"/>
-<macros/>
-</toolChain>
-</configuration>
-<macros/>
-</project>
-</ManagedProjectBuildInfo>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtproject b/tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtproject
deleted file mode 100644
index 48a12e6664..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/.cdtproject
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse-cdt version="2.0"?>
-
-<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
-<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.domsourceindexer" point="org.eclipse.cdt.core.CIndexer"/>
-<data>
-<item id="org.eclipse.cdt.core.pathentry">
-<pathentry kind="src" path=""/>
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
-</item>
-</data>
-</cdtproject>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/.project b/tags/cpp-stable-20060304/sdo/runtime/core/test/.project
deleted file mode 100644
index 32920ef4cf..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/.project
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>tuscany_sdo_test</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
-</projectDescription>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/tags/cpp-stable-20060304/sdo/runtime/core/test/.settings/org.eclipse.cdt.managedbuilder.core.prefs
deleted file mode 100644
index 0c77f0af0f..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/.settings/org.eclipse.cdt.managedbuilder.core.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-#Wed Feb 15 16:37:24 GMT 2006
-eclipse.preferences.version=1
-environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.exe.debug.1698024418=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="CPATH" operation\="remove"/>\n<variable name\="CPLUS_INCLUDE_PATH" operation\="remove"/>\n</environment>\n
-environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.exe.release.1720042110=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="CPATH" operation\="remove"/>\n<variable name\="CPLUS_INCLUDE_PATH" operation\="remove"/>\n</environment>\n
-environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.exe.debug.1698024418=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="LIBRARY_PATH" operation\="remove"/>\n</environment>\n
-environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.exe.release.1720042110=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="LIBRARY_PATH" operation\="remove"/>\n</environment>\n
-environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment/>\n
-environment/project/cdt.managedbuild.config.gnu.exe.debug.1698024418=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable delimiter\="" name\="LIBXML2_LIB" operation\="replace" value\="/usr/lib"/>\n</environment>\n
-environment/project/cdt.managedbuild.config.gnu.exe.release.1720042110=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable delimiter\="" name\="LIBXML2_LIB" operation\="replace" value\="/usr/lib"/>\n</environment>\n
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xml
deleted file mode 100644
index 66b2d3dbca..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog xmlns="catalogNS" xsi:type="CatalogType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><item xmlns="orderNS"><itemId>1</itemId><description>A Partridge in a Pear Tree</description><price>1.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>2</itemId><description>Turtle Doves</description><price>2.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>3</itemId><description>French Hens</description><price>3.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>4</itemId><description>Calling Birds</description><price>4.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>5</itemId><description>Golden Rings</description><price>5.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>6</itemId><description>Geese a-laying</description><price>6.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>7</itemId><description>Swans a-swimming</description><price>7.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>8</itemId><description>Maids a-milking</description><price>8.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>9</itemId><description>Ladies dancing</description><price>9.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>10</itemId><description>Lords a-leaping</description><price>10.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>11</itemId><description>Pipers piping</description><price>11.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item><item><itemId>12</itemId><description>Drummers drumming</description><price>12.99</price><quantity>0</quantity><warehouseId>1</warehouseId></item></catalog>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xsd
deleted file mode 100644
index 53fb9bdc0c..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Catalog.xsd
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:cat="catalogNS" xmlns:ord="orderNS" targetNamespace="catalogNS">
-
- <include schemaLocation="Order.xsd"/>
-
- <element name="catalog" type="cat:CatalogType"/>
-
- <complexType name="CatalogType">
- <sequence>
- <element maxOccurs="unbounded" ref="ord:item"/>
- </sequence>
- </complexType>
-
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Customer.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Customer.xsd
deleted file mode 100644
index 9f09b17244..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Customer.xsd
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:cust="customerNS" targetNamespace="customerNS">
- <element name="customer" type="cust:CustomerType">
- <complexType name="CustomerType">
- <sequence>
- <element name="customerId" type="ID"/>
- <element name="name" type="string"/>
- <element name="shipping" type="cust:AddressType">
- <complexType name="AddressType">
- <element name="street" type="string"/>
- <element name="city" type="string"/>
- <element name="state" type="string"/>
- <element name="zip" type="string"/>
- </complexType>
- </element>
- <element name="payment" ref="cust:payment"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="payment" type="cust:PaymentType">
- <complexType name="PaymentType">
- <element name="paymentId" type="ID"/>
- <element name="accountNo" type="string"/>
- <element name="bank" type="string"/>
- <element name="securityCode" type="string"/>
- <element name="amount" type="string"/>
- </complexType>
- </element>
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Order.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Order.xsd
deleted file mode 100644
index 59d48398a8..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/47293Order.xsd
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-xmlns:ord="orderNS" xmlns:cust="customerNS" targetNamespace="orderNS">
-
- <include schemaLocation="./Customer.xsd"/>
-
- <element name="orders" type="ord:OrdersType">
- <complexType name="OrdersType">
- <sequence>
- <element name="order" maxOccurs="unbounded" type="ord:OrderType"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="order" type="ord:OrderType">
- <complexType name="OrderType">
- <sequence>
- <element name="orderId" type="ID"/>
- <element name="status" type="ord:OrderStatus"/>
- <element name="item" maxOccurs="unbounded" ref="ord:item"/>
- <element ref="cust:customer"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="item">
- <complexType>
- <element name="itemId" type="integer"/>
- <element name="description" type="string"/>
- <element name="price" type="string"/>
- <element name="quantity" type="integer"/>
- <element name="warehouseId" type="integer"/>
- </complexType>
- </element>
-
- <simpleType name="OrderStatus">
- <restriction base="string">
- <enumeration value="NONE"/>
- <enumeration value="RECEIVED"/>
- <enumeration value="INVOICED"/>
- <enumeration value="DISPATCHED"/>
- <enumeration value="COMPLETED"/>
- <enumeration value="CANCELLED"/>
- </restriction>
- </simpleType>
-
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/Catalog.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/Catalog.xsd
deleted file mode 100644
index 6eebebdd70..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/Catalog.xsd
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:cat="catalogNS" targetNamespace="catalogNS">
-
- <include schemaLocation="./Order.xsd"/>
-
- <element name="catalog" type="cat:CatalogType"/>
-
- <complexType name="CatalogType">
- <sequence>
- <element maxOccurs="unbounded" ref="ord:item"/>
- </sequence>
- </complexType>
-
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/Customer.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/Customer.xsd
deleted file mode 100644
index b3cd832bce..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/Customer.xsd
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:cust="customerNS" targetNamespace="customerNS">
- <element name="customer" type="cust:CustomerType">
- <complexType name="CustomerType">
- <sequence>
- <element name="customerId" type="ID"/>
- <element name="name" type="string"/>
- <element name="shipping" type="cust:AddressType">
- <complexType name="AddressType">
- <element name="street" type="string"/>
- <element name="city" type="string"/>
- <element name="state" type="string"/>
- <element name="zip" type="string"/>
- </complexType>
- </element>
- <element name="payment" type="cust:PaymentType">
- <complexType name="PaymentType">
- <element name="accountNo" type="string"/>
- <element name="bank" type="string"/>
- <element name="securityCode" type="string"/>
- <element name="amount" type="float"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/Makefile.am b/tags/cpp-stable-20060304/sdo/runtime/core/test/Makefile.am
deleted file mode 100644
index 42e672a25e..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-prgbindir=$(prefix)/bin/test
-prgbin_PROGRAMS = tuscany_sdo_test
-SUBDIRS =
-AM_CPPFLAGS = $(CPPFLAGS)
-tuscany_sdo_test_SOURCES = sdotest.cpp sdotest2.cpp
-
-tuscany_sdo_test_LDADD = -ltuscany_sdo \
- -L$(top_builddir)/runtime/core/src/commonj/sdo -lxml2 -lstdc++
-
-INCLUDES = -I$(top_builddir)/runtime/core/test \
- -I$(top_builddir)/runtime/core/src
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/Order.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/Order.xsd
deleted file mode 100644
index 1ece31ac0b..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/Order.xsd
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-xmlns:ord="orderNS" xmlns:cust="customerNS" targetNamespace="orderNS">
-
-<include schemaLocation="./Customer.xsd"/>
-
-<element name="order" type="ord:OrderType">
- <complexType name="OrderType">
- <sequence>
- <element name="orderId" type="ID"/>
- <element name="status" type="ord:OrderStatus"/>
- <element name="item" maxOccurs="unbounded" ref="ord:item"/>
- <element ref="cust:customer"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="item">
- <complexType>
- <element name="itemId" type="integer"/>
- <element name="description" type="string"/>
- <element name="price" type="string"/>
- <element name="quantity" type="integer"/>
- <element name="warehouseId" type="integer"/>
- </complexType>
- </element>
-
- <simpleType name="OrderStatus">
- <restriction base="string">
- <enumeration value="NONE"/>
- <enumeration value="RECEIVED"/>
- <enumeration value="INVOICED"/>
- <enumeration value="DISPATCHED"/>
- <enumeration value="COMPLETED"/>
- <enumeration value="CANCELLED"/>
- </restriction>
- </simpleType>
-
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/StockQuoteService.wsdl b/tags/cpp-stable-20060304/sdo/runtime/core/test/StockQuoteService.wsdl
deleted file mode 100644
index 4917cde583..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/StockQuoteService.wsdl
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:s="http://www.w3.org/2001/XMLSchema"
- xmlns:s0="http://swanandmokashi.com"
- xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
- xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
- targetNamespace="http://swanandmokashi.com"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified"
- targetNamespace="http://swanandmokashi.com"
- xmlns:s="http://www.w3.org/2001/XMLSchema">
- <s:element name="GetQuotes">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
- name="QuoteTicker" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetQuotesResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
- name="GetQuotesResult" type="s0:ArrayOfQuote" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfQuote">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded"
- name="Quote" type="s0:Quote" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="Quote">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
- name="CompanyName" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="StockTicker" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="StockQuote" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="LastUpdated" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="Change"
- type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="OpenPrice" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="DayHighPrice" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="DayLowPrice" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="Volume"
- type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="MarketCap" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="YearRange" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:element name="ArrayOfQuote" nillable="true"
- type="s0:ArrayOfQuote" />
- </s:schema>
- </types>
- <message name="GetQuotesSoapIn">
- <part name="parameters" element="s0:GetQuotes" />
- </message>
- <message name="GetQuotesSoapOut">
- <part name="parameters" element="s0:GetQuotesResponse" />
- </message>
- <message name="GetQuotesHttpGetIn">
- <part name="QuoteTicker" type="s:string" />
- </message>
- <message name="GetQuotesHttpGetOut">
- <part name="Body" element="s0:ArrayOfQuote" />
- </message>
- <message name="GetQuotesHttpPostIn">
- <part name="QuoteTicker" type="s:string" />
- </message>
- <message name="GetQuotesHttpPostOut">
- <part name="Body" element="s0:ArrayOfQuote" />
- </message>
- <portType name="StockQuotesSoap">
- <operation name="GetStockQuotes">
- <input name="GetQuotes" message="s0:GetQuotesSoapIn" />
- <output name="GetQuotes" message="s0:GetQuotesSoapOut" />
- </operation>
- </portType>
- <portType name="StockQuotesHttpGet">
- <operation name="GetStockQuotes">
- <input name="GetQuotes" message="s0:GetQuotesHttpGetIn" />
- <output name="GetQuotes" message="s0:GetQuotesHttpGetOut" />
- </operation>
- </portType>
- <portType name="StockQuotesHttpPost">
- <operation name="GetStockQuotes">
- <input name="GetQuotes" message="s0:GetQuotesHttpPostIn" />
- <output name="GetQuotes" message="s0:GetQuotesHttpPostOut" />
- </operation>
- </portType>
- <binding name="StockQuotesSoap" type="s0:StockQuotesSoap">
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
- style="document" />
- <operation name="GetStockQuotes">
- <soap:operation
- soapAction="http://swanandmokashi.com/GetQuotes" style="document" />
- <input name="GetQuotes">
- <soap:body use="literal" />
- </input>
- <output name="GetQuotes">
- <soap:body use="literal" />
- </output>
- </operation>
- </binding>
- <binding name="StockQuotesHttpGet" type="s0:StockQuotesHttpGet">
- <http:binding verb="GET" />
- <operation name="GetStockQuotes">
- <http:operation location="/GetQuotes" />
- <input name="GetQuotes">
- <http:urlEncoded />
- </input>
- <output name="GetQuotes">
- <mime:mimeXml part="Body" />
- </output>
- </operation>
- </binding>
- <binding name="StockQuotesHttpPost" type="s0:StockQuotesHttpPost">
- <http:binding verb="POST" />
- <operation name="GetStockQuotes">
- <http:operation location="/GetQuotes" />
- <input name="GetQuotes">
- <mime:content type="application/x-www-form-urlencoded" />
- </input>
- <output name="GetQuotes">
- <mime:mimeXml part="Body" />
- </output>
- </operation>
- </binding>
- <service name="StockQuotes">
- <port name="StockQuotesSoap" binding="s0:StockQuotesSoap">
- <soap:address
- location="http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx" />
- </port>
- <port name="StockQuotesHttpGet"
- binding="s0:StockQuotesHttpGet">
- <http:address
- location="http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx" />
- </port>
- <port name="StockQuotesHttpPost"
- binding="s0:StockQuotesHttpPost">
- <http:address
- location="http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx" />
- </port>
- </service>
-</definitions>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/axis.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/axis.xsd
deleted file mode 100644
index eca2f0cf22..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/axis.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sdo="commonj.sdo" xmlns:sdoxml="commonj.sdo/xml" xmlns:tns="axis" targetNamespace="axis">
-<xsd:element name="ItemSearch" >
- <xsd:complexType >
- <xsd:sequence>
-<xsd:element name="SubscriptionId" type="xsd:string" minOccurs="0" />
-<xsd:element name="AssociateTag" type="xsd:string" minOccurs="0" />
-<xsd:element name="XMLEscaping" type="xsd:string" minOccurs="0" />
-<xsd:element name="Validate" type="xsd:string" minOccurs="0" />
-<xsd:element name="Shared" type="tns:ItemSearchRequest" minOccurs="0" />
-<xsd:element name="Request" type="tns:ItemSearchRequest" minOccurs="0" maxOccurs="unbounded" />
-</xsd:sequence>
-</xsd:complexType>
-</xsd:element>
- <xsd:complexType name="ItemSearchRequest">
- <xsd:sequence>
-<xsd:element name="Keywords" type="xsd:string" minOccurs="0" />
-<xsd:element name="SearchIndex" type="xsd:string" minOccurs="0" />
-</xsd:sequence>
-</xsd:complexType>
-</xsd:schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xml
deleted file mode 100644
index 823ef80944..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<companyType xmlns="companyNS" xsi:type="CompanyType"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MegaCorp" employeeOfTheMonth="#/CEO">
-<departments name="Shoe">
-<employees name="Sarah Jones"/>
-</departments>
-<CEO name="Fred Smith"/>
-</companyType>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xsd
deleted file mode 100644
index 7f8e155406..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/b46617b.xsd
+++ /dev/null
@@ -1,54 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:sdo="commonj.sdo" xmlns:sdoxml="commonj.sdo/xml"
-xmlns:tns="companyNS" targetNamespace="companyNS">
-<xsd:element name="employeeType" type="tns:EmployeeType"/>
-<xsd:complexType name="EmployeeType">
-<xsd:sequence>
-<xsd:element name="name" type="xsd:String" minOccurs="0"/>
-<xsd:element name="SN" type="xsd:String" minOccurs="0"/>
-<xsd:element name="manager" type="xsd:boolean" minOccurs="0"/>
-</xsd:sequence>
-</xsd:complexType>
-<xsd:element name="departmentType" type="tns:DepartmentType"/>
-<xsd:complexType name="DepartmentType">
-<xsd:sequence><xsd:element name="name" type="xsd:String" minOccurs="0"/>
-<xsd:element name="location" type="xsd:String" minOccurs="0"/>
-<xsd:element name="number" type="xsd:integer" minOccurs="0"/>
-<xsd:element name="employees" type="tns:EmployeeType" minOccurs="0" maxOccurs="unbounded"/>
-</xsd:sequence>
-</xsd:complexType>
-<xsd:element name="companyType" type="tns:CompanyType"/>
-<xsd:complexType name="CompanyType" mixed="true">
-<xsd:choice maxOccurs="unbounded">
-<xsd:element name="name" type="xsd:String" minOccurs="0"/>
-<xsd:element name="departments" type="tns:DepartmentType" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="CEO" type="tns:EmployeeType" minOccurs="0"/>
-<xsd:element name="string" type="xsd:String" minOccurs="0"/>
-<xsd:element name="bool" type="xsd:boolean" minOccurs="0"/>
-<xsd:element name="byte" type="xsd:byte" minOccurs="0"/>
-<xsd:element name="bytes" type="xsd:hexBinary" minOccurs="0"/>
-<xsd:element name="char" type="xsd:string" minOccurs="0"/>
-<xsd:element name="date" type="xsd:dateTime" minOccurs="0"/>
-<xsd:element name="double" type="xsd:double" minOccurs="0"/>
-<xsd:element name="float" type="xsd:float" minOccurs="0"/>
-<xsd:element name="int" type="xsd:integer" minOccurs="0"/>
-<xsd:element name="long" type="xsd:long" minOccurs="0"/>
-<xsd:element name="short" type="xsd:short" minOccurs="0"/>
-<xsd:element name="uri" type="xsd:anyURI" minOccurs="0"/>
-<xsd:element name="Mstring" type="xsd:String" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mbool" type="xsd:boolean" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mbyte" type="xsd:byte" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mbytes" type="xsd:hexBinary" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mchar" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mdate" type="xsd:dateTime" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mdouble" type="xsd:double" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mfloat" type="xsd:float" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mint" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mlong" type="xsd:long" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Mshort" type="xsd:short" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:element name="Muri" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-</xsd:choice>
-<xsd:element name="changeSummary" type="sdo:ChangeSummaryType"/>
-<xsd:attribute name="employeeOfTheMonth" sdoxml:propertyType="tns:EmployeeType" type="xsd:IDREF"/>
-</xsd:complexType>
-</xsd:schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/b46693.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/b46693.xsd
deleted file mode 100644
index 11eb2e964a..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/b46693.xsd
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:s="http://www.w3.org/2001/XMLSchema"
- xmlns:s0="http://swanandmokashi.com"
- xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
- xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
- targetNamespace="http://swanandmokashi.com"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified"
- targetNamespace="http://swanandmokashi.com">
- <s:element name="GetQuotes">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
- name="QuoteTicker" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetQuotesResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
- name="GetQuotesResult" type="s0:ArrayOfQuote" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfQuote">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded"
- name="Quote" type="s0:Quote" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="Quote">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
- name="CompanyName" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="StockTicker" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="StockQuote" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="LastUpdated" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="Change"
- type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="OpenPrice" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="DayHighPrice" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="DayLowPrice" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="Volume"
- type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="MarketCap" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
- name="YearRange" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:element name="ArrayOfQuote" nillable="true"
- type="s0:ArrayOfQuote" />
- </s:schema>
- </types>
- <message name="GetQuotesSoapIn">
- <part name="parameters" element="s0:GetQuotes" />
- </message>
- <message name="GetQuotesSoapOut">
- <part name="parameters" element="s0:GetQuotesResponse" />
- </message>
- <message name="GetQuotesHttpGetIn">
- <part name="QuoteTicker" type="s:string" />
- </message>
- <message name="GetQuotesHttpGetOut">
- <part name="Body" element="s0:ArrayOfQuote" />
- </message>
- <message name="GetQuotesHttpPostIn">
- <part name="QuoteTicker" type="s:string" />
- </message>
- <message name="GetQuotesHttpPostOut">
- <part name="Body" element="s0:ArrayOfQuote" />
- </message>
- <portType name="StockQuotesSoap">
- <operation name="GetStockQuotes">
- <input name="GetQuotes" message="s0:GetQuotesSoapIn" />
- <output name="GetQuotes" message="s0:GetQuotesSoapOut" />
- </operation>
- </portType>
- <portType name="StockQuotesHttpGet">
- <operation name="GetStockQuotes">
- <input name="GetQuotes" message="s0:GetQuotesHttpGetIn" />
- <output name="GetQuotes" message="s0:GetQuotesHttpGetOut" />
- </operation>
- </portType>
- <portType name="StockQuotesHttpPost">
- <operation name="GetStockQuotes">
- <input name="GetQuotes" message="s0:GetQuotesHttpPostIn" />
- <output name="GetQuotes" message="s0:GetQuotesHttpPostOut" />
- </operation>
- </portType>
- <binding name="StockQuotesSoap" type="s0:StockQuotesSoap">
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
- style="document" />
- <operation name="GetStockQuotes">
- <soap:operation
- soapAction="http://swanandmokashi.com/GetQuotes" style="document" />
- <input name="GetQuotes">
- <soap:body use="literal" />
- </input>
- <output name="GetQuotes">
- <soap:body use="literal" />
- </output>
- </operation>
- </binding>
- <binding name="StockQuotesHttpGet" type="s0:StockQuotesHttpGet">
- <http:binding verb="GET" />
- <operation name="GetStockQuotes">
- <http:operation location="/GetQuotes" />
- <input name="GetQuotes">
- <http:urlEncoded />
- </input>
- <output name="GetQuotes">
- <mime:mimeXml part="Body" />
- </output>
- </operation>
- </binding>
- <binding name="StockQuotesHttpPost" type="s0:StockQuotesHttpPost">
- <http:binding verb="POST" />
- <operation name="GetStockQuotes">
- <http:operation location="/GetQuotes" />
- <input name="GetQuotes">
- <mime:content type="application/x-www-form-urlencoded" />
- </input>
- <output name="GetQuotes">
- <mime:mimeXml part="Body" />
- </output>
- </operation>
- </binding>
- <service name="StockQuotes">
- <port name="StockQuotesSoap" binding="s0:StockQuotesSoap">
- <soap:address
- location="http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx" />
- </port>
- <port name="StockQuotesHttpGet"
- binding="s0:StockQuotesHttpGet">
- <http:address
- location="http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx" />
- </port>
- <port name="StockQuotesHttpPost"
- binding="s0:StockQuotesHttpPost">
- <http:address
- location="http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx" />
- </port>
- </service>
-</definitions>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/company.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/company.xsd
deleted file mode 100644
index 8c5ea4a7c1..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/company.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
- <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="cs" type="sdo:ChangeSummaryType"/>
- <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF" sdoxml:propertyType="company:EmployeeType"/>
- </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/tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xml
deleted file mode 100644
index cc6e93e4bb..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
- <!-- This XML has an employee with an SN of nil, which should appear in the SDO as NULL
- -->
- <company xmlns="companyNS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MegaCorp" employeeOfTheMonth="#/departments.0/employees.1">
-<departments name="Advanced Technologies" location="NY" number="123">
-<employees>
-<name>Jane Doe</name>
-<SN xsi:nil="true" />
-</employees>
-</departments>
-</company> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xsd
deleted file mode 100644
index 3738da590f..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/company_with_nillable_SN.xsd
+++ /dev/null
@@ -1,29 +0,0 @@
-<!-- This XSD recasts the properties of employee to elements in order to allow the SN property to be nillable -->
-<xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
- <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:IDREF"
-sdoxml:propertyType="company:EmployeeType"/> </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:element name="name" type="xsd:string"/>
- <xsd:element name="SN" type="xsd:ID" nillable="true"/>
- <xsd:element name="manager" type="xsd:boolean"/>
- </xsd:complexType>
-</xsd:schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/companyabs.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/companyabs.xsd
deleted file mode 100644
index bc47867904..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/companyabs.xsd
+++ /dev/null
@@ -1,44 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
- <xsd:element name="company" type="company:CompanyType"/>
- <xsd:complexType name="CompanyType">
- <xsd:sequence>
- <xsd:element name="departments" type="company:DepartmentType" maxOccurs="unbounded"/>
- <xsd:element name="Publication" type="company:PublicationType" maxOccurs="1"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="cs" type="sdo:ChangeSummaryType"/>
- <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF" sdoxml:propertyType="company:EmployeeType"/>
- </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:complexType name="BookType">
- <xsd:restriction base="company:PublicationType" />
- <xsd:element name="author" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:complexType name="MagazineType">
- <xsd:restriction base="company:PublicationType" />
- <xsd:element name="editor" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:complexType name="PublicationType" abstract="true" >
- <xsd:element name="title" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:element name="Book" type="company:BookType" substitutionGroup="Publication" />
- <xsd:element name="Magazine" type="company:MagazineType" substitutionGroup="company:Publication" />
- </xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/companyref.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/companyref.xsd
deleted file mode 100644
index 0d4b1240c0..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/companyref.xsd
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
- elementFormDefault="qualified">
-
- <xsd:element name="company" type="company:CompanyType"/>
- <xsd:complexType name="CompanyType">
- <xsd:sequence>
- <xsd:element name="departments" type="company:DepartmentType" maxOccurs="unbounded"/>
- <xsd:element name="my.Publication" ref="publication" sdo:name="MyPublication" maxOccurs="1"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="cs" type="sdo:ChangeSummaryType"/>
- <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF" sdoxml:propertyType="company:EmployeeType"/>
- </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:complexType name="BookType">
- <xsd:restriction base="company:PublicationType" />
- <xsd:element name="author" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:complexType name="MagazineType">
- <xsd:restriction base="company:PublicationType" />
- <xsd:element name="editor" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:complexType name="PublicationType">
- <xsd:element name="title" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:element name="my.book" sdo:name="MyBook" type="company:BookType" substitutionGroup="Publication" />
- <xsd:element name="my.magazine" sdo:name="MyMagazine" type="company:MagazineType" substitutionGroup="company:Publication" />
- <xsd:element name="my.publication" sdo:name="MyPublication" type="company:PublicationType"/>
- </xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/companysubs.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/companysubs.xsd
deleted file mode 100644
index 2ffb626e90..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/companysubs.xsd
+++ /dev/null
@@ -1,44 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
- <xsd:element name="company" type="company:CompanyType"/>
- <xsd:complexType name="CompanyType">
- <xsd:sequence>
- <xsd:element name="departments" type="company:DepartmentType" maxOccurs="unbounded"/>
- <xsd:element name="Publication" type="company:PublicationType" maxOccurs="1"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="cs" type="sdo:ChangeSummaryType"/>
- <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF" sdoxml:propertyType="company:EmployeeType"/>
- </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:complexType name="BookType">
- <xsd:restriction base="company:PublicationType" />
- <xsd:element name="author" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:complexType name="MagazineType">
- <xsd:restriction base="company:PublicationType" />
- <xsd:element name="editor" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:complexType name="PublicationType">
- <xsd:element name="title" type="xsd:string" maxOccurs="1"/>
- </xsd:complexType>
- <xsd:element name="Book" type="company:BookType" substitutionGroup="Publication" />
- <xsd:element name="Magazine" type="company:MagazineType" substitutionGroup="company:Publication" />
- </xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xml
deleted file mode 100644
index 1397087013..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<company targetNameSpace="hghgh" xmlns="companyNS" name="MegaCorp" employeeOfTheMonth="#/departments.0/employees.1">
-<departments name="Advanced Technologies" location="NY" number="123">
-<employees name="John Jones" SN="E0001" />
-<employees name="Jane Doe" SN="E0003" />
-<employees name="Al Smith" SN="E0004" manager="true" />
-</departments>
-</company> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xsd
deleted file mode 100644
index ca3583f6df..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/doctest.xsd
+++ /dev/null
@@ -1,28 +0,0 @@
-<xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
- <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:IDREF"
-sdoxml:propertyType="company:EmployeeType"/> </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/tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xml
deleted file mode 100644
index cc6e93e4bb..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
- <!-- This XML has an employee with an SN of nil, which should appear in the SDO as NULL
- -->
- <company xmlns="companyNS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MegaCorp" employeeOfTheMonth="#/departments.0/employees.1">
-<departments name="Advanced Technologies" location="NY" number="123">
-<employees>
-<name>Jane Doe</name>
-<SN xsi:nil="true" />
-</employees>
-</departments>
-</company> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xsd
deleted file mode 100644
index 6cc581de35..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/error1.xsd
+++ /dev/null
@@ -1,29 +0,0 @@
-<!-- This XSD recasts the properties of employee to elements in order to allow the SN property to be nillable -->
-<xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
- <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:IDREF"
-sdoxml:propertyType="company:EmployeeType"/> </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:element name="name" type="xsd:string"/>
- <xsd:element name="SN" type="xsd:ID" nillable="true"/>
- <xsd:element name="manager" type="xsd:boolean"/>
-
-</xsd:schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/g3.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/g3.xsd
deleted file mode 100644
index 77a586f516..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/g3.xsd
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <xs:element name="quotes">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="quote"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="quote">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="phrase"/>
- <xs:element ref="author"/>
- </xs:sequence>
- <xs:attribute name="year" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="phrase" type="xs:string"/>
- <xs:element name="author" type="xs:string"/>
-</xs:schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/graham1.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/graham1.xsd
deleted file mode 100644
index c68f1d5b68..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/graham1.xsd
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <xs:element name="quotes">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="quote"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="quote">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="phrase"/>
- <xs:element ref="author"/>
- </xs:sequence>
- <xs:attribute name="year" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="phrase" type="xs:string"/>
- <xs:element name="author" type="xs:string"/>
-</xs:schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/graham2.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/graham2.xsd
deleted file mode 100644
index 6b4e0dcbb1..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/graham2.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
-xmlns:quotes="quotesNS" targetNamespace="quotesNS">
-<xs:element name="quotes">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="quote"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="quote" >
- <xs:complexType>
- <xs:sequence>
- <xs:element name="phrase" type="xs:string"/>
- <xs:element name="author" type="xs:string"/>
- </xs:sequence>
- <xs:attribute name="year" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
-</xs:schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/graham3.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/graham3.xsd
deleted file mode 100644
index 61c72577d0..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/graham3.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
->
-<!--
-xmlns:quotes="quotesNS" targetNamespace="quotesNS"
--->
-<xs:element name="quotes">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="quote" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="phrase" type="xs:string"/>
- <xs:element name="author" type="xs:string"/>
- </xs:sequence>
- <xs:attribute name="year" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-</xs:schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/include.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/include.xsd
deleted file mode 100644
index 67f3cb5501..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/include.xsd
+++ /dev/null
@@ -1,14 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <xsd:include schemaLocation = "include1.xsd"/>
- <xsd:include schemaLocation = "./include2.xsd"/>
- <xsd:include schemaLocation = "../t2/include3.xsd"/>
-
-
- </xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/include1.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/include1.xsd
deleted file mode 100644
index 98705f6418..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/include1.xsd
+++ /dev/null
@@ -1,18 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <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="cs" type="sdo:ChangeSummaryType"/>
- <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF" sdoxml:propertyType="company:EmployeeType"/>
- </xsd:complexType>
- </xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/include2.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/include2.xsd
deleted file mode 100644
index 66dfca00a8..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/include2.xsd
+++ /dev/null
@@ -1,17 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <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:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/includeother3.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/includeother3.xsd
deleted file mode 100644
index a74c94e318..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/includeother3.xsd
+++ /dev/null
@@ -1,14 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <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/tags/cpp-stable-20060304/sdo/runtime/core/test/many.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/many.xml
deleted file mode 100644
index 72a073cd11..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/many.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<company xmlns="companyNS" xsi:type="CompanyType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="ACME">
-<sdo:changeSummary xmlns:sdo="commonj.sdo">
-<create>#/departments.0/employees.0</create>
-</sdo:changeSummary>
-<departments name="Advanced Technologies" location="NY" number="123">
-<employees name="Albert" SN="E0001" >
-<openlist>Three member</openlist>
-<openlist>Open bytes</openlist>
-<openlist>List is complete</openlist>
-</employees><employees name="Boris" SN="E0002" manager="true"/>
-<employees name="Carl" SN="E0003"/>
-</departments>
-</company>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/many.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/many.xsd
deleted file mode 100644
index a40b21a0da..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/many.xsd
+++ /dev/null
@@ -1 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sdo="commonj.sdo" xmlns:sdoxml="commonj.sdo/xml" xmlns:tns="companyNS" targetNamespace="companyNS"><xsd:element name="companyType" type="tns:CompanyType"/><xsd:complexType name="CompanyType" sdo:aliasName="TheFirm TheBigFirm"><xsd:sequence><xsd:element name="departments" type="tns:DepartmentType" minOccurs="0" maxOccurs="unbounded" sdo:aliasName="TheDepartments MYDepartments"/></xsd:sequence><xsd:element name="changeSummary" type="sdo:ChangeSummaryType"/><xsd:attribute name="name" type="xsd:String"/><xsd:attribute name="employeeOfTheMonth" sdoxml:propertyType="tns:EmployeeType" type="xsd:anyURI"/></xsd:complexType><xsd:element name="departmentType" type="tns:DepartmentType"/><xsd:complexType name="DepartmentType"><xsd:sequence><xsd:element name="employees" type="tns:EmployeeType" minOccurs="0" maxOccurs="unbounded"/></xsd:sequence><xsd:attribute name="name" type="xsd:String"/><xsd:attribute name="location" type="xsd:String"/><xsd:attribute name="number" type="xsd:String"/></xsd:complexType><xsd:element name="employeeType" type="tns:EmployeeType"/><xsd:complexType name="EmployeeType"><xsd:attribute name="name" type="xsd:String"/><xsd:attribute name="SN" type="xsd:String"/><xsd:attribute name="manager" type="xsd:boolean"/><xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/><xsd:anyAttribute namespace="##any" processContents="lax"/></xsd:complexType><xsd:element name="openType" type="tns:OpenType"/><xsd:complexType name="OpenType"><xsd:attribute name="name" type="xsd:String"/></xsd:complexType></xsd:schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/my-core.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/my-core.xsd
deleted file mode 100644
index 2d1a84f9fb..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/my-core.xsd
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
-
-
- <complexType name="Component">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:implementation"/>
- </sequence>
- </complexType>
-
- <element name="implementation" type="sca:Implementation"/>
- <complexType name="Implementation"/>
-
-
-
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/my-implementation-local-java.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/my-implementation-local-java.xsd
deleted file mode 100644
index 7501eafd25..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/my-implementation-local-java.xsd
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="my-core.xsd"/>
-
- <element name="implementation.local.java" type="sca:LocalJavaImplementation" substitutionGroup="sca:implementation" sdo:name="implementationLocalJava"/>
- <complexType name="LocalJavaImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="class" type="NCName" use="required"/>
- <attribute name="scope" type="sca:Scope" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/my.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/my.xsd
deleted file mode 100644
index da66b397bf..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/my.xsd
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/">
-
- <include schemaLocation="my-core.xsd"/>
-
- <include schemaLocation="my-implementation-local-java.xsd"/>
-
-
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xml
deleted file mode 100644
index 9af06a8b02..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<company xmlns="companyNS" xsi:type="CompanyType" xmlns:tp="teapot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="ACME">
-<sdo:changeSummary xmlns:sdo="commonj.sdo">
-<create>#/departments.0/employees.0</create>
-</sdo:changeSummary>
-<departments name="Advanced Technologies" location="NY" number="123">
-<employees name="Albert" SN="E0001" tp:openstring="Value Of Open String" tp:openboolean="true">
-<tp:openintlist>45</tp:openintlist>
-</employees>
-<employees name="Boris" SN="E0002" manager="true"/>
-<employees name="Carl" SN="E0003"/>
-</departments>
-</company>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xsd
deleted file mode 100644
index 98a12eb8c6..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS.xsd
+++ /dev/null
@@ -1,33 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:sdo="commonj.sdo" xmlns:sdoxml="commonj.sdo/xml"
-xmlns:tns="companyNS" targetNamespace="companyNS">
-<xsd:element name="companyType" type="tns:CompanyType"/>
-<xsd:complexType name="CompanyType" sdo:aliasName="TheFirm TheBigFirm">
-<xsd:sequence>
-<xsd:element name="departments" type="tns:DepartmentType" minOccurs="0" maxOccurs="unbounded" sdo:aliasName="TheDepartments MYDepartments"/>
-</xsd:sequence>
-<xsd:element name="changeSummary" type="sdo:ChangeSummaryType"/>
-<xsd:attribute name="name" type="xsd:String"/>
-<xsd:attribute name="employeeOfTheMonth" sdoxml:propertyType="tns:EmployeeType" type="xsd:anyURI"/>
-</xsd:complexType><xsd:element name="departmentType" type="tns:DepartmentType"/>
-<xsd:complexType name="DepartmentType">
-<xsd:sequence>
-<xsd:element name="employees" type="tns:EmployeeType" minOccurs="0" maxOccurs="unbounded"/>
-</xsd:sequence>
-<xsd:attribute name="name" type="xsd:String"/>
-<xsd:attribute name="location" type="xsd:String"/>
-<xsd:attribute name="number" type="xsd:String"/>
-</xsd:complexType>
-<xsd:element name="employeeType" type="tns:EmployeeType"/>
-<xsd:complexType name="EmployeeType">
-<xsd:attribute name="name" type="xsd:String"/>
-<xsd:attribute name="SN" type="xsd:String"/>
-<xsd:attribute name="manager" type="xsd:boolean"/>
-<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:anyAttribute namespace="##any" processContents="lax"/>
-</xsd:complexType>
-<xsd:element name="openType" type="tns:OpenType"/>
-<xsd:complexType name="OpenType">
-<xsd:attribute name="name" type="xsd:String"/>
-</xsd:complexType>
-</xsd:schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xml
deleted file mode 100644
index 100ff60176..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<company xmlns="companyNS" xsi:type="CompanyType" xmlns:tp="twilbur" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="ACME">
-<sdo:changeSummary xmlns:sdo="commonj.sdo">
-<create>#/departments.0/employees.0</create>
-</sdo:changeSummary>
-<departments name="Advanced Technologies" location="NY" number="123">
-<employees name="Albert" SN="E0001" tp:openstring="Value Of Open String" tp:openboolean="true">
-<tp:openintlist>45</tp:openintlist>
-</employees>
-<employees name="Boris" SN="E0002" manager="true"/>
-<employees name="Carl" SN="E0003"/>
-</departments>
-</company>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xsd
deleted file mode 100644
index f62ea912b7..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/openloadNS2.xsd
+++ /dev/null
@@ -1,8 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:sdo="commonj.sdo" xmlns:sdoxml="commonj.sdo/xml"
-xmlns:tns="teapot" targetNamespace="teapot">
-<xsd:attribute name="openboolean" type="xsd:boolean"/>
-<xsd:element name="openintlist" type="xsd:short" minOccurs="0" maxOccurs="unbounded"/>
-<xsd:attribute name="openstring" type="xsd:hexBinary"/>
-</xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/partial.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/partial.xml
deleted file mode 100644
index 49563ecbeb..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/partial.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<company xmlns="companyNS" xsi:type="CompanyType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="ACME">
-<sdo:changeSummary xmlns:sdo="commonj.sdo">
-<create>#/departments.0/employees.0</create>
-</sdo:changeSummary>
-<departments name="Advanced Technologies" location="NY" number="123">
-<employees name="Albert" SN="E0001" openstring="Value Of Open String" openboolean="true">
-<openintlist>45</openintlist>
-<opendataobjectlist xmlns="companyNS" xsi:type="OpenType" name="MyOpenName"/>
-<opendataobject xsi:type="OpenType" name="MyOpenName"/>
-</employees><employees name="Boris" SN="E0002" manager="true"/>
-<employees name="Carl" SN="E0003"/>
-</departments>
-</company>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-sca.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-sca.xsd
deleted file mode 100644
index 2097cff917..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-sca.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="binding.sca" type="sca:SCARemoteBinding" substitutionGroup="sca:binding" sdo:name="bindingSca"/>
- <complexType name="SCARemoteBinding">
- <complexContent>
- <extension base="sca:Binding">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="target" type="anyURI" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-webservice.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-webservice.xsd
deleted file mode 100644
index 39196c48f8..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-webservice.xsd
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="binding.ws" type="sca:WebServiceBinding" substitutionGroup="sca:binding"/>
- <complexType name="WebServiceBinding">
- <complexContent>
- <extension base="sca:Binding">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="port" type="anyURI" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-ws.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-ws.xsd
deleted file mode 100644
index fd528710c1..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-binding-ws.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="binding.ws" type="sca:WebServiceBinding" substitutionGroup="sca:binding" sdo:name="bindingWs"/>
- <complexType name="WebServiceBinding">
- <complexContent>
- <extension base="sca:Binding">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="port" type="anyURI" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-core.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-core.xsd
deleted file mode 100644
index b3c90210ed..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-core.xsd
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-policy.xsd" />
-
- <element name="componentType" type="sca:ComponentType"/>
- <complexType name="ComponentType">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="service" type="sca:Service"/>
- <element minOccurs="0" maxOccurs="unbounded" name="reference" type="sca:Reference"/>
- <element minOccurs="0" maxOccurs="unbounded" ref="sca: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="sca: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="sca:Interface"/>
- <complexType name="Interface"/>
-
- <complexType name="Reference">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="property" type="sca:Property"/>
- <complexType name="Property" abstract="true">
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="many" type="boolean" default="false" use="optional"/>
- <attribute name="default" type="string" use="optional"/>
- </complexType>
-
-
- <element name="moduleFragment" type="sca:ModuleFragment"/>
- <complexType name="ModuleFragment">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="sca:EntryPoint"/>
- <element minOccurs="0" maxOccurs="unbounded" name="component" type="sca:Component"/>
- <element minOccurs="0" maxOccurs="unbounded" name="externalService" type="sca:ExternalService"/>
- <element minOccurs="0" maxOccurs="unbounded" name="wire" type="sca: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="sca:ModuleFragment"/>
-
-
- <complexType name="EntryPoint">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
- <element minOccurs="1" maxOccurs="1" ref="sca:binding"/>
- <element minOccurs="1" maxOccurs="1" name="reference" type="anyType"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="overridable" type="boolean" default="true" use="optional"/>
- <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
- <!-- a multiplicity 1..1 sample
- <reference>StockQuoteComponent</reference> - type must be URI
- a multiplicity 0..n sample
- <reference>
- <value>StockQuoteComponent1</value> - type must be URI
- <value>StockQuoteComponent2</value>
- </reference>
- -->
-
- <element name="binding" type="sca:Binding"/>
- <complexType name="Binding"/>
-
-
- <complexType name="Component">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:implementation"/>
- <element minOccurs="0" maxOccurs="1" name="properties" type="sca:PropertyValues"/>
- <element minOccurs="0" maxOccurs="1" name="references" type="sca: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 sample
- <references>
- <v:stockQuote>StockQuoteComponent</v:stockquote> - type must be URI
- </references>
- a multiplicity 0..n sample
- <references>
- <v:stockQuote>
- <value>StockQuoteComponent1</value> - type must be URI
- <value>StockQuoteComponent2</value>
- </v:stockquote>
- </references>
- -->
-
- <element name="implementation" type="sca:Implementation"/>
- <complexType name="Implementation"/>
-
- <complexType name="PropertyValues">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <complexType name="ReferenceValues">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
-
- <complexType name="ExternalService">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
- <element minOccurs="1" maxOccurs="1" ref="sca:binding"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="overridable" type="boolean" default="true" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
-
- <complexType name="ModuleWire">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:source.uri" sdo:name="sourceUri"/>
- <element minOccurs="1" maxOccurs="1" ref="sca:target.uri" sdo:name="targetUri"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="source.uri" type="anyURI" substitutionGroup="sca:source" sdo:name="sourceUri"/>
- <element name="target.uri" type="anyURI" substitutionGroup="sca:target" sdo:name="targetUri"/>
-
-
- <element name="subsystem" type="sca:Subsystem"/>
- <complexType name="Subsystem">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="sca:EntryPoint"/>
- <element minOccurs="0" maxOccurs="unbounded" name="moduleComponent" type="sca:ModuleComponent"/>
- <element minOccurs="0" maxOccurs="unbounded" name="externalService" type="sca:ExternalService"/>
- <element minOccurs="0" maxOccurs="unbounded" name="wire" type="sca:SystemWire"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
- <complexType name="ModuleComponent">
- <sequence>
- <element minOccurs="0" maxOccurs="1" name="references" type="sca: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"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="SystemWire">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:source.uri" sdo:name="sourceUri"/>
- <element minOccurs="1" maxOccurs="1" ref="sca:target.uri" sdo:name="targetUri" />
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="source" type="anyType"/>
- <element name="source.epr" type="anyType" substitutionGroup="sca:source" sdo:name="sourceEpr"/>
-
- <element name="target" type="anyType"/>
- <element name="target.epr" type="anyType" substitutionGroup="sca:target" sdo:name="targetEpr"/>
-
-
- <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="Scope">
- <restriction base="string">
- <enumeration value="instance"/>
- <enumeration value="request"/>
- <enumeration value="session"/>
- <enumeration value="module"/>
- </restriction>
- </simpleType>
-
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-dll.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-dll.xsd
deleted file mode 100644
index da4392b9e7..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-dll.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="implementation.dll" type="sca:DLLImplementation" substitutionGroup="sca:implementation" sdo:name="implementationDll"/>
- <complexType name="DLLImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="dll" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-java.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-java.xsd
deleted file mode 100644
index 5adb548ad4..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-java.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="implementation.java" type="sca:JavaImplementation" substitutionGroup="sca:implementation" sdo:name="implementationJava"/>
- <complexType name="JavaImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="class" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-local-java.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-local-java.xsd
deleted file mode 100644
index 13286d728e..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-implementation-local-java.xsd
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="implementation.local.java" type="sca:LocalJavaImplementation" substitutionGroup="sca:implementation" sdo:name="implementationLocalJava"/>
- <complexType name="LocalJavaImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="class" type="NCName" use="required"/>
- <attribute name="scope" type="sca:Scope" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-cpp.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-cpp.xsd
deleted file mode 100644
index 8ea5b09cd0..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-cpp.xsd
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="interface.cpp" type="sca:CPPInterface" substitutionGroup="sca:interface"
- sdo:name="interfaceCpp"/>
- <complexType name="CPPInterface">
- <complexContent>
- <extension base="sca:Interface">
- <sequence>
- <element minOccurs="1" name="operation" type="sca:Operation"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-
- <!-- C++ operation declaration -->
- <complexType name="Operation">
- <complexContent>
- <sequence>
- <element minOccurs="1" maxOccurs="1" name="return" type="sca:ReturnType"/>
- <element minOccurs="0" name="parameter" type="sca:ParameterType"/>
- </sequence>
- <attribute name="name" type="string" use="required"/>
- </complexContent>
- </complexType>
-
- <simpleType name="ReturnType">
- <restriction base="string">
- <enumeration value="float"/>
- <enumeration value="void"/>
- </restriction>
- </simpleType>
-
- <simpleType name="ParameterType">
- <restriction base="string">
- <enumeration value="float"/>
- <enumeration value="const char *"/>
- </restriction>
- </simpleType>
-
-
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-java.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-java.xsd
deleted file mode 100644
index 160d84f74a..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-java.xsd
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="interface.java" type="sca:JavaInterface" substitutionGroup="sca:interface" sdo:name="interfaceJava"/>
- <complexType name="JavaInterface">
- <complexContent>
- <extension base="sca:Interface">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="interface" type="NCName" use="required"/>
- <attribute name="callbackInterface" type="NCName" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-wsdl.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-wsdl.xsd
deleted file mode 100644
index 5c84b9a674..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-interface-wsdl.xsd
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="interface.wsdl" type="sca:WSDLPortType" substitutionGroup="sca:interface" sdo:name="interfaceWsdl"/>
- <complexType name="WSDLPortType">
- <complexContent>
- <extension base="sca:Interface">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="interface" type="anyURI" use="required"/>
- <attribute name="callbackInterface" type="anyURI" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema>
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-java.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-java.xsd
deleted file mode 100644
index 21acbeaab6..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-java.xsd
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="property.java" type="sca:JavaProperty" substitutionGroup="sca:property" sdo:name="propertyJava"/>
- <complexType name="JavaProperty">
- <complexContent>
- <extension base="sca:Property">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="class" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-xsd.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-xsd.xsd
deleted file mode 100644
index 24b9d00e07..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca-property-xsd.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sdo="commonj.sdo/XML"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="property.xsd" type="sca:XSDProperty" substitutionGroup="sca:property" sdo:name="propertyXsd"/>
- <complexType name="XSDProperty">
- <complexContent>
- <extension base="sca:Property">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="type" type="anyURI" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType>
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/sca.xsd
deleted file mode 100644
index a0d61568e2..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sca.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.commonj.org/xmlns/sca/v0.0.1/"
- xmlns:sca="http://www.commonj.org/xmlns/sca/v0.0.1/">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <include schemaLocation="sca-interface-wsdl.xsd"/>
- <include schemaLocation="sca-interface-cpp.xsd"/>
- <include schemaLocation="sca-interface-java.xsd"/>
-
- <include schemaLocation="sca-property-xsd.xsd"/>
-
- <include schemaLocation="sca-implementation-dll.xsd"/>
-
- <include schemaLocation="sca-implementation-java.xsd"/>
- <include schemaLocation="sca-implementation-local-java.xsd"/>
-
- <include schemaLocation="sca-binding-ws.xsd"/>
-
-
-</schema> \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.cpp b/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.cpp
deleted file mode 100644
index d5e0c0d5c3..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.cpp
+++ /dev/null
@@ -1,4028 +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.
- */
-
-/* $Rev$ $Date: 2005/12/22 16:54:31 $ */
-
-#include <stdio.h>
-
-#pragma warning(disable:4786)
-
-#include <iostream>
-using namespace std;
-
-// #include "TypeImpl.h"
-
-#include "sdotest.h"
-
-
-
-using namespace commonj::sdo;
-
-// very basic print of a data graph
-
-typedef struct {
- //zend_object zo; /* The standard zend_object */
- DataObjectPtr dop; /* The Hydra DataObject */
- //zend_object *df; /* The Data Factory */
-} sdo_doimpl_object;
-
-
-void sdotest::rcptest()
-{
- DataFactoryPtr mdg;
- sdo_doimpl_object* ptr;
-
- cout << "RCPtest" << endl;
-
- mdg = DataFactory::getDataFactory();
- mdg = 0;
- mdg = DataFactory::getDataFactory();
- mdg = NULL;
- mdg = DataFactory::getDataFactory();
-
- cout << "RCPtest 2" << endl;
-
- mdg->addType("myspace","Root");
-
- mdg->addType("myspace","Company");
-
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Root","companies",
- "myspace","Company", true, false, true);
-
- const Type& tcc = mdg->getType("myspace","Root");
-
-
- ptr = new sdo_doimpl_object;
-
-
- ptr->dop = mdg->create((Type&)tcc);
-
-
- //delete ptr->dop;
-
-
- ptr->dop = 0; // null ;
-
-}
-
-
-
-void printDataStructure(DataFactory* dd)
-{
- TypeList tt = dd->getTypes();
- cout << "Printing Types\n";
- for (int i = 0; i < tt.size(); ++i)
- {
- cout << "Type " << tt[i].getName() << "\n";
- PropertyList pl = tt[i].getProperties();
- for (int j = 0; j < pl.size() ; j++)
- {
- cout << "Has Property " << pl[j].getName() <<
- " of type ";
- cout << pl[j].getType().getName() << "\n";
- }
- }
-}
-
-
-void sdotest::changesummarytest()
-{
- scenario5();
- scenario1();
- scenario2();
- scenario3();
- scenario4();
-
-}
-
-
-
-
-void sdotest::printOldValues(ChangeSummaryPtr cs, DataObjectPtr dol)
-{
- cout << "===== Old Property Values Begin=====================================" << endl;
- SettingList& sl = cs->getOldValues(dol);
- if (sl.size() == 0)
- {
- cout << "No Settings found" << endl;
- }
- else
- {
- for (int j=0;j< sl.size(); j++)
- {
- cout << "Property " << sl[j].getProperty().getName();
- // this could be a many-valued property, and could be one which is
- // a data object or a data type...
- if (sl[j].getProperty().isMany())
- {
- cout << "[" << sl[j].getIndex() << "]" ;
- }
- if (!sl[j].isSet())
- {
- cout << "(UNSET)";
- }
- if (sl[j].isNull())
- {
- cout << "(ISNULL)";
- }
-
- cout << " of type " ;
- switch (sl[j].getProperty().getTypeEnum())
- {
- case Type::BooleanType:
- cout << "Boolean:" << sl[j].getBooleanValue();
- break;
- case Type::ByteType:
- cout << "Byte:" << sl[j].getByteValue();
- break;
- case Type::CharacterType:
- cout << "Character:" << sl[j].getCharacterValue();
- break;
- case Type::IntegerType:
- cout << "Integer:" << sl[j].getIntegerValue();
- break;
- case Type::ShortType:
- cout << "Short:" << sl[j].getShortValue();
- break;
- case Type::DoubleType:
- cout << "Double:" << sl[j].getDoubleValue();
- break;
- case Type::FloatType:
- cout << "Float:" << sl[j].getFloatValue();
- break;
- case Type::LongType:
- cout << "Long:" << sl[j].getIntegerValue();
- break;
- case Type::DateType:
- cout << "Date:" << sl[j].getDateValue().getTime();
- break;
- case Type::BigDecimalType:
- case Type::BigIntegerType:
- case Type::StringType:
- case Type::UriType:
- cout << "String:" << sl[j].getCStringValue();
- break;
- case Type::BytesType:
- cout << "Bytes:" << sl[j].getCStringValue();
- break;
- case Type::OtherTypes:
- case Type::DataObjectType:
- case Type::ChangeSummaryType:
- {
- cout << "DataObject " ;
- DataObjectPtr dob = sl[j].getDataObjectValue();
- if (!dob)
- {
- cout << " - object null or unset" ;
- }
- else
- {
- DataObjectPtr mydo = sl[j].getDataObjectValue();
- if (cs->isDeleted(mydo))
- {
- cout << " - object deleted " << endl;
- printOldValues(cs,mydo);
- }
- else
- {
- cout << " object still exists " << endl;
- //printDataObject(mydo);
- }
- }
- }
- break;
- default:
- {
- cout << "Unknown object type";
- }
- break;
- }
- cout << endl;
- }
- }
- cout << "===== Old Property Values End ======================================" << endl;
-}
-
-
-void sdotest::printValue(DataObjectPtr dp, const Property& p)
-{
- switch (p.getTypeEnum())
- {
- case Type::BooleanType:
- cout << "boolean:" << dp->getBoolean(p);
- break;
- case Type::ByteType:
- cout << "Byte:" << dp->getByte(p);
- break;
- case Type::CharacterType:
- cout << "character:" << dp->getCharacter(p);
- break;
- case Type::IntegerType:
- cout << "integer:" << dp->getInteger(p);
- break;
- case Type::ShortType:
- cout << "short:" << dp->getShort(p);
- break;
- case Type::DoubleType:
- cout << "double:" << dp->getDouble(p);
- break;
- case Type::FloatType:
- cout << "float:" << dp->getFloat(p);
- break;
- case Type::LongType:
- cout << "long:" << "cheat" << dp->getInteger(p);
- break;
- case Type::DateType:
- cout << "date:" << dp->getDate(p).getTime();
- break;
- case Type::BigDecimalType:
- case Type::BigIntegerType:
- case Type::StringType:
- case Type::UriType:
- cout << "string:" << dp->getCString(p);
- break;
- case Type::BytesType:
- cout << "bytes:" << dp->getCString(p);
- break;
- case Type::DataObjectType:
- {
- cout << "dataObject" ;
- DataObjectPtr dob = dp->getDataObject(p);
- if (!dob)
- {
- cout << " - null or unset" ;
- }
- else
- {
- cout << endl;
- printDataObject(dob);
- }
- }
- break;
- case Type::OtherTypes:
- case Type::ChangeSummaryType:
- default:
- {
- cout << "Unknown object type";
- }
- break;
- }
- cout << endl;
-}
-
-void sdotest::printList(DataObjectPtr dp, const Property& p)
-{
- DataObjectList& dobl = dp->getList(p);
- cout << " list ";
-
- if (dobl.size() ==0) {
- cout << "(empty)" << endl;
- return;
- }
-
- for (int i=0;i<dobl.size();i++) {
-
- switch (p.getTypeEnum())
- {
- case Type::BooleanType:
- cout << "boolean[" << i << "]=" << dobl.getBoolean(i);
- break;
- case Type::ByteType:
- cout << "byte[" << i << "]=" << dobl.getByte(i);
- break;
- case Type::CharacterType:
- cout << "character[" << i << "]=" << dobl.getCharacter(i);
- break;
- case Type::IntegerType:
- cout << "integer[" << i << "]=" << dobl.getInteger(i);
- break;
- case Type::ShortType:
- cout << "short[" << i << "]=" << dobl.getShort(i);
- break;
- case Type::DoubleType:
- cout << "double[" << i << "]=" << dobl.getDouble(i);
- break;
- case Type::FloatType:
- cout << "float[" << i << "]=" << dobl.getFloat(i);
- break;
- case Type::LongType:
- cout << "long:" << i << "]=" << "cheat" << dobl.getInteger(i);
- break;
- case Type::DateType:
- cout << "date[" << i << "]=" << dobl.getDate(i).getTime();
- break;
- case Type::BigDecimalType:
- case Type::BigIntegerType:
- case Type::StringType:
- case Type::UriType:
- cout << "string:" << i << "]=" << dobl.getCString(i);
- break;
- case Type::BytesType:
- cout << "bytes[" << i << "]=" << dobl.getCString(i);
- break;
- case Type::DataObjectType:
- {
- cout << "dataObject["<< i << "]=" ;
- DataObjectPtr dob = dobl[i];
- if (!dob)
- {
- cout << " null or unset" ;
- }
- else
- {
- cout << endl;
- printDataObject(dob);
- }
- }
- break;
- case Type::OtherTypes:
- case Type::ChangeSummaryType:
- default:
- {
- cout << "Unknown object type";
- }
- break;
- }
- cout << endl;
- }
-}
-
-void sdotest::printDataObject(DataObjectPtr dol)
-{
- cout << "DataObject Current Values ==========================================" << endl;
- PropertyList pl = dol->getInstanceProperties();
-
- for (int j=0;j< pl.size(); j++)
- {
- cout << "Property " << pl[j].getName() << " of type ";
- // this could be a many-valued property, and could be one which is
- // a data object or a data type...
- if (pl[j].isMany())
- {
- printList(dol,pl[j]);
- }
- else {
- printValue(dol,pl[j]);
- }
- }
- cout << "End DataObject Current Values ======================================" << endl;
-}
-
-
-void sdotest::dumpchangesummary(ChangeSummaryPtr cs)
-{
- ChangedDataObjectList& cdol = cs->getChangedDataObjects();
-
- // the changed data object list contains only the objects whose properties have
- // been changed.
- // a changed and subsequently deleted object will not appear, but necessarily its
- // container will appear, so we can rebuild it.
-
- for (int i=0;i< cdol.size();i++)
- {
- if (cs->isCreated(cdol[i]))
- {
- cout << "Created object in changed list: " << cdol[i] << endl;
- // So its in the created list, it must exist in the tree...
- cout << "The object is " << cdol[i]->getType().getURI()
- << "#" << cdol[i]->getType().getName() << endl;
- }
- if (cs->isModified(cdol[i]))
- {
- cout <<"===== Modified Object Starts " << cdol[i] << " ==============================" <<endl;
- // hack to get to a DAS data object...
- DataObject* temp = cdol[i];
- cout << "XPATH:" << ((DataObject*)temp)->objectToXPath() << endl;
- // end hack
-
- if (cs->isDeleted(cdol[i]))
- {
- cout << "PROBLEM: DELETED OBJECT IN CHANGED LIST: " << cdol[i] << endl;
- // As the item is in the deleted list - its still present..
- cout << "The type is " << cdol[i]->getType().getURI()
- << "#" << cdol[i]->getType().getName() << endl;
- }
- else {
- cout << "The modified objects type is " << cdol[i]->getType().getURI()
- << "#" << cdol[i]->getType().getName() << endl;
-
- printOldValues(cs, cdol[i]);
- //printDataObject(cdol[i]);
- }
- cout <<"=====Modified Object Ends " << cdol[i] << " =================================" <<endl;
- }
- if (cs->isDeleted(cdol[i]))
- {
- cout <<"=====Deleted Object Starts " << cdol[i] << " =================================" <<endl;
- printOldValues(cs, cdol[i]);
- cout <<"=====Deleted Object Ends " << cdol[i] << " =================================" <<endl;
- }
- }
-}
-
-
-
-
-
-void sdotest::scenario1()
-{
- // scenario 1
- // create root type - root has cs
- // create a company type. and containment ref from root, many valued.
- // props on comp id, name both strings single v.
- // create root object
- // begin logging
- // create a company obj. name=acme id=123
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","RootOfAllEvil");
- mdg->addPropertyToType("myspace","RootOfAllEvil","whatever",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addType("myspace","Company");
-
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","RootOfAllEvil","companies",
- "myspace","Company", true, false, true);
-
- const Type& tcc = mdg->getType("myspace","RootOfAllEvil");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- ChangeSummaryPtr cs = dor->getChangeSummary();
- cs->beginLogging();
-
- DataObjectPtr com = dor->createDataObject("companies");
- com->setCString("name","acme");
- com->setCString("id","123");
-
- dumpchangesummary(cs);
-
- cs->endLogging();
-
- //expect cdo:
- //root - isChanged
- //comp - isCreated
-
-
-}
-
-
-void sdotest::testui()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("companyNS","MainType");
-
-
- /* Now add the properties to the types...*/
-
-
- const Type& tmain = mdg->getType("companyNS","MainType");
- const Type& tshort = mdg->getType("commonj.sdo","Short");
- const Type& tint = mdg->getType("commonj.sdo","Integer");
-
-
- mdg->addPropertyToType(tmain,"short",tshort,true);
- mdg->addPropertyToType(tmain,"int",tint, true);
-
- DataObjectPtr main = mdg->create((Type&)tmain);
-
- DataObjectList& dol1 = main->getList("short");
- DataObjectList& dol2 = main->getList("int");
- DataObjectList& dol3 = main->getList((unsigned int)0);
- DataObjectList& dol4 = main->getList(1);
- }
-
- catch (SDORuntimeException e)
- {
- cout << "Unsigned int failed" << endl << e << endl;
- }
-}
-
-
-
-void sdotest::scenario5()
-{
- // scenario 1
- // create root type - root has cs
- // create a company type. and containment ref from root, many valued.
- // props on comp id, name both strings single v.
- // create root object
- // begin logging
- // create a company obj. name=acme id=123
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","RootOfAllEvil");
- mdg->addPropertyToType("myspace","RootOfAllEvil","whatever",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addType("myspace","Company");
- mdg->addType("myspace","Employee");
- mdg->addPropertyToType("myspace","Employee","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","eotm",
- "myspace","Employee", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","employees",
- "myspace","Employee", true, false, true);
-
- mdg->addPropertyToType("myspace","RootOfAllEvil","companies",
- "myspace","Company", true, false, true);
-
- const Type& tcc = mdg->getType("myspace","RootOfAllEvil");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- ChangeSummaryPtr cs = dor->getChangeSummary();
-
- DataObjectPtr com = dor->createDataObject("companies");
- com->setCString("name","acme");
- com->setCString("id","123");
-
- const Type& te = mdg->getType("myspace","Employee");
-
- DataObjectPtr emp = mdg->create(te);
- emp->setCString("name", "Mr Expendible");
-
- DataObjectList& emps = com->getList("employees");
-
- emps.append(emp);
-
- com->setDataObject("eotm",emp);
-
- cs->beginLogging();
-
- com->unset("eotm");
-
- dumpchangesummary(cs);
-
- cs->endLogging();
-
- //expect com to have change record, nothing for eotm:
-
-}
-
-void sdotest::scenario2()
-{
- // create root type - root has cs
- // create a company type. and containment ref from root, many valued.
- // 2 props on comp id, name both strings single v.
- // create root object
- // create a company obj. name=acme id=123
- // begin logging()
- // name="megacorp"
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","RootOfAllEvil");
- mdg->addPropertyToType("myspace","RootOfAllEvil","whatever",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addType("myspace","Company");
-
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","RootOfAllEvil","companies",
- "myspace","Company", true, false, true);
-
- const Type& tcc = mdg->getType("myspace","RootOfAllEvil");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- DataObjectPtr com = dor->createDataObject("companies");
- com->setCString("name","acme");
- com->setCString("id","123");
-
- ChangeSummaryPtr cs = dor->getChangeSummary();
- cs->beginLogging();
-
- com->setCString("name","megacorp");
-
- dumpchangesummary(cs);
-
- cs->endLogging();
-
- //expect cdo:
- //root- nothing
- // company- isChanged
- //setting prop=name, value="acme"
-
-}
-
-void sdotest::scenario3()
-{
-
- //create root type - root has cs
- //create a company type. and containment ref from root, many valued.
- //2 props on comp id, name both strings single v.
- //create root object
- //create a company obj. name=acme id=123
- //begin logging()
- //delete company
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","RootOfAllEvil");
- mdg->addPropertyToType("myspace","RootOfAllEvil","whatever",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addType("myspace","Company");
-
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","RootOfAllEvil","companies",
- "myspace","Company", true, false, true);
-
- const Type& tcc = mdg->getType("myspace","RootOfAllEvil");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- DataObjectPtr com = dor->createDataObject("companies");
- com->setCString("name","acme");
- com->setCString("id","123");
-
- ChangeSummaryPtr cs = dor->getChangeSummary();
- cs->beginLogging();
-
- com->detach();
-
- dumpchangesummary(cs);
-
- cs->endLogging();
-
- // expect cdo
- // root - changed
- // company - deleted
-
-}
-
-void sdotest::scenario4()
-{
- //create root type - root has cs
- //create a company type. and containment ref from root, many valued.
- //create a dept type. and containment ref from comp, many valued.
- //create a emp type. and containment ref from dept, many valued.
- // give name and id properties to comp,dept, emp
-
- //create root object
- //create a company obj. name=acme id=123
- //create a company obj. name=megacorp id=124
- // give each company 2 depts
- // give each dept 2 employees
-
- // begin logging()
- // add new employee to first dept of acme
- // delete employee from second dept of acme
-
- // change name of first employee of first dept megacorp.
- // delete first dept of megacorp.
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","RootOfAllEvil");
- mdg->addPropertyToType("myspace","RootOfAllEvil","whatever",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addType("myspace","Company");
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Company","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addType("myspace","Department");
- mdg->addPropertyToType("myspace","Department","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Department","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addType("myspace","Employee");
- mdg->addPropertyToType("myspace","Employee","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Employee","id",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","RootOfAllEvil","companies",
- "myspace","Company", true, false, true);
-
- mdg->addPropertyToType("myspace","Company","departments",
- "myspace","Department", true, false, true);
-
- mdg->addPropertyToType("myspace","Department","employees",
- "myspace","Employee", true, false, true);
-
- const Type& tcc = mdg->getType("myspace","RootOfAllEvil");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- DataObjectPtr com = dor->createDataObject("companies");
- com->setCString("name","acme");
- com->setCString("id","123");
-
- DataObjectPtr dep = com->createDataObject("departments");
- dep->setCString("name","widgets");
- dep->setCString("id","1");
-
- DataObjectPtr emp = dep->createDataObject("employees");
- emp->setCString("name","John O'Watt");
- emp->setCString("id","1");
-
- emp = dep->createDataObject("employees");
- emp->setCString("name","Ida Know");
- emp->setCString("id","2");
-
-
- dep = com->createDataObject("departments");
- dep->setCString("name","gadgets");
- dep->setCString("id","2");
-
- emp = dep->createDataObject("employees");
- emp->setCString("name","Ed Memoire");
- emp->setCString("id","1");
-
- emp = dep->createDataObject("employees");
- emp->setCString("name","Phyllis Tyne");
- emp->setCString("id","2");
-
-
- DataObjectPtr com2 = dor->createDataObject("companies");
- com2->setCString("name","megacorp");
- com2->setCString("id","124");
-
- dep = com2->createDataObject("departments");
- dep->setCString("name","windows");
- dep->setCString("id","1");
-
- emp = dep->createDataObject("employees");
- emp->setCString("name","Ivor Payne");
- emp->setCString("id","1");
-
- emp = dep->createDataObject("employees");
- emp->setCString("name","Colin Poisson");
- emp->setCString("id","2");
-
- dep = com2->createDataObject("departments");
- dep->setCString("name","portholes");
- dep->setCString("id","2");
-
- emp = dep->createDataObject("employees");
- emp->setCString("name","Graham Angreeneggs");
- emp->setCString("id","1");
-
- emp = dep->createDataObject("employees");
- emp->setCString("name","Helen Highwater");
- emp->setCString("id","2");
-
- cout << "-----------------------------------" << endl;
- cout << com->getCString("name") << endl;
- DataObjectList& deps = com->getList("departments");
- cout << "Depts[0]:" << deps[0]->getCString("name") << endl;
- DataObjectList& emps = deps[0]->getList("employees");
- cout << "Emps[0]:" << emps[0]->getCString("name") << endl;
- cout << "Emps[1]:" << emps[1]->getCString("name") << endl;
- cout << "Depts[1]:" << deps[1]->getCString("name") << endl;
- DataObjectList& emps2 = deps[1]->getList("employees");
- cout << "Emps[0]:" << emps2[0]->getCString("name") << endl;
- cout << "Emps[1]:" << emps2[1]->getCString("name") << endl;
- cout << "-----------------------------------" << endl;
- cout << com2->getCString("name") << endl;
- DataObjectList& deps2 = com2->getList("departments");
- cout << "Depts[0]:" << deps2[0]->getCString("name") << endl;
- DataObjectList& emps3 = deps2[0]->getList("employees");
- cout << "Emps[0]:" << emps3[0]->getCString("name") << endl;
- cout << "Emps[1]:" << emps3[1]->getCString("name") << endl;
- cout << "Depts[1]:" << deps2[1]->getCString("name") << endl;
- DataObjectList& emps4 = deps2[1]->getList("employees");
- cout << "Emps[0]:" << emps4[0]->getCString("name") << endl;
- cout << "Emps[1]:" << emps4[1]->getCString("name") << endl;
- cout << "-----------------------------------" << endl;
-
- // should be able to get the change summary property, but it
- // should be zero.
- // should be able to find out if the type is a change summary type
-
- if (dor->getType().isChangeSummaryType())
- {
- cout << "The root object has a change summary" << endl;
- }
- else {
- cout << "The root object DOESNT HAVE a change summary !!!" << endl;
- }
-
- try {
- DataObjectPtr csptr = dor->getDataObject("whatever");
-
- if (!csptr) {
- cout << "CS property was zero - should be invisible!!!!" << endl;
- }
- else {
- cout << "CS property was NOT zero !!" << endl;
- }
- }
- catch (SDOPropertyNotFoundException e)
- {
- cout << "No property shows - this is correct" << endl;
- }
-
-
- if (com->getType().isChangeSummaryType())
- {
- cout << "The company object has a change summary !!!!" << endl;
- }
- else {
- cout << "The company object is OK" << endl;
- }
-
-
-
-
- ChangeSummaryPtr cs = dor->getChangeSummary();
- cs->beginLogging();
-
- DataObjectList& depsout = com->getList("departments");
-
- emp = depsout[0]->createDataObject("employees");
- emp->setCString("name","Irma Newby");
- emp->setCString("id","3");
-
- DataObjectList& empsout = depsout[1]->getList("employees");
- empsout.remove(0);
-
- DataObjectList& depsout2 = com2->getList("departments");
- DataObjectList& empsout2 = depsout2[0]->getList("employees");
- empsout2[0]->setCString("name","Ive had my name changed");
-
- depsout2[0]->detach();
-
- dumpchangesummary(cs);
-
- cs->endLogging();
-
- // expect:
- // company acme, department widgets changed.
- // employee 3 of dept widgets of acme (Irma Newby) created.
- // employee 1 of dept gadgets or acme deleted
- // no change record for employee 1 of company megacorp, dept windows
- // deletion for dept windows of megacorp
- // deletion for emp 1 of windows - showing original value for name (Ivor Payne)
- // deletion for emp 2 of windows.
-
-
-}
-
-void sdotest::seqtest()
-{
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- // company is sequenced.
- mdg->addType("myspace","Company",true,false);
-
- mdg->addType("myspace","Department",true,false);
- // string is many
-
- mdg->addPropertyToType("myspace","Company","string","commonj.sdo","String",
- true);
-
- mdg->addPropertyToType("myspace","Company","departments","myspace","Department",
- true);
-
- mdg->addPropertyToType("myspace","Department","name","commonj.sdo","String");
-
-
- const Type& tcc = mdg->getType("myspace","Company");
-
- DataObjectPtr dor = mdg->create(tcc);
- const Property& sprop = dor->getType().getProperty("string");
- SequencePtr sptr = dor->getSequence();
-
- printseq(sptr);
-
- sptr->addCString(sprop,"I am Item 1 of string");
-
- printseq(sptr);
-
- sptr->addText("I am the first free text");
-
- printseq(sptr);
-
- sptr->addCString(sprop,"I am Item 2 of string");
-
- printseq(sptr);
-
- sptr->setCStringValue(1,"I am free text which has been modified");
-
- DataObjectPtr dep1 = dor->createDataObject("departments");
-
- printseq(sptr);
-
- dep1->setCString("name","department1");
-
- printseq(sptr);
-
- DataObjectList& dol = dor->getList("departments");
-
- const Type& tcd = mdg->getType("myspace","Department");
- DataObjectPtr dep2 = mdg->create(tcd);
-
- printseq(sptr);
-
- dep2->setCString("name","department2");
-
- printseq(sptr);
-
- dol.append(dep2);
-
- printseq(sptr);
-
-}
-
-void sdotest::printseq(SequencePtr sptr)
-{
- cout << "======================================" <<endl;
- for (int i=0;i< sptr->size();i++)
- {
- try {
- if (!sptr->isText(i))
- {
- const Property& prp = sptr->getProperty(i);
- if (!strcmp(prp.getType().getName(),"Department"))
- {
- DataObjectPtr pdep = sptr->getDataObjectValue(i);
- if (pdep != 0)
- {
- const char * cs = pdep->getCString("name");
- if (cs != 0)
- {
- cout << cs << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- }
- else
- {
- const char* stx = sptr->getCStringValue(i);
- if (stx != 0)
- {
- cout << stx << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- }
- else
- {
- const char* st = sptr->getCStringValue(i);
- if (st != 0)
- {
- cout << st << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- }
- catch (SDOPropertyNotSetException)
- {
- cout << "WRONG - got a property not set exception!!!" << endl;
- continue;
- }
- }
- cout << "======================================" << endl;
-}
-
-void sdotest::boolbug()
-{
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- mdg->addType("myspace","Company");
- mdg->addPropertyToType("myspace","Company","bool","commonj.sdo","Boolean");
- const Type& tcc = mdg->getType("myspace","Company");
- DataObjectPtr dor = mdg->create((Type&)tcc);
- try {
- bool b = dor->getBoolean("bool");
- cout << "bool:" << b << endl;
- }
- catch (SDOPropertyNotSetException)
- {
- cout << "WRONG not set exception" << endl;
- }
-}
-
-void sdotest::scope1()
-{
- cout << "SCOPE1 - Data Factory" << endl;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-}
-
-void sdotest::scope2()
-{
- cout << "SCOPE2 - Create Data Object" << endl;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- mdg->addType("myspace","Company");
- mdg->addPropertyToType("myspace","Company","csumm","commonj.sdo","ChangeSummary");
- const Type& tcc = mdg->getType("myspace","Company");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-}
-
-void sdotest::scope3()
-{
- cout << "SCOPE3 - Lists" << endl;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- mdg->addType("myspace","Main");
- mdg->addType("myspace","Subs");
- mdg->addPropertyToType("myspace","Main","name","commonj.sdo","String");
- mdg->addPropertyToType("myspace","Main","subs","myspace","Subs", true);
- mdg->addPropertyToType("myspace","Subs","name","commonj.sdo","String");
-
- const Type& tcc = mdg->getType("myspace","Main");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- DataObjectPtr sub = dor->createDataObject("subs");
- sub->setCString("name", "sub1");
-
- sub = dor->createDataObject("subs");
- sub->setCString("name", "sub2");
-
-
-}
-
-void sdotest::testGetters(DataObjectPtr dor)
-{
- testGetter(dor,"boolean");
- testGetter(dor,"byte");
- testGetter(dor,"character");
- testGetter(dor,"short");
- testGetter(dor,"integer");
- testGetter(dor,"long");
- testGetter(dor,"double");
- testGetter(dor,"float");
- testGetter(dor,"date");
- testGetter(dor,"string");
- testGetter(dor,"bytes");
- testGetter(dor,"dataobject");
-}
-
-void sdotest::testGetter(DataObjectPtr dor, char* str)
-{
-
- try {
- cout << "Boolean from " << str;
- bool b = dor->getBoolean(str);
- cout << " was " << b << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "Byte from " << str;
- char by = dor->getByte(str);
- cout << " was " << by <<endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "Character from " << str;
- wchar_t cy = dor->getCharacter(str);
- cout << " was " << cy << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "Short from " << str;
- short s = dor->getShort(str);
- cout << " was " << s << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "Int from " << str;
- int i = dor->getInteger(str);
- cout << " was " << i << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "Long from " << str;
- long l = dor->getLong(str);
- cout << " was " << l << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "LongLong from " << str;
- int64_t ll = dor->getLong(str);
- cout << " was got OK" << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "Float from " << str;
- float f = dor->getFloat(str);
- cout << " was " << f << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "Double from " << str;
- long double d = dor->getDouble(str);
- cout << " was " << d << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- unsigned int len;
-
- try {
- cout << "Length of " << str;
- len = dor->getLength(str);
- cout << " was " << len << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- if (len > 0) {
- try {
- cout << "String from " << str;
- wchar_t * buf = new wchar_t[len];
- unsigned int gotlen = dor->getString(str,buf,len);
- cout << " size ";
- cout << gotlen << endl;
- for (int jj=0;jj<gotlen;jj++)
- {
- cout << buf[jj] << ":";
- }
- cout << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
- try {
- cout << "Bytes from " << str;
- char * cbuf = new char[len];
- unsigned int gotlen = dor->getBytes(str,cbuf,len);
- cout << " size " << gotlen << endl;
- for (int jj=0;jj<gotlen;jj++)
- {
- cout << cbuf[jj] << ":";
- }
- cout << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
- }
-
- try {
- cout << "Date from " << str;
- SDODate t = dor->getDate(str);
- cout << " was " << t.getTime() << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << " WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "CString from " << str;
- const char * string = dor->getCString(str);
- if ( string != 0) cout << " was " << string << endl;
- else cout << " was empty " << endl;
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG - unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
- try {
- cout << "DataObject from " << str;
- DataObjectPtr dob = dor->getDataObject(str);
- if (dob != 0)
- {
- cout << " was " << dob << endl;
- }
- else
- {
- cout << " was empty" << endl;
- }
- }
- catch (SDOPropertyNotSetException pe)
- {
- cout << "WRONG unset and undefaulted" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << endl;
- }
-
-}
-
-void sdotest::conversiontest()
-{
- cout << "Conversion tests" << endl;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- mdg->addType("myspace","Container");
- mdg->addType("myspace","Contained");
- mdg->addPropertyToType("myspace","Container","boolean","commonj.sdo","Boolean");
- mdg->addPropertyToType("myspace","Container","byte","commonj.sdo","Byte");
- mdg->addPropertyToType("myspace","Container","character","commonj.sdo","Character");
- mdg->addPropertyToType("myspace","Container","short","commonj.sdo","Short");
- mdg->addPropertyToType("myspace","Container","integer","commonj.sdo","Integer");
- mdg->addPropertyToType("myspace","Container","long","commonj.sdo","Long");
- mdg->addPropertyToType("myspace","Container","float","commonj.sdo","Float");
- mdg->addPropertyToType("myspace","Container","double","commonj.sdo","Double");
- mdg->addPropertyToType("myspace","Container","string","commonj.sdo","String");
- mdg->addPropertyToType("myspace","Container","bytes","commonj.sdo","Bytes");
- mdg->addPropertyToType("myspace","Container","dataobject","myspace","Contained");
- mdg->addPropertyToType("myspace","Container","date","commonj.sdo","Date");
- mdg->addPropertyToType("myspace","Container","bigint","commonj.sdo","BigInteger");
- mdg->addPropertyToType("myspace","Container","bigdec","commonj.sdo","BigDecimal");
-
-
- const Type& tcc = mdg->getType("myspace","Container");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- // phase 1 - all unset.......
-
- cout << "+++++++++++++++PROPERTY VALUES UNSET ++++++++++++++++++" << endl;
-
- testGetters(dor);
-
- cout << "+++++++++++++++PROPERTY VALUES SET ++++++++++++++++++++" << endl;
-
- DataObjectPtr sub = dor->createDataObject("dataobject");
- dor->setBoolean("boolean", true);
- dor->setByte("byte",20);
- dor->setCharacter("character", 1000);
- dor->setShort("short", (short)12345678);
- dor->setInteger("integer", 87654321);
- dor->setLong("long", 0xFFFFFFFFFFFF);
- dor->setFloat("float", (float)12345.678);
- dor->setDouble("double", 1234567.891);
- dor->setDate("date", 37575);
- wchar_t* chars = new wchar_t[50];
- for (int i=0;i<50;i++) {chars[i] = 0x7F20 + i ;}
- dor->setString("string",chars, 50);
-
- char* tchars = new char[50];
- for (int ii=0;ii<50;ii++) {tchars[ii] = ii + 32;}
- dor->setBytes("bytes",tchars, 50);
-
-
- testGetters(dor);
-
- cout << "+++++++++++++++END OF TEST ++++++++++++++++++++++++++++" << endl;
-
- // phase 2 all set.....
-
-}
-
-
-void sdotest::usertest()
-{
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Root");
- mdg->addType("myspace","UserTest");
- mdg->addType("myspace","AnObject");
-
- const Type& tr = mdg->getType("myspace", "Root");
- const Type& tm = mdg->getType("myspace", "UserTest");
- const Type& to = mdg->getType("myspace", "AnObject");
-
- mdg->addPropertyToType(tm,"boolean", "commonj.sdo","Boolean");
- mdg->addPropertyToType(tm,"unsetboolean", "commonj.sdo","Boolean");
- mdg->addPropertyToType(tm,"object", "myspace","AnObject");
- mdg->addPropertyToType(tm,"unsetobject","myspace","AnObject");
-
- // many valued...
- mdg->addPropertyToType(tm,"longs", "commonj.sdo","Integer", true);
- mdg->addPropertyToType(tm,"objects", "myspace","AnObject", true);
-
- mdg->addPropertyToType(tr,"usertest", "myspace","UserTest");
-
- DataObjectPtr root = mdg->create((Type&)tr);
- DataObjectPtr test = root->createDataObject("usertest");
- DataObjectPtr do1 = test->createDataObject("object");
- DataObjectPtr do2 = test->createDataObject("objects");
- DataObjectPtr do3 = test->createDataObject("objects");
-
- test->setBoolean("boolean", true);
-
- void* value = (void*)0xFACC0FF;
-
- test->setUserData(value);
-
- cout << "I wanted 0xFACC0FF " << test->getUserData() << endl;
-
- root->setUserData("usertest",value);
-
- cout << "I wanted 0xFACC0FF and got " << root->getUserData("usertest") << endl;
-
- root->setUserData((unsigned int)0,(void*)0x20);
-
- cout << "I wanted 0x20 and got " << root->getUserData((unsigned int)0) << endl;
-
- const Property& prop = root->getType().getProperty("usertest");
- root->setUserData(prop,(void*)0x40020);
-
- cout << "I wanted 0x40020 and got " << root->getUserData(prop) << endl;
-
- test->setUserData("boolean", (void*)0x120);
-
- cout << "I wanted (graceful)0 and got " << test->getUserData("boolean") << endl;
-
- test->setUserData("unsetboolean", (void*)0x340);
-
- cout << "I wanted (graceful)0 and got " << test->getUserData("boolean") << endl;
-
- test->setUserData("object", (void*)0x120);
-
- cout << "I wanted 120 and got " << test->getUserData("object") << endl;
-
- test->setUserData("unsetobject", (void*)0x540);
-
- cout << "I wanted (graceful)0 and got " << test->getUserData("unsetobject") << endl;
-
- test->setUserData("objects", (void*)0x640);
-
- // TODO might be dodgy - this allows setting of user data on a base of a list
- cout << "I wanted 640 and got " << test->getUserData("objects") << endl;
-
- test->setUserData("objects[1]", (void*)0x740);
-
- cout << "I wanted 0x740 and got " << test->getUserData("objects[1]") << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << "Exception in user test - unexpected" << endl;
- }
-
-}
-
-void sdotest::versiontest()
-{
- cout << "The SDO version is :" << SdoRuntime::getVersion() << endl;
- cout << "The Major version is: " << SdoRuntime::getMajor() << endl;
- cout << "The Minor version is: " << SdoRuntime::getMinor() << endl;
- cout << "The Fix level is: " << SdoRuntime::getFix() << endl;
-}
-
-void sdotest::noncontest()
-{
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Company");
- mdg->addType("myspace","Department");
- mdg->addType("myspace","Employee");
-
- const Type& tr = mdg->getType("myspace", "Company");
- const Type& tm = mdg->getType("myspace", "Department");
- const Type& to = mdg->getType("myspace", "Employee");
-
- // many...
- mdg->addPropertyToType(tr,"departments","myspace", "Department",
- true);
-
- //mdg->addPropertyToType(to,"name","commonj.sdo", "String");
-
- mdg->addPropertyToType(tm,"employees","myspace", "Employee", true);
-
- // single, non containment
- mdg->addPropertyToType(tr,"eom", "myspace","Employee", false
- , false, false);
-
- DataObjectPtr comp = mdg->create((Type&)tr);
-
- {
- DataObjectPtr dept = comp->createDataObject("departments");
- DataObjectPtr emp1 = dept->createDataObject("employees");
- //emp1->setCString("name", "Will");
- DataObjectPtr emp2 = dept->createDataObject("employees");
- //emp1->setCString("name", "Bill");
- DataObjectPtr emp3 = dept->createDataObject("employees");
- //emp1->setCString("name", "Gill");
- comp->setDataObject("eom", emp3);
- }
-
-
-
-}
-
-
-
-
-void sdotest::defaulttest()
-{
- try{
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","DefaultTest");
- mdg->addType("myspace","AnObject");
-
- const Type& tm = mdg->getType("myspace", "DefaultTest");
- const Type& to = mdg->getType("myspace", "AnObject");
-
- mdg->addPropertyToType(tm,"boolean", "commonj.sdo","Boolean");
-
- mdg->setDefault("myspace","DefaultTest","boolean", true);
-
- mdg->addPropertyToType(tm,"byte", "commonj.sdo","Byte");
-
- mdg->setDefault("myspace","DefaultTest","byte", (char)'d');
-
- mdg->addPropertyToType(tm,"character", "commonj.sdo","Character");
-
- mdg->setDefault("myspace","DefaultTest","character", (wchar_t)'e');
-
- mdg->addPropertyToType(tm,"short", "commonj.sdo","Short");
-
- mdg->setDefault("myspace","DefaultTest","short", (short)300);
-
- mdg->addPropertyToType(tm,"long", "commonj.sdo","Integer");
-
- mdg->setDefault("myspace","DefaultTest","long", (long)400);
-
- mdg->addPropertyToType(tm,"longs", "commonj.sdo","Integer", true);
-
- mdg->setDefault("myspace","DefaultTest","longs", (long)800);
-
- mdg->addPropertyToType(tm,"longlong", "commonj.sdo","Long");
-
- mdg->setDefault("myspace","DefaultTest","longlong", (int64_t)500);
-
- mdg->addPropertyToType(tm,"float", "commonj.sdo","Float");
-
- mdg->setDefault("myspace","DefaultTest","float", (float)600.0);
-
- mdg->addPropertyToType(tm,"longdouble", "commonj.sdo","Double");
-
- mdg->setDefault("myspace","DefaultTest","longdouble", (long double)700.0);
-
- mdg->addPropertyToType(tm,"date", "commonj.sdo","Date");
-
- mdg->setDefault("myspace","DefaultTest","date", (long)900);
-
- mdg->addPropertyToType(tm,"string", "commonj.sdo","String");
-
- wchar_t* help = new wchar_t[4];
- help[0] = 'H';
- help[1] = 'E';
- help[2] = 'L';
- help[3] = 'P';
-
- mdg->setDefault("myspace","DefaultTest","string", help, 4);
-
- delete help;
-
- char* help2 = new char[4];
- help2[0] = 'H';
- help2[1] = 'E';
- help2[2] = 'L';
- help2[3] = 'P';
-
- mdg->addPropertyToType(tm,"bytes", "commonj.sdo","Bytes");
-
- mdg->setDefault("myspace","DefaultTest","bytes", help2, 4);
-
- delete help2;
-
- mdg->addPropertyToType(tm,"object", "myspace","AnObject");
-
- DataObjectPtr test = mdg->create((Type&)tm);
-
- cout << "Boolean default is true: " << test->getBoolean("boolean") << endl;
-
- cout << "Byte default is d: " << test->getByte("byte") << endl;
-
- cout << "Character default is e: " << test->getCharacter("character") << endl;
-
- cout << "Short default is 300: " << test->getShort("short") << endl;
-
- cout << "Long default is 400: " << test->getInteger("long") << endl;
-
- try {
- cout << "Longs default is 800: " << test->getInteger("longs[1]") << endl;
- }
- catch (SDOIndexOutOfRangeException ex)
- {
- cout << "Expected index out of range OK" << endl;
- }
-
- cout << "Float default is 600: " << test->getFloat("float") << endl;
-
- cout << "LongDouble default is 700: " << test->getDouble("longdouble") << endl;
-
- cout << "String default is HELP: ";
- unsigned int lenw = test->getLength("string");
- if (lenw > 0) {
- char* tw = new char[lenw];
- test->getBytes("string",tw,lenw);
- for (int i=0;i<lenw;i++)
- {
- cout << tw[i];
- }
- cout << endl;
- }
-
- cout << "Bytes default is HELP: ";
- unsigned int len = test->getLength("bytes");
- if (len > 0) {
- char* tc = new char[len];
- test->getBytes("bytes",tc,len);
- for (int i=0;i<len;i++)
- {
- cout << tc[i];
- }
- cout << endl;
- }
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << " in ";
- cout << e.getFileName() << " at line ";
- cout << e.getLineNumber() << endl;
- cout << e.getFunctionName() << " ";
- cout << e.getMessageText() << endl;
- }
-
-
-
-}
-
-
-void sdotest::showdefault(const Type& tm)
-{
- const Property& pboolean = tm.getProperty("boolean");
- const Property& pbyte = tm.getProperty("byte");
- const Property& pcharacter = tm.getProperty("character");
- const Property& pshort = tm.getProperty("short");
- const Property& plong = tm.getProperty("long");
- const Property& plongs = tm.getProperty("longs");
- const Property& plonglong = tm.getProperty("longlong");
- const Property& pfloat = tm.getProperty("float");
- const Property& plongdouble = tm.getProperty("longdouble");
- const Property& pdate = tm.getProperty("date");
- const Property& pstring = tm.getProperty("string");
- const Property& pbytes = tm.getProperty("bytes");
- const Property& pobject = tm.getProperty("object");
-
- // first see what we get for the default when there is none
-
- bool bb = pboolean.getBooleanDefault();
- cout << "Boolean default is : " << bb << endl;
-
- char cc = pbyte.getByteDefault();
- cout << "Byte default is : " << cc << endl;
-
- wchar_t wc = pcharacter.getCharacterDefault();
- cout << "Character default is : " << wc << endl;
-
- short ss = pshort.getShortDefault();
- cout << "Short default is : " << ss << endl;
-
- long ll = plong.getIntegerDefault();
- cout << "Integer default is : " << ll << endl;
- long ll2 = plongs.getLongDefault();
- cout << "Integer many default is : " << ll2 << endl;
-
- int64_t llll = plonglong.getLongDefault();
- cout << "Long default is : " << (long)llll << endl;
-
- float ff = pfloat.getFloatDefault();
- cout << "Float default is : " << ff << endl;
-
- long double dd = plongdouble.getDoubleDefault();
- cout << "Double default is : " << dd << endl;
-
- const SDODate& sd = pdate.getDateDefault();
- cout << "Date default is : " << sd.getTime() << endl;
-
- unsigned int l = pstring.getDefaultLength();
- if (l > 0)
- {
- wchar_t * buf = new wchar_t[l+1];
- l = pstring.getStringDefault(buf,l);
- cout << "String default length is" << l << endl;
- for (int i=0;i<l;i++)
- {
- cout << buf[i];
- }
- cout << endl;
- delete buf;
- }
- else
- {
- cout << "String default is zero length" << endl;
- }
-
- l = pbytes.getDefaultLength();
- if (l > 0)
- {
- char * buf = new char[l+1];
- l = pbytes.getBytesDefault(buf,l);
- cout << "Bytes default length is" << l << endl;
- for (int i=0;i<l;i++)
- {
- cout << buf[i];
- }
- cout << endl;
- delete buf;
- }
- else
- {
- cout << "Bytes default is zero length" << endl;
- }
-}
-
-
-void sdotest::propdefaulttest()
-{
- try{
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","DefaultTest");
- mdg->addType("myspace","AnObject");
-
- const Type& tm = mdg->getType("myspace", "DefaultTest");
- const Type& to = mdg->getType("myspace", "AnObject");
-
- mdg->addPropertyToType(tm,"boolean", "commonj.sdo","Boolean");
- mdg->addPropertyToType(tm,"byte", "commonj.sdo","Byte");
- mdg->addPropertyToType(tm,"character", "commonj.sdo","Character");
- mdg->addPropertyToType(tm,"short", "commonj.sdo","Short");
- mdg->addPropertyToType(tm,"long", "commonj.sdo","Integer");
- mdg->addPropertyToType(tm,"longs", "commonj.sdo","Integer", true);
- mdg->addPropertyToType(tm,"longlong", "commonj.sdo","Long");
- mdg->addPropertyToType(tm,"float", "commonj.sdo","Float");
- mdg->addPropertyToType(tm,"longdouble", "commonj.sdo","Double");
- mdg->addPropertyToType(tm,"date", "commonj.sdo","Date");
- mdg->addPropertyToType(tm,"string", "commonj.sdo","String");
- mdg->addPropertyToType(tm,"bytes", "commonj.sdo","Bytes");
- mdg->addPropertyToType(tm,"object" , "myspace","AnObject");
-
- cout << "Testing unset defaults....." << endl;
-
- showdefault(tm);
-
-
- //now set all the defaults....
-
- mdg->setDefault("myspace","DefaultTest","boolean", true);
- mdg->setDefault("myspace","DefaultTest","byte", (char)'d');
- mdg->setDefault("myspace","DefaultTest","character", (wchar_t)'e');
- mdg->setDefault("myspace","DefaultTest","short", (short)300);
- mdg->setDefault("myspace","DefaultTest","long", (long)400);
- mdg->setDefault("myspace","DefaultTest","longs", (long)800);
- mdg->setDefault("myspace","DefaultTest","longlong", (int64_t)500);
- mdg->setDefault("myspace","DefaultTest","float", (float)600.0);
- mdg->setDefault("myspace","DefaultTest","longdouble", (long double)700.0);
- mdg->setDefault("myspace","DefaultTest","date", (long)900);
-
-
- wchar_t* help = new wchar_t[4];
- help[0] = 'H';
- help[1] = 'E';
- help[2] = 'L';
- help[3] = 'P';
-
- mdg->setDefault("myspace","DefaultTest","string", help, 4);
-
- delete help;
-
- char* help2 = new char[4];
- help2[0] = 'H';
- help2[1] = 'E';
- help2[2] = 'L';
- help2[3] = 'P';
-
-
- mdg->setDefault("myspace","DefaultTest","bytes", help2, 4);
-
- delete help2;
-
- // and have another go at getting them....
-
- cout << "Testing set defaults....." << endl;
-
- showdefault(tm);
-
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << " in ";
- cout << e.getFileName() << " at line ";
- cout << e.getLineNumber() << endl;
- cout << e.getFunctionName() << " ";
- cout << e.getMessageText() << endl;
- }
-
-}
-
-void sdotest::nulltest()
-{
- int i;
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","NullTest",true, false); // sequenced
- mdg->addType("myspace","AnObject");
-
- const Type& tm = mdg->getType("myspace", "NullTest");
- const Type& to = mdg->getType("myspace", "AnObject");
-
- mdg->addPropertyToType(tm,"boolean", "commonj.sdo","Boolean");
- mdg->addPropertyToType(tm,"byte", "commonj.sdo","Byte");
- mdg->addPropertyToType(tm,"character", "commonj.sdo","Character");
- mdg->addPropertyToType(tm,"short", "commonj.sdo","Short");
- mdg->addPropertyToType(tm,"long", "commonj.sdo","Integer");
- mdg->addPropertyToType(tm,"longlong", "commonj.sdo","Long");
- mdg->addPropertyToType(tm,"float", "commonj.sdo","Float");
- mdg->addPropertyToType(tm,"longdouble", "commonj.sdo","Double");
- mdg->addPropertyToType(tm,"date", "commonj.sdo","Date");
- mdg->addPropertyToType(tm,"string", "commonj.sdo","String");
- mdg->addPropertyToType(tm,"bytes", "commonj.sdo","Bytes");
- mdg->addPropertyToType(tm,"object", "myspace","AnObject");
-
-
- mdg->addPropertyToType(tm,"cs", "commonj.sdo","ChangeSummary");
-
- DataObjectPtr test = mdg->create((Type&)tm);
- DataObjectPtr ob = mdg->create((Type&)to);
- DataObjectPtr ob2 = mdg->create((Type&)to);
- DataObjectPtr ob3 = mdg->create((Type&)to);
-
- // first check all props are unset
-
- ChangeSummaryPtr cs = test->getChangeSummary();
-
- cs->beginLogging();
-
- PropertyList pl = test->getInstanceProperties();
-
- cout << "Initially - all properties unset, and default values..." << endl;
- for (i=0;i<pl.size(); i++)
- {
- if (pl[i].isMany())continue;
- try {
- if (pl[i].getType().isDataType()) {
- cout << pl[i].getName() << " set:" << test->isSet(pl[i]) << " value:";
- const char *xx = test->getCString(pl[i]);
- if (xx != 0)
- {
- cout << xx << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- else {
- cout << pl[i].getName() << " set:" << test->isSet(pl[i]) << " value:";
- DataObjectPtr xy = test->getDataObject(pl[i]);
- if (xy != 0)
- {
- cout << xy << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- }
- catch (SDOPropertyNotSetException)
- {
- cout << " WRONG - got not set exception!!!";
- continue;
- }
- }
- test->setBoolean("boolean", false);
- test->setByte("byte",0);
- test->setCharacter("character",0);
- test->setShort("short",0);
- test->setInteger("long",0);
- test->setLong("longlong",0 );
- test->setFloat("float",0);
- test->setDouble("longdouble",0 );
- test->setDate("date",0 );
- test->setString("string",0,0);
- test->setBytes("bytes","",0) ;
- test->setDataObject("object",0) ;
-
-
-
- cout << "Should now have all properties set, and zero values..." << endl;
- for (i=0;i<pl.size(); i++)
- {
- if (pl[i].isMany())continue;
- if (pl[i].getType().isDataType()) {
- cout << pl[i].getName() << " set:" << test->isSet(pl[i]) << " value:" << test->getCString(pl[i]) << endl;
- }
- else {
- cout << pl[i].getName() <<" set:" << test->isSet(pl[i]) << " value:" << test->getDataObject(pl[i]) << endl;
- }
-
- }
-
- for (i=0;i<pl.size(); i++)
- {
- test->unset(pl[i]);
- }
- cout << "Should be back to having properties unset, and default values..." << endl;
- for (i=0;i<pl.size(); i++)
- {
-
- try {
- if (pl[i].isMany())continue;
- if (pl[i].getType().isDataType()) {
- cout << pl[i].getName() << " set:" << test->isSet(pl[i]) << " value:";
- const char *xx = test->getCString(pl[i]);
- if (xx != 0)
- {
- cout << xx << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- else {
- cout << pl[i].getName() << " set:" << test->isSet(pl[i]) << " value:";
- DataObjectPtr dp = test->getDataObject(pl[i]);
- if (dp != 0)
- {
- cout << dp << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- }
- catch (SDOPropertyNotSetException)
- {
- cout << "WRONG - not set exception" << endl;
- continue;
- }
- }
-
- SequencePtr s = test->getSequence();
-
- s->addBoolean(test->getType().getProperty("boolean")/*"boolean"*/, false);
- s->addByte(1/*"byte"*/,0);
- s->addCharacter(2/*"character"*/,0);
- s->addShort(3/*"short"*/,0);
- s->addInteger(4/*"long"*/,0);
- s->addLong(5/*"longlong"*/,0 );
- s->addFloat(6/*"float"*/,0);
- s->addDouble(7/*"longdouble"*/,0 );
- // bug ...s->setDate(8/*"date"*/,0 );
- s->addString(9/*"string"*/,0,0);
- s->addBytes(10/*"bytes"*/,"",0) ;
- s->addDataObject(11/*"object"*/,0) ;
-
- for (i=0;i<pl.size(); i++)
- {
- try {
- if (pl[i].isMany())continue;
- if (pl[i].getType().isDataType()) {
- cout << pl[i].getName() << " set:" << test->isSet(pl[i]) << " value:";
- const char* xx = test->getCString(pl[i]);
- if ( xx != 0)
- {
- cout << xx << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- else {
- cout << pl[i].getName() << " set:" << test->isSet(pl[i]) << " value:";
- DataObjectPtr db = test->getDataObject(pl[i]);
- if (db != 0)
- {
- cout << db << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- }
- catch (SDOPropertyNotSetException)
- {
- cout << "WRONG - not set exception " << endl;
- continue;
- }
- }
- ChangedDataObjectList& cl = cs->getChangedDataObjects();
- for ( i =0; i< cl.size() ; i++)
- {
- if (cs->isCreated(cl[i])) {
- cout << "Created:" << cl[i] << endl;
- }
- if (cs->isDeleted(cl[i])) {
- cout << "Deleted:" << cl[i] << endl;
- }
- if (cs->isModified(cl[i])) {
- cout << "Modified:" << cl[i] << endl;
- }
- }
-
- // now unset all the properties...
- for (i=0;i<pl.size(); i++)
- {
- test->unset(pl[i]);
- }
-
- for (i=0;i<pl.size(); i++)
- {
- if (!pl[i].isMany() )
- {
- test->setNull(i);
- }
- }
-
- cout << "Should all be null, and default values..." << endl;
- for (i=0;i<pl.size(); i++)
- {
- if (pl[i].isMany())continue;
- if (pl[i].getType().isDataType()) {
- // check for a null first!!
- cout << pl[i].getName() << "isNull:" << test->isNull(i) <<" set:" << test->isSet(pl[i]) << " value:";
- if (test->getCString(pl[i]) == 0) cout << endl;
- else cout << test->getCString(pl[i]) << endl;
- }
- else {
- cout << pl[i].getName() << "isNull:" << test->isNull(i) <<" set:" << test->isSet(pl[i]) << " value:";
- if (test->getDataObject(pl[i]) == 0) cout << endl;
- else cout << test->getDataObject(pl[i]) << endl;
- }
- }
-
- s->addBoolean(test->getType().getProperty("boolean")/*"boolean"*/, true);
- s->addByte(1/*"byte"*/,1);
- s->addCharacter(2/*"character"*/,1);
- s->addShort(3/*"short"*/,1);
- s->addInteger(4/*"long"*/,1);
- s->addLong(5/*"longlong"*/,1 );
- s->addFloat(6/*"float"*/,1.0);
- s->addDouble(7/*"longdouble"*/,1.0 );
- // bug ...s->setDate(8/*"date"*/,0 );
- wchar_t* chs = new wchar_t[5];
- chs[0] = 'h';
- chs[1] = 'e';
- chs[2] = 'l';
- chs[3] = 'l';
- chs[4] = 'o';
- s->addString(9/*"string"*/,chs,5);
- delete chs;
- s->addBytes(10/*"bytes"*/,"hello",5) ;
- s->addDataObject(11/*"object"*/,ob) ;
-
- cout << "Should all have values, and not be null.." << endl;
- for (i=0;i<pl.size(); i++)
- {
-
- if (pl[i].isMany())continue;
- if (pl[i].getType().isDataType()) {
- cout << pl[i].getName() << "isNull:" << test->isNull(i) <<" set:" << test->isSet(pl[i]) << " value:";
- if (test->getCString(pl[i]) == 0) cout << endl;
- else cout << test->getCString(pl[i]) << endl;
-
- }
- else {
- cout << pl[i].getName() << "isNull:" << test->isNull(i) <<" set:" << test->isSet(pl[i]) << " value:";
- if (test->getDataObject(pl[i]) == 0) cout << endl;
- else cout << test->getDataObject(pl[i]) << endl;
- }
- }
-
- for (i=0;i<pl.size(); i++)
- {
- if (!pl[i].isMany() )
- {
- test->setNull(pl[i]);
- }
- }
-
- cout << "Should all be null, and default values..." << endl;
- for (i=0;i<pl.size(); i++)
- {
-
- try {
- if (pl[i].isMany())continue;
- if (pl[i].getType().isDataType()) {
- cout << pl[i].getName() << "isNull:" << test->isNull(i) <<" set:" << test->isSet(pl[i]) << " value:";
- if (test->getCString(pl[i]) == 0) cout << endl;
- else cout << test->getCString(pl[i]) << endl;
-
- }
- else {
- cout << pl[i].getName() << "isNull:" << test->isNull(i) <<" set:" << test->isSet(pl[i]) << " value:";
- if (test->getDataObject(pl[i]) == 0) cout << endl;
- else cout << test->getDataObject(pl[i]) << endl;
- }
- }
- catch (SDOPropertyNotSetException)
- {
- cout << " WRONG - not set exception" << endl;
- continue;
- }
- }
-
- cs->endLogging();
-}
-
-int sdotest::main(int argc, char** argv)
-{
-
- int i;
-
- printf("Test Program starting to create types ...\n");
-
- /* First create a DataFactory , then add some types and props...*/
-
- /* This is dms creation of metadata */
-
- try {
-
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Company");
- mdg->addType("myspace","Department");
- // manager is a sequenced type...
- mdg->addType("myspace","Manager", true, false);
-
- mdg->addType("myspace","Employee");
-
- // tests of base types
-
- // note - base type of a seq type must be seq...
- mdg->addType("myspace","Person", true, false);
-
- mdg->addType("myspace","DerivedString");
- mdg->addType("myspace","SubDepartment");
-
- /* Now add the properties to the types...*/
-
- const Type& tc = mdg->getType("myspace","Company");
- const Type& ts = mdg->getType("commonj.sdo","String");
- const Type& ti = mdg->getType("commonj.sdo","Integer");
- const Type& tf = mdg->getType("commonj.sdo","Float");
- const Type& tm = mdg->getType("myspace","Manager");
-
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
-
- const Type& td = mdg->getType("myspace","Department");
- const Type& te = mdg->getType("myspace","Employee");
- const Type& tp = mdg->getType("myspace","Person");
- const Type& tds= mdg->getType("myspace","DerivedString");
- const Type& tsd= mdg->getType("myspace","SubDepartment");
-
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
-
-
-
-
-
- /* By type, with a type */
- mdg->addPropertyToType(tc,"name",ts);
-
- /* by name/uri with a type */
- mdg->addPropertyToType("myspace","Company","address",ts);
-
- /* by type with name/uri */
- mdg->addPropertyToType(tc,"departments", "myspace","Department",
- true);
-
-
- // add a reference to employee of the month
- mdg->addPropertyToType(tc,"employee of the month", "myspace","Employee",
- false, false, false);
-
-
-
- /* A list of floats */
-
- mdg->addPropertyToType(tc,"floatlist", tf,true);
-
- mdg->addPropertyToType(tc,"pdg", tm);
-
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
-
- mdg->addPropertyToType(td,"name", ts);
-
- mdg->addPropertyToType(td,"id", ti);
-
- mdg->addPropertyToType(td,"manager", tm);
-
- mdg->addPropertyToType(tm,"name", ts);
-
-
- mdg->addPropertyToType(te,"name",ts);
- mdg->addPropertyToType(td,"employees",te,true,false,true);
-
-
-
- // emps and managers are both people (in theory).
- mdg->setBaseType(te,tp);
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
- mdg->setBaseType(tm,tp);
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
- mdg->addPropertyToType(tp,"haircolour", ts);
- mdg->addPropertyToType(tp,"name", ts);
- mdg->addPropertyToType(tm,"officeid", ts);
- mdg->addPropertyToType(te,"cubelocation", ts);
-
- mdg->addPropertyToType(tc,"shareholder", tp);
-
- //derived string - derived from string - cannot have properties!!!
- mdg->setBaseType(tds,ts);
-
- // subdept derived from dept
- mdg->setBaseType(tsd,td);
- mdg->addPropertyToType(tsd,"subname",ts);
-
- mdg->addPropertyToType(tc, "substring",tds);
-
- /* by type with name/uri */
- mdg->addPropertyToType(tc,"subdepartments", "myspace","SubDepartment",
- true);
-
- /* This is the data structure */
-
-
-
- /* company
- ----shareholder (Person)
- ----substring (DerivedString)
- * ----name (String)
- * ----pdg (Manager)
- (inherits haircolour from person,
- has name as duplicate property - should use person.name
- has officeid)
- * ----name(String)
- ----haircolour(String)
- ----officeid(String)
- *
- * ----depts[] (Department)
- * ----name (String)
- * ----id (Integer)
- * ----manager (Manager).
- * ----name(String)
- ----haircolour(String) from Person
- * ----employees[] (Employee)
- * ----name(String)
- ----haircolour(String) - from Person
- ----cubelocation(String)
- --subdepartments[] (SubDepartment)
- ----name (String) from Department
- ----id (String) from Department
- ----manager (Manager) from Department
- ----employees (from department)
- */
-
- /* Now add a primitive type test to the manager */
- mdg->addPropertyToType(tm,"string",ts);
-
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
-
- mdg->addPropertyToType(tm,"boolean", "commonj.sdo","Boolean");
- mdg->addPropertyToType(tm,"byte", "commonj.sdo","Byte");
- mdg->addPropertyToType(tm,"character", "commonj.sdo","Character");
- mdg->addPropertyToType(tm,"short", "commonj.sdo","Short");
- mdg->addPropertyToType(tm,"long", "commonj.sdo","Integer");
- mdg->addPropertyToType(tm,"longlong", "commonj.sdo","Long");
- mdg->addPropertyToType(tm,"float", "commonj.sdo","Float");
- mdg->addPropertyToType(tm,"longdouble", "commonj.sdo","Double");
- mdg->addPropertyToType(tm,"date", "commonj.sdo","Date");
- // dead mdg->addPropertyToType(tm,"charptr", "commonj.sdo","Bytes");
- mdg->addPropertyToType(tm,"string", "commonj.sdo","String");
- mdg->addPropertyToType(tm,"bytes", "commonj.sdo","Bytes");
-
-
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
-
- // create a few aliases
-
- mdg->setAlias("myspace","Company","TheFirm");
- mdg->setAlias("myspace","Company","departments","TheDepartments");
- mdg->setAlias("myspace","Company","TheBigFirm");
- mdg->setAlias("myspace","Company","TheLittleFirm");
-
- const Type& tlf = mdg->getType("myspace","TheBigFirm");
-
- cout << "I hope this says Company :" << tlf.getName() << endl;
-
- cout << "I hope this says 3 : " << tlf.getAliasCount() << endl;
-
- for (int ai = 0; ai < tlf.getAliasCount(); ai++)
- {
- cout << "AKA : " << tlf.getAlias(ai) << endl;
- }
-
- // just for a laugh - how about finding the TheDepartments?
-
-
-
-
- /*
- * create an empty datagraph with a type system starting from
- * company
- */
-
- /*
- *
- * start of dms getting datagraph
- */
-
- // Change summary test begins
- mdg->addPropertyToType(tc,"csumm","commonj.sdo","ChangeSummary");
- // should log an error - but not fail
- mdg->addPropertyToType(td,"csumm","commonj.sdo","ChangeSummary");
-
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
-
- cout << "BEFORE RESOLUTION" << endl;
- printDataStructure(mdg);
-
- /* Now create some objects in the dg */
-
-// DataObjectPtr dor;
-
- const Type& tcc = mdg->getType("myspace","Company");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- cout << "AFTER RESOLUTION" << endl;
- printDataStructure(mdg);
-
- cout << "Manager is sequenced?" << tm.isSequencedType() << endl;
-
- dor->setCString("substring","This is the sub string - its primitive, but not a string");
-
- const char* subby = dor->getCString("substring");
-
- cout << subby << endl;
-
- dor->setCString("name","acmecorp");
- const char* chnam = dor->getCString("name");
- cout << chnam << endl;
-
- dor->unset("name");
-
- dor->setCString("name","acmecorp");
-
- // Set up the two departments before logging starts
-
- DataObjectPtr dep1 = dor->createDataObject("departments");
- dep1->setCString("name","Developement");
-
- DataObjectPtr dep2= dor->createDataObject("departments");
- dep2->setCString("name","Marketing");
-
- // add a couple of floats to the floatlist
- DataObjectList& dolist = dor->getList("floatlist");
- dolist.append((float)1.4);
- dolist.append((float)1.5);
-
- //TODO - change summaries should live on the DataObject
- // interface - can this be done?
-
- ChangeSummaryPtr cs = dor->getChangeSummary();
- cs->beginLogging();
-
- const char* sname = dor->getCString("name");
-
- cout << sname << endl;
-
- // This should put a created entry in the cs.
-
- // This should be equivalent to the alternative below.........
- const Type& tcd = mdg->getType("myspace","Manager");
- DataObjectPtr pdg = mdg->create((Type&)tcd);
-
- // This set should put the entry into the change summary.
- // both in the creations and in the changes.
- dor->setDataObject("pdg",pdg);
-
-
- // try getting the boolean as a string - should be defalted to false:
- const char *bol;
- try{
- bol = pdg->getCString("boolean");
- if (bol != 0)
- {
- cout << "Expected default boolean (false) : " << bol << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- catch (SDOPropertyNotSetException)
- {
- cout << "WRONG handled notset exception " << endl;
- }
-
- pdg->setBoolean("boolean", true);
- bol = pdg->getCString("boolean");
- cout << "Expected boolean (true) : " << bol << endl;
-
- // and the widechars?
- const char* wdc;
- try {
- wdc = pdg->getCString("string");
- if (wdc != 0)
- {
- cout << "Expected default string (0) : " << bol << endl;
- }
- else
- {
- cout << " is empty " << endl;
- }
- }
- catch (SDOPropertyNotSetException)
- {
- cout << "WRONG handled notset exception" << endl;
- }
-
-
- // this should get a valid sequence..
-
- SequencePtr sq = pdg->getSequence();
-
-
- // The alternative.............................................
- // Here the create should put the entry into the change summary
- //DataObject* pdg = dor->createDataObject("pdg");
-
- // This should do nothing to the cs, as its in a created object
- pdg->setCString("name","Jacques LePlace");
-
- // This should modify the property, and add an item to the sequence.
- sq->addCString("name", "Jacques LeWrongPlace");
-
-
- // The creation entry should be removed from the change summary
- // The entry should no longer exist and the pointer is invalid
- pdg->detach();
-
- pdg = dor->getDataObject("pdg");
-
-
- cout << " A deleted data object should be zero: " << pdg << endl;
-
- pdg = mdg->create((Type&)tcd);
-
- // A new creation in the change summary
- dor->setDataObject("pdg",pdg);
-
- // No modification as the object is created
- pdg->setCString("name", "Mr Horace the snail");
-
- sq = pdg->getSequence();
-
- try {
- // element 0 is the first setting - which we just deleted!
- sq->setCStringValue(0,"Eric the half a bee");
- }
- catch (SDOIndexOutOfRangeException)
- {
- // thats OK
- sq->addCString("name","Eric the quarter bee");
- }
-
-
- sq->addText(" - only a quarter was expected \r\n");
-
- for (int ii=0;ii<sq->size();ii++)
- {
- cout << sq->getCStringValue(ii);
- }
-
- try {
- const char* n = pdg->getCString("name");
- cout << " Name from deleted item: " << n << endl;
- }
- catch (SDOPropertyNotFoundException e)
- {
- // thats ok
- cout << "caught prop not found" << endl;
- }
-
-
- // This should put a change in the cs.
- dor->setCString("name","mega-new-acmecorp");
-
-
- // At this point, we should know that pdg was empty and is now
- // a created object. And that the old string for company name
- // was "acmecorp"
-
- // cs->DebugPrint();
-
-
- /* Now set up the primitive type test on PDG */
-
- pdg->setCString("string","Hello I am a string");
- pdg->setBoolean("boolean",true);
- pdg->setByte("byte",23);
- pdg->setCharacter("character",45);
- pdg->setShort("short",34);
- pdg->setLong("long", 56);
- pdg->setDouble("longdouble",89.0);
- pdg->setFloat("float",90.0);
- pdg->setDate("date",(time_t)200);
-
-
- pdg->setLong("longlong",0xFFFFFFFFFFFFFFFF);
-
- // try reading the longlong as a string
- const char *lls = pdg->getCString("longlong");
- cout << "0xffffffffffffffff = : " << lls << endl;
-
- pdg->setLong("longlong",0x7FFFFFFFFFFFFFFF);
-
- lls = pdg->getCString("longlong");
- cout << "0x7fffffffffffffff = " << lls << endl;
-
- pdg->setLong("longlong",0x7FFFFFFF);
- lls = pdg->getCString("longlong");
- cout << "0x7fffffff = " << lls << endl;
-
- pdg->setLong("longlong",0x80000000);
- lls = pdg->getCString("longlong");
- cout << "0x80000000 = " << lls << endl;
-
- pdg->setLong("longlong",78);
-
- // pdg->setCharPtr("charptr","Hello I am a char star");
-
- wchar_t* wide = new wchar_t[4];
- wide[0] = 'W';
- wide[1] = 'i';
- wide[2] = 'd';
- wide[3] = 'e';
-
- pdg->setString("string",wide,4);
-
- // and as a string?
- wdc = pdg->getCString("string");
- cout << " Expected Wide (fat chance) - got : " << wdc << endl;
-
- delete wide;
-
- char* thin = new char[4];
- thin[0] = 'T';
- thin[1] = 'h';
- thin[2] = 'i';
- thin[3] = 'n';
-
- pdg->setBytes("bytes",thin,4);
-
- delete thin;
-
-
- const char* ps = pdg->getCString("string");
- cout << "Expecting string, got " << ps << endl;
-
- bool pb = pdg->getBoolean("boolean");
- cout << "Expected bool true, got " << pb << endl;
-
- char pc = pdg->getByte("byte");
- cout << "Expected char 23, got " << pc << endl;
-
- wchar_t pw = pdg->getCharacter("character");
- cout << "expected wchar 45, got " << pw << endl;
-
- short pss = pdg->getShort("short");
- cout << "Expected short 34, got " << pss << endl;
-
- long pl = pdg->getLong("long");
- cout << "Expected long 56 , got " <<pl << endl;
-
- int64_t pi = pdg->getLong("longlong");
- cout << "Expected long long 78, got " << (long)pi << endl;
-
- long double ld = pdg->getDouble("longdouble");
- cout << "Expected long double 89, got " << ld << endl;
-
- float pf = pdg->getFloat("float");
- cout << "Expected float 90, got " << pf << endl;
-
- SDODate pt = pdg->getDate("date");
- cout << "Expected time_t 200, got " << pt.getTime() << endl;
-
- //const char * pcs = pdg->getCharPtr("charptr");
- //cout <<"Expected charptr, got " << pcs << endl;
-
- wchar_t* result;
- // get the length to allocate:
- unsigned int widelen = pdg->getString("string",0,0);
- if (widelen > 0) {
- result = new wchar_t[widelen];
- widelen = pdg->getString("string",result,widelen);
- for ( i=0;i<widelen;i++)
- {
- cout << "Wide[" << i << "]=" << result[i] << endl;
- }
- delete result;
- }
-
-
- char* thinresult;
-
- unsigned int thinlen = pdg->getBytes("bytes",0,0);
- if (thinlen > 0) {
- thinresult = new char[thinlen];
- thinlen = pdg->getBytes("bytes",thinresult,thinlen);
- for ( i=0;i<thinlen;i++)
- {
- cout << "Thin[" << i << "]=" << thinresult[i] << endl;
- }
- delete thinresult;
- }
-
-
- //cout <<"Expected charptr, got " << pcs << endl;
-
- // add two more departments - the first should provoke the
- // saving of a list in a chanaeg summary
-
- DataObjectPtr dep3 = dor->createDataObject("departments");
- dep3->setCString("name","Architecture");
-
- // The second should do no logging in the change summary
-
- DataObjectPtr dep4= dor->createDataObject("departments");
- dep4->setCString("name","Pyrotechnics");
-
-
- // create another one using tha alias
- DataObjectPtr dep5= dor->createDataObject("TheDepartments");
- dep5->setCString("name","WibbleSmodging");
-
- DataObjectPtr emp1 = dep1->createDataObject("employees");
- emp1->setCString("name","Eric");
-
-
- DataObjectPtr emp2 = dep1->createDataObject("employees");
- emp2->setCString("name","Bill");
-
- // now lets make eric employee of the month
- dor->setDataObject("employee of the month",emp1);
-
- // no - actually it was bill
- dor->setDataObject("employee of the month",emp2);
-
-
-
- // Now add to the list of floats, hopefully the two old
- // values will get change summarised.
-
- dolist = dor->getList("floatlist");
- //float f = dolist[0]->getFloat("");
- float f = dolist.getFloat(0);
-
- cout << f;
-
- dolist.setFloat(0,(float)567.7);
-
- f = dolist.getFloat(0);
-
- cout << f;
-
- dolist.insert(0,(float)34.56);
-
-
-
-
- // cs->DebugPrint();
-
-// const char* ch = dor->getString("departments[1]/employees[2]/name");
-
- DataObjectPtr ddd = dor->getDataObject("departments[1]/employees[2]");
-
- const char* ch = ddd->getCString("name");
-
- cout << "Are you Bill?:" << ch << endl;
-
- // just for a laugh - how about finding the TheDepartments?
-
- DataObjectPtr ddd2 = dor->getDataObject("TheDepartments[1]/employees[2]");
-
- const char* ch2 = ddd2->getCString("name");
-
- cout << "Are you still Bill?:" << ch2 << endl;
-
-
-
- DataObjectPtr dempofm = dor->getDataObject("employee of the month");
-
- const char* chh = dempofm->getCString("name");
-
- cout << "The employee of the month is " << chh << endl;
-
- // Suppose we delete bill - I wonder what happens?
-
- // doesnt work - why not??dor->unSet("departments[1]/employees[2]");
- DataObjectList& dlo = dor->getList("departments[1]/employees");
- DataObjectPtr fred = dlo.remove(1);
- //delete fred;
-
- dempofm = dor->getDataObject("employee of the month");
-
- cout << "Hopefully emp of month is now zero : " << dempofm << endl;
-
- /* "The client would create a data mediator and get graph which
- would return the root data object " says colin*/
-
- const char* boss = dor->getCString("pdg/name");
-
- cout << boss << endl;
-
- DataObjectPtr mypdg = dor->getDataObject("pdg");
-
- Type::Types t = mypdg->getTypeEnum();
-
- if (t != Type::OtherTypes) {
- cout << "MY pdg is not something!" << endl;
- }
-
- const char* boss2 = mypdg->getCString("name");
-
- cout << boss2 << endl;
-
- /* TODO1 ref or pointer to dol.
- Manip done by methods of the
- list, reflected directly in the dg
- need methods to create /insert dataobjects in lists*/
-
-
- /* getPrimitiveArrayListVectorThingy() */
-
- DataObjectList& deps = dor->getList("departments");
-
- cout << "size of list " << deps.size() << endl;
-
- DataObjectPtr dout = deps[0];
-
- dout->setCString("name","Research And Development");
-
- const char* snew = dout->getCString("name");
-
- cout << snew << endl;
-
- string snew2 = dor->getCString("departments[1 ] /name");
-
- cout << snew2 << endl;
-
- for (int lx = 0; lx < deps.size(); lx++)
- {
- cout << "Department: " << deps[lx]->getCString("name") << endl;
- }
-
- cs->endLogging();
-
-
- try {
- // should fail - if localtype not setstd::
- dor->setCString("departments","department label");
- const char* slabel = dor->getCString("departments");
- cout << "String in list type:" << slabel << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << "Normal expected exception in test case" << endl;
- }
-
- try
- {
- // The exception for path is caught by the SDO library - perhaps we should
- // pass it up?
- const char* snew3 = dor->getCString(" ]awep50wi4,0qw9q]45]# q2345 -t -v3lt6o -56o 56=-o7nl ewv/;sdl f[vxddglh]px dfju/ g#k./jh#.k./");
- cout << snew3 << endl;
- }
- catch (SDOPropertyNotFoundException e)
- {
- cout << "Normal Invalid path exception" << endl;
- }
-
- try
- {
-
- // catch a and a property not found
- const Property& pp = dor->getType().getProperty("notaproperty");
- }
- catch (SDOPropertyNotFoundException e)
- {
- cout << "Normal SDOPropertyNotFound exception" << endl;
- }
-
- }
-
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << " in ";
- cout << e.getFileName() << " at line ";
- cout << e.getLineNumber() << endl;
- cout << e.getFunctionName() << " ";
- cout << e.getSeverity() << " ";
- cout << e.getMessageText() << endl;
- }
-
-
- return 0;
-}
-
-void sdotest::getproptest()
-{
- // should be able to get a property by xpath...
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Company");
- mdg->addType("myspace","Department");
- // manager is a sequenced type...
- mdg->addType("myspace","Manager", true, false);
- mdg->addType("myspace","Employee");
-
-
- /* Now add the properties to the types...*/
-
- const Type& tc = mdg->getType("myspace","Company");
- const Type& ts = mdg->getType("commonj.sdo","String");
- const Type& ti = mdg->getType("commonj.sdo","Integer");
- const Type& tf = mdg->getType("commonj.sdo","Float");
- const Type& tm = mdg->getType("myspace","Manager");
- const Type& td = mdg->getType("myspace","Department");
- const Type& te = mdg->getType("myspace","Employee");
-
- mdg->addPropertyToType(tc,"name",ts);
-
- mdg->addPropertyToType(tc,"address",ts);
-
- mdg->addPropertyToType(tc,"departments", td,true);
-
- // add a reference to employee of the month
- mdg->addPropertyToType(tc,"employee of the month", te, false, false, false);
-
- /* A list of floats */
- mdg->addPropertyToType(tc,"floatlist", tf,true);
- mdg->addPropertyToType(tc,"director", tm);
-
- mdg->addPropertyToType(td,"name", ts);
- mdg->addPropertyToType(td,"id", ti);
-
- mdg->addPropertyToType(td,"manager", tm);
- mdg->addPropertyToType(tm,"name", ts);
-
- mdg->addPropertyToType(te,"name",ts);
- mdg->addPropertyToType(td,"employees",te,true,false,true);
-
- //company/departments/employees.
- // company - name, address, floatlist
- // department name, id, manager
- // employee name
-
- const Type& tcc = mdg->getType("myspace","Company");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- try
- {
-
- const Property& p = dor->getType().getProperty("name");
- cout << "Companys name property is:" << p.getName() << endl;
-
- const Property& p1 = dor->getType().getProperty("departments");
- cout << "Companys dept property is:" << p1.getName() << endl;
-
- // now try some xpaths...
-
- const Property& p2 = dor->getType().getProperty("departments/employees");
- cout << "Departments empl property is:" << p2.getName() << endl;
-
- const Property& p3 = dor->getType().getProperty("departments[456]/employees[123]");
- cout << "Departments empl property is:" << p3.getName() << endl;
-
- const Property& p4 = dor->getType().getProperty("departments.34/employees.123/name");
- cout << "Employees name property is:" << p4.getName() << endl;
-
- }
- catch (SDORuntimeException e)
- {
- cout <<"Exceptions - xpath didnt work" << endl;
- }
- try {
- cout << "before p5" << endl;
- const Property& p5 = dor->getType().getProperty("departments.34/[]/name");
- cout << "after p5" << endl;
- cout << "Employees name property is:" << p5.getName() << endl;
- cout << "Expected error - didnt get one" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-
- try {
- const Property& p6 = dor->getType().getProperty("deptartments");
- cout << "Deptartments property is:" << p6.getName() << endl;
- cout << "Expected error - didnt get one" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-
- try {
- const Property& p7 = dor->getType().getProperty("../company");
- cout << "Company property is:" << p7.getName() << endl;
- cout << "Expected error - didnt get one" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-}
-
-void sdotest::querytest()
-{
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Company");
- mdg->addType("myspace","Department");
- // manager is a sequenced type...
- mdg->addType("myspace","Manager", true, false);
- mdg->addType("myspace","Employee");
-
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool= mdg->getType("commonj.sdo","Boolean");
- const Type& tbyte= mdg->getType("commonj.sdo","Byte");
- const Type& tchar= mdg->getType("commonj.sdo","Character");
- const Type& tint= mdg->getType("commonj.sdo","Integer");
- const Type& tlong= mdg->getType("commonj.sdo","Long");
- const Type& tfloat= mdg->getType("commonj.sdo","Float");
- const Type& tbytes = mdg->getType("commonj.sdo","Bytes");
- const Type& tdouble= mdg->getType("commonj.sdo","Double");
-
- const Type& tc = mdg->getType("myspace","Company");
- const Type& tm = mdg->getType("myspace","Manager");
- const Type& td = mdg->getType("myspace","Department");
- const Type& te = mdg->getType("myspace","Employee");
-
- mdg->addPropertyToType(tc,"name",tstring);
-
- mdg->addPropertyToType(tc,"departments", td,true);
-
- // add a reference to employee of the month
- mdg->addPropertyToType(tc,"employee of the month", te, false, false, false);
-
- mdg->addPropertyToType(tc,"director", tm);
-
- mdg->addPropertyToType(td,"name", tstring);
-
- mdg->addPropertyToType(td,"manager", tm);
-
- mdg->addPropertyToType(tm,"name", tstring);
-
-
- mdg->addPropertyToType(td,"employees",te,true,false,true);
-
- mdg->addPropertyToType(te,"bool",tbool);
- mdg->addPropertyToType(te,"byte",tbyte);
- mdg->addPropertyToType(te,"char",tchar);
- mdg->addPropertyToType(te,"int",tint);
- mdg->addPropertyToType(te,"float",tfloat);
- mdg->addPropertyToType(te,"long",tlong);
- mdg->addPropertyToType(te,"double",tdouble);
- mdg->addPropertyToType(te,"bytes",tbytes);
- mdg->addPropertyToType(te,"string",tstring);
- mdg->addPropertyToType(te,"name",tstring);
-
- //company/departments/employees.
- // company - name, address, floatlist
- // department name, id, manager
- // employee name
-
- const Type& tcc = mdg->getType("myspace","Company");
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- DataObjectPtr dept = dor->createDataObject("departments");
-
- DataObjectPtr emp1 = dept->createDataObject("employees");
- DataObjectPtr emp2 = dept->createDataObject("employees");
- DataObjectPtr emp3 = dept->createDataObject("employees");
-
- emp1->setCString("name","Employee1");
- emp2->setCString("name","Employee2");
- emp3->setCString("name","Employee3");
-
-
- emp1->setBoolean("bool",true);
- emp1->setByte("byte",'1');
- emp1->setCharacter("char",'1');
- emp1->setInteger("int",1);
- emp1->setFloat("float",1.0);
- emp1->setLong("long",1);
- emp1->setDouble("double",1.0);
-
- char* bytes = new char[6];
- bytes[0] = 'h';
- bytes[1] = 'e';
- bytes[2] = 'l';
- bytes[3] = 'l';
- bytes[4] = 'o';
-
- emp1->setBytes("bytes",bytes,5);
-
- wchar_t* mbytes = new wchar_t[6];
- mbytes[0] = 'h';
- mbytes[1] = 'e';
- mbytes[2] = 'l';
- mbytes[3] = 'l';
- mbytes[4] = 'o';
-
- emp1->setString("string",mbytes,5);
-
-
- emp2->setBoolean("bool",true);
- emp2->setByte("byte",'2');
- emp2->setCharacter("char",'2');
- emp2->setInteger("int",200);
- emp2->setFloat("float",200.0);
- emp2->setLong("long",200);
- emp2->setDouble("double",200.0);
-
- char* bytes2 = new char[6];
- bytes2[0] = 'h';
- bytes2[1] = 'e';
- bytes2[2] = 'l';
- bytes2[3] = 'p';
- bytes2[4] = '!';
-
- emp2->setBytes("bytes",bytes2,5);
-
- wchar_t* mbytes2 = new wchar_t[6];
- mbytes2[0] = 'h';
- mbytes2[1] = 'e';
- mbytes2[2] = 'l';
- mbytes2[3] = 'p';
- mbytes2[4] = '!';
-
- emp2->setString("string",mbytes2,5);
-
- emp3->setBoolean("bool",false);
- emp3->setByte("byte",'4');
- emp3->setCharacter("char",'4');
- emp3->setInteger("int",400);
- emp3->setFloat("float",400.0);
- emp3->setLong("long",400);
- emp3->setDouble("double",400.0);
-
- char* bytes3 = new char[6];
- bytes3[0] = 'w';
- bytes3[1] = 'o';
- bytes3[2] = 'm';
- bytes3[3] = 'p';
- bytes3[4] = '!';
-
- emp3->setBytes("bytes",bytes3,5);
-
- wchar_t* mbytes3 = new wchar_t[6];
- mbytes3[0] = 'w';
- mbytes3[1] = 'o';
- mbytes3[2] = 'm';
- mbytes3[3] = 'p';
- mbytes3[4] = '!';
-
- emp3->setString("string",mbytes3,5);
-
- try {
- DataObjectPtr dob1 = dor->getDataObject("departments[1]/employees[bool=false]");
- cout << "Expected employee3: got " << dob1->getCString("name") << endl;
-
- DataObjectPtr dob2 = dor->getDataObject("departments[1]/employees[bool=true]");
- cout << "Expected employee1: got " << dob2->getCString("name") << endl;
-
- DataObjectPtr dob3 = dor->getDataObject("departments[1]/employees[byte=2]");
- cout << "Expected employee2: got " << dob3->getCString("name") << endl;
-
- DataObjectPtr dob4 = dor->getDataObject("departments[1]/employees[byte=1]");
- cout << "Expected employee1: got " << dob4->getCString("name") << endl;
-
- DataObjectPtr dob5 = dor->getDataObject("departments[1]/employees[bytes=hello]");
- cout << "Expected employee1: got " << dob5->getCString("name") << endl;
-
- DataObjectPtr dob5a = dor->getDataObject("departments[1]/employees[bytes=\"hello\"]");
- cout << "Expected employee1: got " << dob5a->getCString("name") << endl;
-
- DataObjectPtr dob5b = dor->getDataObject("departments[1]/employees[bytes='hello']");
- cout << "Expected employee1: got " << dob5b->getCString("name") << endl;
-
- DataObjectPtr dob6 = dor->getDataObject("departments[1]/employees[bytes=womp!]");
- cout << "Expected employee3: got " << dob6->getCString("name") << endl;
-
- DataObjectPtr dob7 = dor->getDataObject("departments[1]/employees[double=200.0]");
- cout << "Expected employee2: got " << dob7->getCString("name") << endl;
-
- DataObjectPtr dob8 = dor->getDataObject("departments[1]/employees[string=help!]");
- cout << "Expected employee2: got " << dob8->getCString("name") << endl;
-
- DataObjectPtr dob8a = dor->getDataObject("departments[1]/employees[string=\"help!\"]");
- cout << "Expected employee2: got " << dob8a->getCString("name") << endl;
-
- DataObjectPtr dob8b = dor->getDataObject("departments[1]/employees[string= 'help!']");
- cout << "Expected employee2: got " << dob8b->getCString("name") << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << " in ";
- cout << e.getFileName() << " at line ";
- cout << e.getLineNumber() << endl;
- cout << e.getFunctionName() << " ";
- cout << e.getMessageText() << endl;
- }
- try {
- DataObjectPtr dob1 = dor->getDataObject("departments[1]/employees[bool=doughnut]");
- cout << "Expected to fail!" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-
- try {
- DataObjectPtr dob1 = dor->getDataObject("departments[4]/employees[bool=true]");
- cout << "Expected to fail!" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-
- try {
- DataObjectPtr dob1 = dor->getDataObject("departments[1]/employees[bytes=whoomp!]");
- cout << "Expected to fail!" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-
- try {
- DataObjectPtr dob1 = dor->getDataObject("departments[1]/blmployees[bool=true]");
- cout << "Expected to fail!" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-
- try {
- DataObjectPtr dob1 = dor->getDataObject("departments[teapot]/employees[bool=true]");
- cout << "Expected to fail!" << endl;
- }
-
- catch (SDORuntimeException e)
- {
- }
-
- delete bytes;
- delete bytes2;
- delete bytes3;
- delete mbytes;
- delete mbytes2;
- delete mbytes3;
-}
-
-void sdotest::setmany()
-{
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","School");
- mdg->addType("myspace","Class");
- mdg->addType("myspace","Teacher");
- mdg->addType("myspace","Child");
- mdg->addType("myspace","Address");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tint = mdg->getType("commonj.sdo","Integer");
- const Type& ts = mdg->getType("myspace","School");
- const Type& tc = mdg->getType("myspace","Class");
- const Type& tch = mdg->getType("myspace","Child");
- const Type& tt = mdg->getType("myspace","Teacher");
- const Type& ta = mdg->getType("myspace","Address");
-
- mdg->addPropertyToType(tc,"name",tstring);
- mdg->addPropertyToType(ts,"name",tstring);
- mdg->addPropertyToType(tch,"name",tstring);
- mdg->addPropertyToType(tt,"name",tstring);
-
- mdg->addPropertyToType(tc,"number",tint);
- mdg->addPropertyToType(ts,"number",tint);
- mdg->addPropertyToType(tch,"number",tint);
- mdg->addPropertyToType(tt,"number",tint);
-
- mdg->addPropertyToType(ts,"classes", tc,true);
- mdg->addPropertyToType(tc,"children", tch,true);
- mdg->addPropertyToType(tc,"teacher", tt);
-
- mdg->addPropertyToType(tch,"address", ta);
- mdg->addPropertyToType(ts,"address", ta);
- mdg->addPropertyToType(tt,"address", ta);
-
- mdg->addPropertyToType(ta,"lines", tstring, true);
-
- DataObjectPtr school = mdg->create((Type&)ts);
-
- DataObjectPtr class1 = school->createDataObject("classes");
- DataObjectPtr class2 = school->createDataObject("classes");
-
- DataObjectPtr teach1 = class1->createDataObject("teacher");
-
- DataObjectPtr kid1 = class1->createDataObject("children");
- DataObjectPtr kid2 = class1->createDataObject("children");
- DataObjectPtr kid3 = class1->createDataObject("children");
-
- DataObjectPtr teach2 = class2->createDataObject("teacher");
-
- DataObjectPtr kid4 = class2->createDataObject("children");
- DataObjectPtr kid5 = class2->createDataObject("children");
- DataObjectPtr kid6 = class2->createDataObject("children");
-
- school->setCString("name","King Norberts");
- school->createDataObject("address");
- school->setCString("address/lines.0","The Place");
- school->setCString("address/lines.1","1 The Avenue");
- school->setCString("address/lines.2","Murchester");
- school->setCString("address/lines.3","England");
-
- class1->setCString("name","Primary");
- class2->setCString("name","Secondary");
-
- class1->setCString("teacher/name","Mr Philbert Chloroform");
- class2->setCString("teacher/name","Mr Brian Onastick");
-
- kid1->setCString("name", "Witherspoon Jnr");
- kid2->setCString("name", "Snape");
- kid3->setCString("name", "Thannet");
- kid4->setCString("name", "Grimbling");
- kid5->setCString("name", "Snagget Minor");
- kid6->setCString("name", "Van Den Bograt");
-
- kid1->setInteger("number", 1);
- kid2->setInteger("number", 2);
- kid3->setInteger("number", 3);
- kid4->setInteger("number", 4);
- kid5->setInteger("number", 5);
- kid6->setInteger("number", 6);
-
- cout <<" School :" << school->getCString("name") << endl;
-
- cout <<" Address1:" << school->getCString("address/lines.0") << endl;
- cout <<" Address2:" << school->getCString("address/lines.1") << endl;
- cout <<" Address3:" << school->getCString("address/lines.2") << endl;
- cout <<" Address4:" << school->getCString("address/lines.3") << endl;
-
- cout <<" Class :" << class1->getCString("name") << endl;
- cout <<" Teacher :" << class1->getCString("teacher/name") << endl;
- cout <<" Pupil1 :" << class1->getCString("children.0/name") << endl;
- cout <<" Pupil2 :" << class1->getCString("children[number=2]/name") << endl;
- cout <<" Pupil3 :" << class1->getCString("children[3]/name") << endl;
-
- cout <<" Class :" << class2->getCString("name") << endl;
- cout <<" Teacher :" << class2->getCString("teacher/name") << endl;
- cout <<" Pupil1 :" << class2->getCString("children[1]/name") << endl;
- cout <<" Pupil2 :" << class2->getCString("children.1/name") << endl;
- cout <<" Pupil3 :" << class2->getCString("children[number=6]/name") << endl;
-
- try {
- cout <<" Pupil3 :" << class2->getCString("children[4]/name") << endl;
- cout << "That should have failed with a path not found" << endl;
- }
- catch (SDOPathNotFoundException e)
- {
-
- }
- if (XpathHelper::isIndexed("abc[2]")) {
- cout << "Indexed as expected" << endl;
- }
- else {
- cout << "Bad - not indexed" << endl;
- }
-
- if (XpathHelper::isIndexed("wibble/[2]")) {
- cout << "Indexed as expected" << endl;
- }
- else {
- cout << "Bad - not indexed" << endl;
- }
-
- if (XpathHelper::isIndexed("wibble/wobble[2]")) {
- cout << "Indexed as expected" << endl;
- }
- else {
- cout << "Bad - not indexed" << endl;
- }
-
- if (XpathHelper::isIndexed("wibble/wobble.2")) {
- cout << "Indexed as expected" << endl;
- }
- else {
- cout << "Bad - not indexed" << endl;
- }
-
- if (XpathHelper::isIndexed("wibble/wobble.2")) {
- cout << "Indexed as expected" << endl;
- }
- else {
- cout << "Bad - not indexed" << endl;
- }
-
- try {
- cout <<" Address5 :" << school->getCString("address/lines[5]") << endl;
- cout << "Address5 should have failed with an index out of range" << endl;
- }
- catch (SDOIndexOutOfRangeException e)
- {
-
- }
-
- try {
- school->setCString("address/lines[6]","PostCode");
- cout << "Debatable behaviour - appended" << endl;
- cout <<" Address4 :" << school->getCString("address/lines[5]") << endl;
- }
- catch (SDORuntimeException e)
- {
- cout <<"Unexpected exception"<< endl;
- }
-
-
-}
-
-void sdotest::carotest2()
-{
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","root");
-
- mdg->addPropertyToType("myspace","root","cs",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- const Type& troot = mdg->getType("myspace","root");
-
- DataObjectPtr root = mdg->create((Type&)troot);
-
-}
-
-void sdotest::adddeletetest()
-{
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","root");
- mdg->addType("myspace","bill");
-
- mdg->addPropertyToType("myspace","root","cs",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addPropertyToType("myspace","root","bill",
- "myspace","bill");
-
- const Type& troot = mdg->getType("myspace","root");
-
- DataObjectPtr root = mdg->create((Type&)troot);
-
- ChangeSummaryPtr cs = root->getChangeSummary();
- cs->beginLogging();
- DataObjectPtr dob = root->createDataObject("bill");
- root->unset("bill");
-
-}
-
-void sdotest::carotest()
-{
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","root");
- mdg->addType("myspace","company");
- mdg->addType("myspace","department");
- mdg->addType("myspace","employee");
-
- mdg->addPropertyToType("myspace","root","cs",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addPropertyToType("myspace","company","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","department","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","employee","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","root","companies",
- "myspace","company", true, false, true);
-
- mdg->addPropertyToType("myspace","company","departments",
- "myspace","department", true, false, true);
-
- mdg->addPropertyToType("myspace","company","eotm",
- "myspace","employee", false, false, false);
-
- mdg->addPropertyToType("myspace","department","employees",
- "myspace","employee", true, false, true);
-
- const Type& troot = mdg->getType("myspace","root");
-
-
- DataObjectPtr root = mdg->create((Type&)troot);
- ChangeSummaryPtr cs = root->getChangeSummary();
-
- cs->beginLogging();
-
- DataObjectPtr comp = root->createDataObject("companies");
-
- comp->setCString("name","Acme");
-
- cout << "name of the company is " << comp->getCString("name") << endl;
- try {
- root->unset("companies[0]");
- }
- catch (SDOUnsupportedOperationException e)
- {
- cout << "Normal unsupported operation for unset of many valued item" << endl;
- }
-}
-
-
-void sdotest::bug2()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","root");
- mdg->addType("myspace","company");
-
- mdg->addPropertyToType("myspace","root","cs",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addPropertyToType("myspace","company","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","root","companies",
- "myspace","company", true, false, true);
-
-
- const Type& troot = mdg->getType("myspace","root");
-
-
- DataObjectPtr root = mdg->create((Type&)troot);
-
- ChangeSummaryPtr cs = root->getChangeSummary();
-
- cs->beginLogging();
-
- DataObjectPtr comp = root->createDataObject("companies");
-
- comp->setCString("name","Acme");
-
- dumpproperties(root);
-
- DataObjectList& dl = root->getList("companies");
- dl.remove(0);
-
- dumpproperties(root);
-
-
- cout << "Change summary should have no entries..." << endl;
-
- dumpchangesummary(cs);
-
- dumpproperties(root);
-
- cout << "Change summary should have no entries..." << endl;
-
- dumpchangesummary(cs);
-
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << " in ";
- cout << e.getFileName() << " at line ";
- cout << e.getLineNumber() << endl;
- cout << e.getFunctionName() << " ";
- cout << e.getMessageText() << endl;
- }
-}
-
-
-void sdotest::dumpproperties(DataObjectPtr root)
-{
- PropertyList pl = root->getInstanceProperties();
- for (int i=0;i<pl.size();i++)
- {
- if (pl[i].isMany())
- {
- DataObjectList& dl = root->getList(pl[i]);
- if (pl[i].getType().isDataType())
- {
- char buf[10];
- for (int j=0;j<dl.size();j++)
- {
-
- sprintf(buf,"%02d",j);
- cout << "MProperty:" << pl[i].getName() << "[" << buf << "]:" << dl.getCString(j) << endl;
- }
- }
- else
- {
- cout << "MObject Property" << pl[i].getName() << endl;
- for (int j=0;j<dl.size();j++)
- {
- if (dl[j] != 0)
- {
- dumpproperties(dl[j]);
- }
- }
- cout << "End of MObject Property " << pl[i].getName() << endl;
- }
- }
-
- else
- {
- if (pl[i].getType().isDataType())
- {
- cout << "Property:" << pl[i].getName() << ":" << root->getCString(pl[i]) << endl;
- }
- else
- {
- cout << "Object Property:" << pl[i].getName() << endl;
- DataObjectPtr d = root->getDataObject(pl[i]);
- if (d != 0)
- {
- dumpproperties(d);
- }
- else
- {
- cout << " Value was not set or null" << endl;
- }
- cout << "End of Object Property " << pl[i].getName() << endl;
- }
- }
- }
-}
-
-
-void sdotest::datetest()
-{
-
- try {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","root");
- mdg->addType("myspace","company");
-
- mdg->addPropertyToType("myspace","root","cs",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addPropertyToType("myspace","company","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","company","startupdate",
- "commonj.sdo","Date", false, false, false);
-
- mdg->addPropertyToType("myspace","company","reviewdates",
- "commonj.sdo","Date", true, false, false);
-
-
- mdg->addPropertyToType("myspace","root","company",
- "myspace","company", false, false, true);
-
-
-
- const Type& troot = mdg->getType("myspace","root");
-
-
- DataObjectPtr root = mdg->create((Type&)troot);
- ChangeSummaryPtr cs = root->getChangeSummary();
-
- cs->beginLogging();
-
- DataObjectPtr comp = root->createDataObject("company");
-
-
- comp->setCString("name","DateTest");
-
- cout << "name of the company is " << comp->getCString("name") << endl;
-
- // cannot get undefaulted properties
- //cout << "unset start of the company is " << comp->getDate("startupdate").getTime() << endl;
-
- comp->setDate("startupdate",SDODate( 1000 ));
-
- cout << "set start of the company is " << comp->getDate("startupdate").getTime() << endl;
-
- DataObjectList& dol = comp->getList("reviewdates");
-
-
- dol.append(SDODate(2000));
- dol.append(SDODate(4000));
-
- for (int i=0;i < dol.size(); i++)
- {
- cout << "Review number:" << i << " was:" << dol.getDate(i).getTime() << endl;
- cout << "Formatted:" << i << " was:" << dol.getDate(i).ascTime() << endl;
- }
-
- cs->endLogging();
- }
-
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << " in ";
- cout << e.getFileName() << " at line ";
- cout << e.getLineNumber() << endl;
- cout << e.getFunctionName() << " ";
- cout << e.getMessageText() << endl;
- }
-
-}
-
-void sdotest::matttest1()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","root");
- mdg->addType("myspace","company");
- mdg->addType("myspace","department");
- mdg->addType("myspace","employee");
-
- mdg->addPropertyToType("myspace","root","cs",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addPropertyToType("myspace","company","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","department","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","employee","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","root","companies",
- "myspace","company", true, false, true);
-
- mdg->addPropertyToType("myspace","company","departments",
- "myspace","department", true, false, true);
-
- mdg->addPropertyToType("myspace","company","eotm",
- "myspace","employee", false, false, false);
-
- mdg->addPropertyToType("myspace","department","employees",
- "myspace","employee", true, false, true);
-
- const Type& troot = mdg->getType("myspace","root");
-
-
- DataObjectPtr root = mdg->create((Type&)troot);
-
- DataObjectPtr comp = root->createDataObject("companies");
-
- comp->setCString("name","Acme");
-
- DataObjectPtr dept1 = comp->createDataObject("departments");
-
- dept1->setCString("name","Shoe");
-
- DataObjectPtr dept2 = comp->createDataObject("departments");
-
- dept2->setCString("name","IT");
-
- DataObjectPtr sue = dept1->createDataObject("employees");
-
- sue->setCString("name","Sue");
-
- DataObjectPtr billy = dept2->createDataObject("employees");
-
- billy->setCString("name","Billy");
-
- // Want to swap Sue and Billy so, while holding them in variables, should be
- //able to unset from department then reinsert
-
- // method 1 - clear the lists...
- dept1->unset("employees");
- dept2->unset("employees");
-
- DataObjectPtr cont = billy->getContainer();
-
- if (cont != 0)
- {
- cout << "Container of Billy should be zero, but is :" << cont->getCString("name") << endl;
- }
- else {
- cout << "OK, - Billy is not contained." << endl;
- }
-
- DataObjectList& li1 = dept1->getList("employees");
- DataObjectList& li2 = dept2->getList("employees");
- li1.append(billy);
- li2.append(sue);
-
- DataObjectPtr cont2 = billy->getContainer();
-
- if (cont2 != 0)
- {
- cout << "Container of Billy should be dept1, and is :" << cont2->getCString("name") << endl;
- }
- else {
- cout << "Problem - Billy is not contained." << endl;
- }
-
- li1.remove(0);
- li2.remove(0);
-
- DataObjectPtr cont3 = billy->getContainer();
-
- if (cont3 != 0)
- {
- cout << "Container of Billy should be zero, but is :" << cont3->getCString("name") << endl;
- }
- else {
- cout << "OK, - Billy is not contained." << endl;
- }
-
-
- li1.append(sue);
- li2.append(billy);
-
- DataObjectPtr cont4 = billy->getContainer();
-
- if (cont4 != 0)
- {
- cout << "Container of Billy should be dept2, and is :" << cont4->getCString("name") << endl;
- }
- else {
- cout << "Problem - Billy is not contained." << endl;
- }
-
- }
- catch (SDORuntimeException e)
- {
- cout << e.getEClassName() << " in ";
- cout << e.getFileName() << " at line ";
- cout << e.getLineNumber() << endl;
- cout << e.getFunctionName() << " ";
- cout << e.getMessageText() << endl;
- }
-}
-
-void sdotest::carotest3()
-{
- // sequence new APIs
- // data object list, new getLength(unsigned int)
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- // company is sequenced.
- mdg->addType("myspace","Company",true,false);
-
- mdg->addType("myspace","Department",true,false);
- // string is many
-
- mdg->addPropertyToType("myspace","Company","string","commonj.sdo","String",
- true);
-
- mdg->addPropertyToType("myspace","Company","departments","myspace","Department",
- true);
-
- mdg->addPropertyToType("myspace","Company","strings","commonj.sdo","String",
- true);
-
- mdg->addPropertyToType("myspace","Company","integers","commonj.sdo","Integer",
- true);
-
-
- mdg->addPropertyToType("myspace","Department","name","commonj.sdo","String");
-
-
- const Type& tcc = mdg->getType("myspace","Company");
-
- DataObjectPtr dor = mdg->create(tcc);
- const Property& sprop = dor->getType().getProperty("string");
-
- SequencePtr sptr = dor->getSequence();
-
- printseq(sptr);
-
- sptr->addCString(sprop,"I am Item 1 of string");
-
- printseq(sptr);
-
- sptr->addText("I am the first free text");
-
- printseq(sptr);
-
- sptr->addCString(sprop,"I am Item 2 of string");
-
- printseq(sptr);
-
- sptr->setText(1,"I am free text which has been modified");
-
- printseq(sptr);
-
- DataObjectPtr dep1 = dor->createDataObject("departments");
-
- printseq(sptr);
-
- dep1->setCString("name","department1");
-
- printseq(sptr);
-
- DataObjectList& dol = dor->getList("departments");
-
- unsigned int ii = dol.getLength(0);
-
- cout << "Length of a data object should be zero:" << ii << endl;
-
- DataObjectList& strl = dor->getList("strings");
-
- wchar_t * buf = new wchar_t[5];
- buf[0] = 'a';
- buf[1] = 'b';
- buf[2] = 'c';
- buf[3] = 'd';
- buf[4] = 'e';
-
- strl.append(buf,1);
- strl.append(buf,2);
- strl.append(buf,3);
- strl.append(buf,4);
- strl.append(buf,5);
-
- cout << "Element zero, length 1: " << strl.getLength(0) << endl;
- cout << "Element one, length 2: " << strl.getLength(1) << endl;
- cout << "Element two, length 3: " << strl.getLength(2) << endl;
- cout << "Element three,length 4: " << strl.getLength(3) << endl;
- cout << "Element four, length 5: " << strl.getLength(4) << endl;
-
- try {
- cout << "Element five doesnt exist: " << strl.getLength(5);
- }
- catch (SDOIndexOutOfRangeException e)
- {
- cout << "Normal out of range exception in test" << endl;
- }
-
- DataObjectList& numl = dor->getList("integers");
-
- try {
- cout << "On an empty list? " << numl.getLength(0);
- }
- catch (SDOIndexOutOfRangeException e)
- {
- cout << "Normal out of range exception in test" << endl;
- }
-}
-
-
-int main (int argc, char** argv)
-{
- Logger::setLogging(20);
-
- sdotest::b47293();
-
-
- sdotest::propdefaulttest();
- sdotest::graham5();
- sdotest::graham4();
-
- sdotest::detachtest();
- sdotest::includetest();
- sdotest::testLoad();
- sdotest::leak();
- sdotest::twolists();
- sdotest::b46633();
-
- sdotest::testUtil();
-
- sdotest::clonetest();
-
- sdotest::b46693();
- Logger::setLogging(0);
-// sdotest::b46734();
- sdotest::notfound();
- sdotest::testErrors();
-
- sdotest::b46634();
- sdotest::loadManyOpen();
-
- sdotest::doctest();
- sdotest::b46617b();
- sdotest::b46617();
- sdotest::b46613();
-
- sdotest::graham3();
- sdotest::graham1();
- sdotest::graham2();
-
-
- sdotest::merle1();
- sdotest::loadOpenNS();
-
- sdotest::saveOpen();
- sdotest::loadOpen();
- sdotest::testui();
- sdotest::testOpen();
- sdotest::testSCA();
- sdotest::testabstract();
-
- sdotest::testsubsload();
- sdotest::testsubs();
- sdotest::bug45933();
- sdotest::setnull();
- sdotest::bug2();
- sdotest::cssave2();
- sdotest::csload2();
- sdotest::cssave();
- sdotest::csload();
- sdotest::eqhelpertest();
- sdotest::cohelpertest();
- sdotest::datetest();
- sdotest::carotest3();
- sdotest::matttest1();
- sdotest::adddeletetest();
- sdotest::carotest2();
- sdotest::carotest();
- sdotest::setmany();
- sdotest::noncontest();
- sdotest::versiontest();
- sdotest::defaulttest();
- sdotest::nulltest();
- sdotest::usertest();
- sdotest::querytest();
- sdotest::getproptest();
- sdotest::rcptest();
- sdotest::seqtest();
- sdotest::changesummarytest();
- sdotest::conversiontest();
- sdotest::boolbug();
- sdotest::scope1();
- sdotest::scope2();
- sdotest::scope3();
- return sdotest::main(argc, argv);
- /* All objects freed ? */
-return 0;
-}
-
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.h b/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.h
deleted file mode 100644
index 6f1b63de1b..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest.h
+++ /dev/null
@@ -1,123 +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.
- */
-
-/* $Rev$ $Date: 2005/12/22 16:54:31 $ */
-
-#include "commonj/sdo/SDO.h"
-using namespace commonj::sdo;
-
-class sdotest {
- public:
-
-
- static void changeSummaryHeader(ChangeSummaryPtr cs);
- static void changeSummaryFooter();
- static void changeSummaryChange(int level, ChangeSummaryPtr cs, DataObjectPtr dob);
- static void changeSummaryDeletedObject(int indent, const char* name, ChangeSummaryPtr cs, DataObjectPtr dob);
- static void changeSummaryElements(int indent, ChangeSummaryPtr cs, DataObjectPtr dob);
- static void changeSummarySetting(Setting& s);
- static bool changeSummaryAttributes(ChangeSummaryPtr cs, DataObjectPtr dol);
-
- static void b47293();
- static void propdefaulttest();
- static void showdefault(const Type& tm);
- static void graham5();
- static void graham4();
- static void leak();
- static void twolists();
- static void printset(ChangeSummaryPtr cs);
- static void detachtest();
- static void includetest();
- static void testLoad();
- static void b46633();
- static void clonetest();
- static void testUtil();
- static void testErrors();
- static void b46734();
- static void b46693();
- static void b46634();
- static void b46613();
- static void b46617();
- static void b46617b();
- static void doctest();
- static void notfound();
-
-
- static void serializeChangeSummary(ChangeSummaryPtr cs);
- static void cssave();
- static void csload();
- static void cssave2();
- static void csload2();
- static void bug2();
- static void setnull();
- static void bug45933();
- static void testsubsload();
- static void testabstract();
- static void testsubs();
- static void testSCA();
- static void testOpen();
- static void saveOpen();
- static void loadOpen();
- static void testui();
- static void merle1();
- static void graham1();
- static void graham2();
- static void graham3();
- static void loadManyOpen();
- static void loadOpenNS();
-
-
- static void eqhelpertest();
- static void cohelpertest();
- static void datetest();
- static void matttest1();
- static void adddeletetest();
- static void carotest3();
- static void carotest2();
- static void carotest();
- static void setmany();
- static void noncontest();
- static void versiontest();
- static void defaulttest();
- static void querytest();
- static void getproptest();
- static void nulltest();
- static void usertest();
- static void rcptest();
- static void boolbug();
- static void scope1();
- static void scope2();
- static void scope3();
- static void conversiontest();
- static void changesummarytest();
- static void scenario1();
- static void scenario2();
- static void scenario3();
- static void scenario4();
- static void scenario5();
- static void printseq(SequencePtr sptr);
- static void seqtest();
- static void printDataObject(DataObjectPtr dol);
- static void printValue(DataObjectPtr dob, const Property& prop);
- static void printList(DataObjectPtr dob, const Property& prop);
- static void printOldValues(ChangeSummaryPtr cs, DataObjectPtr dob);
- static void dumpchangesummary(ChangeSummaryPtr cs);
- static void dumpproperties(DataObjectPtr root);
- static void testGetters(DataObjectPtr dor);
- static void testGetter(DataObjectPtr dor, char* str);
- static int main(int argc, char** argv);
-}; \ No newline at end of file
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest2.cpp b/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest2.cpp
deleted file mode 100644
index 9f547af4eb..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/sdotest2.cpp
+++ /dev/null
@@ -1,3937 +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.
- */
-
-/* $Rev$ $Date: 2005/12/22 16:54:31 $ */
-
-#include <stdio.h>
-
-#pragma warning(disable:4786)
-
-#include <iostream>
-using namespace std;
-
-// #include "TypeImpl.h"
-
-#include "sdotest.h"
-
-
-
-using namespace commonj::sdo;
-
-void sdotest::eqhelpertest()
-{
-
- // copy and equality helpers
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Assembly");
- mdg->addType("myspace","SubAssembly");
- mdg->addType("myspace","Part");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tint = mdg->getType("commonj.sdo","Integer");
- const Type& tassy = mdg->getType("myspace","Assembly");
- const Type& tsubassy = mdg->getType("myspace","SubAssembly");
- const Type& tpart = mdg->getType("myspace","Part");
-
-
- mdg->addPropertyToType(tassy,"name",tstring);
- mdg->addPropertyToType(tsubassy,"name",tstring);
- mdg->addPropertyToType(tpart,"name",tstring);
-
- mdg->addPropertyToType(tassy,"number",tint);
- mdg->addPropertyToType(tsubassy,"number",tint);
- mdg->addPropertyToType(tpart,"number",tint);
-
- mdg->addPropertyToType(tassy,"subassemblies", tsubassy,true);
- mdg->addPropertyToType(tsubassy,"parts", tpart,true);
-
-
- // assy 1
-
- DataObjectPtr assy1 = mdg->create((Type&)tassy);
-
- DataObjectPtr subassy1 = assy1->createDataObject("subassemblies");
- DataObjectPtr subassy2 = assy1->createDataObject("subassemblies");
-
- DataObjectPtr part1 = subassy1->createDataObject("parts");
- DataObjectPtr part2 = subassy1->createDataObject("parts");
- DataObjectPtr part3 = subassy1->createDataObject("parts");
-
- DataObjectPtr part4 = subassy2->createDataObject("parts");
- DataObjectPtr part5 = subassy2->createDataObject("parts");
- DataObjectPtr part6 = subassy2->createDataObject("parts");
-
-
- assy1->setCString("name","MicroFrame");
- assy1->setInteger("number",32768);
-
- subassy1->setCString("name","Legs");
- subassy2->setCString("name","Body");
- subassy1->setInteger("number",1);
- subassy2->setInteger("number",2);
-
- part1->setCString("name","Leg1");
- part2->setCString("name","Leg2");
- part3->setCString("name","Leg3");
- part1->setInteger("number",10001);
- part2->setInteger("number",10002);
- part3->setInteger("number",10003);
-
-
- part4->setCString("name","MainStrut");
- part5->setCString("name","Brace1");
- part6->setCString("name","Brace2");
- part4->setInteger("number",20001);
- part5->setInteger("number",20002);
- part6->setInteger("number",20003);
-
- // assy2 - shallow equal to assy, but not deep equal
-
- DataObjectPtr assy2 = mdg->create((Type&)tassy);
-
- DataObjectPtr subassy3 = assy2->createDataObject("subassemblies");
- DataObjectPtr subassy4 = assy2->createDataObject("subassemblies");
-
- DataObjectPtr part7 = subassy3->createDataObject("parts");
- DataObjectPtr part8 = subassy3->createDataObject("parts");
- DataObjectPtr part9 = subassy3->createDataObject("parts");
-
- DataObjectPtr part10 = subassy4->createDataObject("parts");
- DataObjectPtr part11 = subassy4->createDataObject("parts");
- DataObjectPtr part12 = subassy4->createDataObject("parts");
-
-
- assy2->setCString("name","MicroFrame");
- assy2->setInteger("number",32768);
-
- subassy3->setCString("name","Legs");
- subassy4->setCString("name","Body");
- subassy3->setInteger("number",1);
- subassy4->setInteger("number",2);
-
- part7->setCString("name","Leg1");
- part8->setCString("name","Leg2");
- part9->setCString("name","Leg3");
- part7->setInteger("number",10001);
- part8->setInteger("number",10002);
- part9->setInteger("number",10003);
-
-
- part10->setCString("name","MainStrut");
- part11->setCString("name","Brace1");
- part12->setCString("name","OddBrace2");
- part10->setInteger("number",20001);
- part11->setInteger("number",20002);
- part12->setInteger("number",20003);
-
- if (!EqualityHelper::equalShallow(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at first test" << endl;
- }
- else
- {
- cout << "Equality Helper test 1 passed" << endl;
- }
- if (EqualityHelper::equal(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at second test" << endl;
- }
- else
- {
- cout << "Equality Helper test 2 passed" << endl;
- }
-
- // Now alter assy2 to be deep equal...
-
-
- part12->setCString("name","Brace2");
-
- if (!EqualityHelper::equalShallow(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at third test" << endl;
- }
- else
- {
- cout << "Equality Helper test 3 passed" << endl;
- }
- if (!EqualityHelper::equal(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at fourth test" << endl;
- }
- else
- {
- cout << "Equality Helper test 4 passed" << endl;
- }
-
- // now add a part, so its not deep equal again
- DataObjectPtr part13 = subassy4->createDataObject("parts");
-
- if (!EqualityHelper::equalShallow(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at fifth test" << endl;
- }
- else
- {
- cout << "Equality Helper test 5 passed" << endl;
- }
- if (EqualityHelper::equal(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at sixth test" << endl;
- }
- else
- {
- cout << "Equality Helper test 6 passed" << endl;
- }
-
- // now remove that part again...
- DataObjectList& dl = subassy4->getList("parts");
- dl.remove(3);
-
- // should be deep equal again...
-
- if (!EqualityHelper::equalShallow(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at seventh test" << endl;
- }
- else
- {
- cout << "Equality Helper test 7 passed" << endl;
- }
- if (!EqualityHelper::equal(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at eighth test" << endl;
- }
- else
- {
- cout << "Equality Helper test 8 passed" << endl;
- }
- // now make them not shallow equal
- assy2->setInteger("number",32767);
-
- if (EqualityHelper::equalShallow(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at nineth test" << endl;
- }
- else
- {
- cout << "Equality Helper test 9 passed" << endl;
- }
- if (EqualityHelper::equal(assy1, assy2))
- {
- cout << "EQUALITY HELPER TEST - failure at tenth test" << endl;
- }
- else
- {
- cout << "Equality Helper test 10 passed" << endl;
- }
-
-}
-
-void sdotest::cohelpertest()
-{
-
- // copy and equality helpers
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Assembly");
- mdg->addType("myspace","SubAssembly");
- mdg->addType("myspace","Part");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tint = mdg->getType("commonj.sdo","Integer");
- const Type& tassy = mdg->getType("myspace","Assembly");
- const Type& tsubassy = mdg->getType("myspace","SubAssembly");
- const Type& tpart = mdg->getType("myspace","Part");
-
-
- mdg->addPropertyToType(tassy,"name",tstring);
- mdg->addPropertyToType(tsubassy,"name",tstring);
- mdg->addPropertyToType(tpart,"name",tstring);
-
- mdg->addPropertyToType(tassy,"number",tint);
- mdg->addPropertyToType(tsubassy,"number",tint);
- mdg->addPropertyToType(tpart,"number",tint);
-
- mdg->addPropertyToType(tassy,"subassemblies", tsubassy,true);
- mdg->addPropertyToType(tsubassy,"parts", tpart,true);
-
-
- // assy 1
-
- DataObjectPtr assy1 = mdg->create((Type&)tassy);
-
- DataObjectPtr subassy1 = assy1->createDataObject("subassemblies");
- DataObjectPtr subassy2 = assy1->createDataObject("subassemblies");
-
- DataObjectPtr part1 = subassy1->createDataObject("parts");
- DataObjectPtr part2 = subassy1->createDataObject("parts");
- DataObjectPtr part3 = subassy1->createDataObject("parts");
-
- DataObjectPtr part4 = subassy2->createDataObject("parts");
- DataObjectPtr part5 = subassy2->createDataObject("parts");
- DataObjectPtr part6 = subassy2->createDataObject("parts");
-
-
- assy1->setCString("name","MicroFrame");
- assy1->setInteger("number",32768);
-
- subassy1->setCString("name","Legs");
- subassy2->setCString("name","Body");
- subassy1->setInteger("number",1);
- subassy2->setInteger("number",2);
-
- part1->setCString("name","Leg1");
- part2->setCString("name","Leg2");
- part3->setCString("name","Leg3");
- part1->setInteger("number",10001);
- part2->setInteger("number",10002);
- part3->setInteger("number",10003);
-
-
- part4->setCString("name","MainStrut");
- part5->setCString("name","Brace1");
- part6->setCString("name","Brace2");
- part4->setInteger("number",20001);
- part5->setInteger("number",20002);
- part6->setInteger("number",20003);
-
- // first lets shallow copy assy1:
-
- DataObjectPtr assy2 = CopyHelper::copyShallow(assy1);
-
- if (strcmp(assy2->getCString("name"),"MicroFrame"))
- {
- cout << "COPYHELPER shallow copy failed(1)" << endl;
- }
- else if (assy2->getInteger("number") != 32768)
- {
- cout << "COPYHELPER shallow copy 1 failed(2)" << endl;
- }
- else if (assy2->getList("subassemblies").size() != 0)
- {
- cout << "COPYHELPER shallow copy 1 failed(3)" << endl;
- }
- else if (assy2->getContainer() != 0)
- {
- cout << "COPYHELPER shallow copy failed(4)" << endl;
- }
- else
- {
- cout << "CopyHelper test1 passed" << endl;
- }
-
- // now deep copy it
-
- DataObjectPtr assy3 = CopyHelper::copy(assy1);
-
- if (!EqualityHelper::equal(assy1, assy3))
- {
- cout << "COPYHELPER deep copy failed(1)" << endl;
- }
- else if (assy3->getContainer() != 0)
- {
- cout << "COPYHELPER deep copy failed(2)" << endl;
- }
- else
- {
- cout << "CopyHelper test 2 passed" << endl;
- }
-
-}
-
-
-/////////////////////////////////////////////////////////////////////////////
-///test code for serialization...........
-/////////////////////////////////////////////////////////////////////////////
-//
-//bool sdotest::serializeOldSingleValues(int indent, ChangeSummaryPtr cs, DataObjectPtr dol)
-//{
-// bool onlySingle = true;
-// SettingList& sl = cs->getOldValues(dol);
-// if (sl.size() == 0)
-// {
-// return onlySingle;
-// }
-//
-// for (int k=0;k<indent;k++)cout << " ";
-//
-// for (int j=0;j< sl.size(); j++)
-// {
-// if (sl[j].getProperty().isMany())
-// {
-// onlySingle = false;
-// continue;
-// }
-//
-// cout << " " << sl[j].getProperty().getName() << "=";
-//
-// switch (sl[j].getProperty().getTypeEnum())
-// {
-// case Type::BooleanType:
-// cout << "\"" << sl[j].getBooleanValue() << "\"";
-// break;
-// case Type::ByteType:
-// cout << "\"" << sl[j].getByteValue() << "\"";
-// break;
-// case Type::CharacterType:
-// cout << "\"" << sl[j].getCharacterValue() << "\"";
-// break;
-// case Type::IntegerType:
-// cout << "\"" << sl[j].getIntegerValue() << "\"";
-// break;
-// case Type::ShortType:
-// cout << "\"" << sl[j].getShortValue() << "\"";
-// break;
-// case Type::DoubleType:
-// cout << "\"" << sl[j].getDoubleValue() << "\"";
-// break;
-// case Type::FloatType:
-// cout << "\"" << sl[j].getFloatValue() << "\"";
-// break;
-// case Type::LongType:
-// cout << "\"!" << sl[j].getIntegerValue() << "\"";
-// break;
-// case Type::DateType:
-// cout << "\"" << sl[j].getDateValue().ascTime() << "\"";
-// break;
-// case Type::BigDecimalType:
-// case Type::BigIntegerType:
-// case Type::StringType:
-// case Type::UriType:
-// cout << "\"" << sl[j].getCStringValue() << "\"";
-// break;
-// case Type::BytesType:
-// cout << "\"" << sl[j].getCStringValue() << "\"";
-// break;
-// case Type::OtherTypes:
-// case Type::DataObjectType:
-// case Type::ChangeSummaryType:
-// {
-// DataObjectPtr dob = sl[j].getDataObjectValue();
-// if (!dob)
-// {
-// cout << "";
-// }
-// else
-// {
-// if (cs->isDeleted(dob))
-// {
-// cout << "\"" << cs->getOldXpath(dob) << "\"";
-// }
-// else
-// {
-// cout << "\"" << dob->objectToXPath() << "\"";
-// }
-// }
-// }
-// break;
-// default:
-// {
-// }
-// break;
-// }
-// }
-// return onlySingle;
-//}
-//
-//
-//
-//
-//void sdotest::serializeOldManyValues(int indent, ChangeSummaryPtr cs, DataObjectPtr dol)
-//{
-// SettingList& sl = cs->getOldValues(dol);
-// if (sl.size() == 0)
-// {
-// return;
-// }
-// for (int j=0;j< sl.size(); j++)
-// {
-// if (!sl[j].getProperty().isMany()) continue;
-//
-// for (int k=0;k<indent;k++)cout << " ";
-//
-// cout << "<" ;
-// cout << sl[j].getProperty().getName() << " ";
-//
-// switch (sl[j].getProperty().getTypeEnum())
-// {
-// case Type::BooleanType:
-// cout << " value=\"" << sl[j].getBooleanValue() << "\"";
-// break;
-// case Type::ByteType:
-// cout << " value=\"" << sl[j].getByteValue() << "\"";
-// break;
-// case Type::CharacterType:
-// cout << " value=\"" << sl[j].getCharacterValue() << "\"";
-// break;
-// case Type::IntegerType:
-// cout << " value=\"" << sl[j].getIntegerValue() << "\"";
-// break;
-// case Type::ShortType:
-// cout << " value=\"" << sl[j].getShortValue() << "\"";
-// break;
-// case Type::DoubleType:
-// cout << " value=\"" << sl[j].getDoubleValue() << "\"";
-// break;
-// case Type::FloatType:
-// cout << " value=\"" << sl[j].getFloatValue() << "\"";
-// break;
-// case Type::LongType:
-// cout << " value=\"" << "!" << sl[j].getIntegerValue() << "\"";
-// break;
-// case Type::DateType:
-// cout << " value=\"" << sl[j].getDateValue().getTime() << "\"";
-// break;
-// case Type::BigDecimalType:
-// case Type::BigIntegerType:
-// case Type::StringType:
-// case Type::UriType:
-// cout << " value=\"" << sl[j].getCStringValue() << "\"";
-// break;
-// case Type::BytesType:
-// cout << " value=\"" << sl[j].getCStringValue() << "\"";
-// break;
-// case Type::OtherTypes:
-// case Type::DataObjectType:
-// case Type::ChangeSummaryType:
-// {
-// DataObjectPtr dob = sl[j].getDataObjectValue();
-// if (!dob)
-// {
-// // what to do?;
-// }
-// else
-// {
-// if (cs->isDeleted(dob))
-// {
-// // TODO
-// cout << " sdo:ref=\"" << "deleted" << "\"";
-// }
-// else
-// {
-// cout << " sdo:ref=\"" << dob->objectToXPath() << "\"";
-// }
-// }
-// }
-// break;
-// default:
-// {
-// }
-// break;
-// } // switch
-// cout << "/>" << endl;
-// } // for
-//}
-//
-//
-//
-//void sdotest::serializechangesummary(ChangeSummaryPtr cs)
-//{
-// changeSummaryHeader(cs);
-//
-// ChangedDataObjectList& cdol = cs->getChangedDataObjects();
-//
-// for (i=0;i< cdol.size();i++)
-// {
-// if (cs->isModified(cdol[i]))
-// {
-// changeSummaryChange(cs,cdol[i]);
-// }
-// }
-//
-// changeSummaryFooter();
-//
-//}
-//
-///////////////////////////////////////////////////////////////////////////////
-/////end code for serialization...........
-///////////////////////////////////////////////////////////////////////////////
-//
-//
-
-
-bool sdotest::changeSummaryAttributes(ChangeSummaryPtr cs, DataObjectPtr dol)
-{
- bool onlySingle = true;
- SettingList& sl = cs->getOldValues(dol);
- if (sl.size() == 0)
- {
- return onlySingle;
- }
-
- for (int j=0;j< sl.size(); j++)
- {
- if (sl[j].getProperty().isMany())
- {
- onlySingle = false;
- continue;
- }
-
- cout << " " << sl[j].getProperty().getName() << "=\"";
-
- if (sl[j].getProperty().getType().isDataType())
- {
- changeSummarySetting(sl[j]);
- }
- else
- {
- DataObjectPtr dob = sl[j].getDataObjectValue();
- if (dob)
- {
- if (cs->isDeleted(dob))
- {
- cout << cs->getOldXpath(dob);
- }
- else
- {
- cout << dob->objectToXPath();
- }
- }
- }
- cout << "\" ";
- }
- return onlySingle;
-}
-
-
-void sdotest::changeSummarySetting(Setting& s)
-{
-
- switch (s.getProperty().getTypeEnum())
- {
- case Type::BooleanType:
- cout << s.getCStringValue();
- break;
- case Type::ByteType:
- cout << s.getByteValue();
- break;
- case Type::CharacterType:
- cout << s.getCharacterValue();
- break;
- case Type::IntegerType:
- cout << s.getIntegerValue();
- break;
- case Type::ShortType:
- cout << s.getShortValue();
- break;
- case Type::DoubleType:
- cout << s.getDoubleValue();
- break;
- case Type::FloatType:
- cout << s.getFloatValue();
- break;
- case Type::LongType:
- cout << s.getIntegerValue();
- break;
- case Type::DateType:
- cout << s.getDateValue().getTime();
- break;
- case Type::BigDecimalType:
- case Type::BigIntegerType:
- case Type::StringType:
- case Type::UriType:
- cout << s.getCStringValue();
- break;
- case Type::BytesType:
- cout << s.getCStringValue();
- break;
- default:
- break;
- } // switch
-}
-
-
-void sdotest::changeSummaryElements(int indent, ChangeSummaryPtr cs, DataObjectPtr dob)
-{
- SettingList& sl = cs->getOldValues(dob);
-
- if (sl.size() == 0)
- {
- // there are no setting for this element.
- return;
- }
-
- for (int j=0;j< sl.size(); j++)
- {
- // single values will have been covered by the attributes.
- if (!sl[j].getProperty().isMany()) continue;
-
- if (sl[j].getProperty().getType().isDataType())
- {
-
- // indent the line
- for (int k=0;k<indent;k++)cout << " ";
-
- cout << "<" << sl[j].getProperty().getName() << ">\"";
-
- changeSummarySetting(sl[j]);
-
- cout << "\"</" << sl[j].getProperty().getName() << ">" << endl;
- } // if datatype
- else
- {
- DataObjectPtr dob2 = sl[j].getDataObjectValue();
- if (!dob2)
- {
- return;
- }
- if (cs->isDeleted(dob2))
- {
- changeSummaryDeletedObject(indent,sl[j].getProperty().getName(), cs,dob2);
- }
- else
- {
- // indent the line
- for (int k=0;k<indent;k++)cout << " ";
- cout << "<" << sl[j].getProperty().getName();
- cout << " sdo:ref=\"" << dob2->objectToXPath() << "\"/>" << endl;
- }
- }
- } // for
-}
-
-
-
-void sdotest::changeSummaryDeletedObject(int indent, const char* name, ChangeSummaryPtr cs, DataObjectPtr dob)
-{
-
- bool elements = false; // are there any elements to process?
- int ind;
-
- // indent the line
- for (ind=0;ind<indent;ind++)cout << " ";
-
- cout << "<" << name;
-
- SettingList& sl = cs->getOldValues(dob);
-
- if (sl.size() == 0)
- {
- // there are no setting for this element.
- cout << "/>";
- return;
- }
-
- cout << " ";
-
- // print single valued datatypes as attributes
-
- for (int j=0;j< sl.size(); j++)
- {
- // single values will have been covered by the attributes.
- if ( sl[j].getProperty().isMany())
- {
- elements = true;
- continue;
- }
- if (!sl[j].getProperty().getType().isDataType())
- {
- elements = true;
- continue;
- }
-
- cout << sl[j].getProperty().getName() << "=\"";
-
- changeSummarySetting(sl[j]);
-
- cout << "\" ";
- } // for attributes
-
- if (!elements)
- {
- cout << "/>" << endl;
- return;
- }
-
- // now we are onto the many-values, and dataobject single values.
- for (int k=0;k< sl.size(); k++)
- {
- if ( !sl[k].getProperty().getType().isDataType())
- {
- // its a dataobject type
- DataObjectPtr dob2 = sl[k].getDataObjectValue();
- if (!dob2) continue;
- if (!cs->isDeleted(dob2)) continue;
- changeSummaryDeletedObject(indent+1,sl[k].getProperty().getName(),cs,dob2);
- }
- else
- {
- // could only be many valued data type
-
- for (ind=0;ind<indent;ind++)cout << " ";
- cout << "<" << sl[k].getProperty().getName() << ">\"";
-
- changeSummarySetting(sl[k]);
-
- cout << "</" << sl[k].getProperty().getName() << ">" << endl;
- }
- } // for attributes
-
- // indent the line
- for (ind=0;ind<indent;ind++)cout << " ";
- cout << "</" << name << ">" << endl;
-}
-
-
-
-void sdotest::changeSummaryHeader(ChangeSummaryPtr cs)
-{
- int i;
-
- ChangedDataObjectList& cdol = cs->getChangedDataObjects();
-
- cout << "<changeSummary ";
-
- if (cs->isLogging())
- {
- cout << " logging=\"true\" ";
- }
-
- cout << ">" << endl;
-
-
- for (i=0;i< cdol.size();i++)
- {
- if (cs->isCreated(cdol[i]) && cdol.getType(i) == ChangedDataObjectList::Change)
- {
- cout << " <create>";
- // TODO is there an IDREF for this created/deleted object?
- DataObject* temp = cdol[i];
- cout << ((DataObject*)temp)->objectToXPath();
- cout << "</create>" << endl;
- }
- if (cs->isDeleted(cdol[i]) && cdol.getType(i) == ChangedDataObjectList::Delete)
- {
- cout << " <delete>";
- // TODO is there an IDREF for this created/deleted object?
- const char* path = cs->getOldXpath(cdol[i]);
- if (path != 0)
- {
- cout << path;
- }
- cout << "</delete>" << endl;
- }
- }
-}
-
-void sdotest::changeSummaryFooter()
-{
- cout << "</changeSummary>" << endl;
-}
-
-
-void sdotest::changeSummaryChange(int level, ChangeSummaryPtr cs, DataObjectPtr dob)
-{
- DataObject* temp = dob;
-
- // indent by level.
- for (int l=0;l<level;l++)cout << " ";
-
- cout << "<";
-
- try
- {
- cout << temp->getContainmentProperty().getName();
- }
- catch (SDORuntimeException e)
- {
- // the object which was changed has no name,
- // so its the root object of a data object tree.
- cout << "root";
- }
-
- cout << " ";
-
- try
- {
- cout << "sdo:ref=\"" << temp->objectToXPath() << "\" ";
- }
- catch (SDORuntimeException e)
- {
- // TODO there was no xpath - thats not good
- }
-
- // returns true if there were only single values - attributes only.
- if (changeSummaryAttributes(cs, temp))
- {
- cout << "/>" << endl;
- return;
- }
-
- // there are some elements
- cout << ">" << endl;
-
-
- changeSummaryElements(level+1, cs, temp);
-
-
- // indent by level.
-
- for (int m=0;m<level;m++)cout << " ";
- cout << "</";
-
- try
- {
- cout << temp->getContainmentProperty().getName();
- }
- catch (SDORuntimeException e)
- {
- // the object which was changed has no name,
- // so its the root object of a data object tree.
- cout << "root";
- }
-
- cout << ">" << endl;
-
-}
-
-
-
-void sdotest::serializeChangeSummary(ChangeSummaryPtr cs)
-{
- changeSummaryHeader(cs);
-
- ChangedDataObjectList& cdol = cs->getChangedDataObjects();
-
- for (int i=0;i< cdol.size();i++)
- {
- if (cs->isModified(cdol[i]))
- {
- changeSummaryChange(1, cs,cdol[i]);
- }
- }
-
- changeSummaryFooter();
-}
-
-
-void sdotest::cssave()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("company.xsd");
-
- //mdg->addType("companyNS","CompanyType");
- //mdg->addType("companyNS","EmployeeType");
- //mdg->addType("companyNS","DepartmentType");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& tdept = mdg->getType("companyNS","DepartmentType");
- const Type& temp = mdg->getType("companyNS","EmployeeType");
-
-
- //mdg->addPropertyToType(tcomp,"name",tstring);
- // not containment...
- //mdg->addPropertyToType(tcomp,"employeeOfTheMonth",temp, false,false,false);
- //mdg->addPropertyToType(tcomp,"departments",tdept, true);
- //mdg->addPropertyToType(tcomp,"cs",tcs);
-
- //mdg->addPropertyToType(tdept,"name",tstring);
- //mdg->addPropertyToType(tdept,"location",tstring);
- //mdg->addPropertyToType(tdept,"number",tstring);
- //mdg->addPropertyToType(tdept,"employees",temp,true);
-
- //mdg->addPropertyToType(temp, "name",tstring);
- //mdg->addPropertyToType(temp, "SN", tstring);
- //mdg->addPropertyToType(temp, "manager", tbool);
-
-
- // create a graph, then save it
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","ACME");
-
- DataObjectPtr dept = mdg->create((Type&)tdept);
- DataObjectList& dol = comp->getList("departments");
- dol.append(dept);
-
- dept->setCString("name","Advanced Technologies");
- dept->setCString("location","NY");
- dept->setCString("number","123");
-
- DataObjectPtr emp1 = mdg->create(temp);
- DataObjectPtr emp2 = mdg->create(temp);
- DataObjectPtr emp3 = mdg->create(temp);
-
- emp1->setCString("name","John Jones");
- emp1->setCString("SN","E0001");
-
- emp2->setCString("name","Mary Smith");
- emp2->setCString("SN","E0002");
- emp2->setBoolean("manager",true);
-
- emp3->setCString("name","Jane Doe");
- emp3->setCString("SN","E0003");
-
- DataObjectList& dol2 = dept->getList("employees");
- dol2.append(emp1);
- dol2.append(emp2);
- dol2.append(emp3);
-
- comp->setDataObject("employeeOfTheMonth",emp2);
-
- ChangeSummaryPtr cs = comp->getChangeSummary();
-
- cs->beginLogging();
-
- DataObjectPtr emp4 = mdg->create(temp);
- emp4->setCString("name","Al Smith");
- emp4->setCString("SN","E0004");
- emp4->setBoolean("manager",true);
-
- // first change - create employee 4
- dol2.append(emp4);
-
- dol2.remove(1); // element 1 is Mary
-
- DataObjectPtr emp5 = mdg->create(temp);
- emp5->setCString("name","Bill Withers");
- emp5->setCString("SN","E0005");
-
- dol2.append(emp5);
-
-
- comp->setCString("name","MegaCorp");
- comp->setDataObject("employeeOfTheMonth",emp4);
-
- // silly test - add mary back again
- dol2.append(emp2);
-
- // and why not delete her again?
- //dol2.remove(4);
-
-
-
- cs->endLogging();
-
- //serializeChangeSummary(cs);
-
- XMLHelperPtr xmh = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr doc = xmh->createDocument(comp,"companyNS","company");
- xmh->save(doc,"cssave-output.xml");
- }
- catch (SDORuntimeException e)
- {
- cout << "CSSAVE FAILED" << e << endl;
- }
-}
-
-void sdotest::cssave2()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("company.xsd");
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& tdept = mdg->getType("companyNS","DepartmentType");
- const Type& temp = mdg->getType("companyNS","EmployeeType");
-
-
- // create a graph, then save it
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","Eastleigh Borough Council");
-
- DataObjectPtr dept = mdg->create((Type&)tdept);
- DataObjectList& dol = comp->getList("departments");
- dol.append(dept);
-
- dept->setCString("name","Waste Disposal");
- dept->setCString("location","Botley");
- dept->setCString("number","123");
-
- DataObjectPtr emp1 = mdg->create(temp);
- DataObjectPtr emp2 = mdg->create(temp);
- DataObjectPtr emp3 = mdg->create(temp);
- DataObjectPtr emp4 = mdg->create(temp);
- DataObjectPtr emp5 = mdg->create(temp);
-
- emp1->setCString("name","Alphonse Dodet");
- emp1->setCString("SN","E0001");
-
- emp2->setCString("name","Bridget Jones");
- emp2->setCString("SN","E0002");
- emp2->setBoolean("manager",true);
-
- emp3->setCString("name","Colin Thorne");
- emp3->setCString("SN","E0003");
-
- emp4->setCString("name","Donald Trump");
- emp4->setCString("SN","E0004");
-
- emp5->setCString("name","Eddy the eagle");
- emp5->setCString("SN","E0005");
-
- DataObjectList& dol2 = dept->getList("employees");
- dol2.append(emp1);
- dol2.append(emp2);
- dol2.append(emp3);
- dol2.append(emp4);
- dol2.append(emp5);
-
- //comp->setDataObject("employeeOfTheMonth",emp2);
-
- DataObjectPtr dept2 = mdg->create((Type&)tdept);
- dol.append(dept2);
-
- dept2->setCString("name","Tax Collection");
- dept2->setCString("location","Winchester");
- dept2->setCString("number","666");
-
- DataObjectPtr empb1 = mdg->create(temp);
- DataObjectPtr empb2 = mdg->create(temp);
- DataObjectPtr empb3 = mdg->create(temp);
- DataObjectPtr empb4 = mdg->create(temp);
- DataObjectPtr empb5 = mdg->create(temp);
-
- empb1->setCString("name","Arch Meanie");
- empb1->setCString("SN","D0001");
-
- empb2->setCString("name","Boris the Spider");
- empb2->setCString("SN","D0002");
- empb2->setBoolean("manager",true);
-
- empb3->setCString("name","Cash Hoarder");
- empb3->setCString("SN","D0003");
-
- empb4->setCString("name","Dean Giyatoss");
- empb4->setCString("SN","D0004");
-
- empb5->setCString("name","Ebenezer Scrooge");
- empb5->setCString("SN","D0005");
-
- DataObjectList& dol3 = dept2->getList("employees");
- dol3.append(empb1);
- dol3.append(empb2);
- dol3.append(empb3);
- dol3.append(empb4);
- dol3.append(empb5);
-
- ChangeSummaryPtr cs = comp->getChangeSummary();
-
- cs->beginLogging();
-
- // start by deleting a few employees from dept 1
-
- dol2.remove(1); // B
- dol2.remove(1); // C
- dol2.remove(1); // D
-
- // Now delete the tax collectors as a whole
-
- dol.remove(1);
-
- // now perhaps add back one of the employees
-
- dol2.append(emp3); // C
-
- comp->setCString("name","MegaCorp");
-
- try {
- comp->setDataObject("employeeOfTheMonth",emp4);
- cout << "THIS ISNT RIGHT - emp4 was nolt in the tree" << endl;
- }
- catch (SDORuntimeException e)
- {
- }
-
- comp->setDataObject("employeeOfTheMonth",emp5);
-
- cs->endLogging();
-
-
- XMLHelperPtr xmh = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr doc = xmh->createDocument(comp,"companyNS","company");
- xmh->save(doc,"cssave2-output.xml");
- }
- catch (SDORuntimeException e)
- {
- cout << "CSSAVE FAILED" << e << endl;
- }
-}
-
-void sdotest::bug45933()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
-
- mdg->addType("companyNS","CompanyType");
- mdg->addType("companyNS","WombatType");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& twom = mdg->getType("companyNS","WombatType");
-
-
- mdg->addPropertyToType(tcomp,"name",tstring);
- mdg->addPropertyToType(tcomp,"bools",tbool, true);
- mdg->addPropertyToType(tcomp,"woms",twom, true);
- mdg->addPropertyToType(tcomp,"cs",tcs);
-
-
- // create a graph, then save it
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","Bug45933");
-
- ChangeSummaryPtr cs = comp->getChangeSummary();
-
- cs->beginLogging();
-
- DataObjectList& dol = comp->getList("bools");
- dol.append(false);
- dol.remove(0);
- DataObjectPtr awom = mdg->create((Type&)twom);
- DataObjectList& dol2 = comp->getList("woms");
- dol2.append(awom);
- dol2.remove(0);
-
- cs->endLogging();
-
- dumpchangesummary(cs);
-
- XMLHelperPtr xmh = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr doc = xmh->createDocument(comp,"companyNS","company");
- xmh->save(doc,"bug45933-output.xml");
- }
- catch (SDORuntimeException e)
- {
- cout << "BUG45933 FAILED" << endl << e << endl;
- }
-}
-
-void sdotest::b46617()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- //XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- //xsh->defineFile("b46617.xsd");
- mdg->addType("companyNS","CompanyType");
- mdg->addType("companyNS","DepartmentType");
- mdg->addType("companyNS","EmployeeType");
-
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& tdept = mdg->getType("companyNS","DepartmentType");
- const Type& temp = mdg->getType("companyNS","EmployeeType");
-
- mdg->addPropertyToType(tcomp,"name",tstring);
- mdg->addPropertyToType(tcomp,"departments",tdept,true,false,true);
- mdg->addPropertyToType(tcomp,"employeeOfTheMonth",temp,false,false,false);
- mdg->addPropertyToType(tcomp,"CEO",temp,false,false,true);
-
- mdg->addPropertyToType(tdept,"employees",temp,true,false,true);
- mdg->addPropertyToType(tdept,"name",tstring,false,false,true);
- mdg->addPropertyToType(tdept,"location",tstring,false,false,true);
- mdg->addPropertyToType(tdept,"number",tstring,false,false,true);
-
- mdg->addPropertyToType(temp,"name",tstring,false,false,true);
- mdg->addPropertyToType(temp,"SN",tstring,false,false,true);
- mdg->addPropertyToType(temp,"manager",tbool,false,false,true);
-
- // create a graph, then save it
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","Eastleigh Borough Council");
-
- DataObjectPtr dept = mdg->create((Type&)tdept);
- DataObjectList& dol = comp->getList("departments");
- dol.append(dept);
-
- dept->setCString("name","Waste Disposal");
- dept->setCString("location","Botley");
- dept->setCString("number","123");
-
- DataObjectPtr emp1 = mdg->create(temp);
- DataObjectPtr emp2 = mdg->create(temp);
- DataObjectPtr emp3 = mdg->create(temp);
-
- emp1->setCString("name","Alphonse Dodet");
- emp1->setCString("SN","E0001");
-
- emp2->setCString("name","Bridget Jones");
- emp2->setCString("SN","E0002");
- emp2->setBoolean("manager",true);
-
- emp3->setCString("name","Carl Marx");
- emp3->setCString("SN","E0003");
-
- comp->setDataObject("CEO",emp2);
-
- DataObjectList& dol2 = dept->getList("employees");
- dol2.append(emp1);
- //dol2.append(emp2);
- dol2.append(emp3);
-
- comp->setDataObject("employeeOfTheMonth",emp2);
-
- XSDHelperPtr xmd = HelperProvider::getXSDHelper(mdg);
- xmd->generateFile(mdg->getTypes(),
- "b46617.xsd","companyNS");
-
-
- XMLHelperPtr xmh = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr doc = xmh->createDocument(comp,"companyNS","company");
- xmh->save(doc,"b46617.xml");
-
- // now try loading the xml, using the same schema, and see if we get the
- // same answer
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("b46617.xml", "companyNS");
- DataObjectPtr newdob = myXMLDocument->getRootDataObject();
-
- cout << "EOMS name is "
- << newdob->getDataObject("employeeOfTheMonth")->getCString("name")
- << endl;
-
-
- }
- catch (SDORuntimeException e)
- {
- cout << "b46617 failed" << e << endl;
- }
-}
-
-void sdotest::b46617b()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("b46617b.xsd");
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("b46617b.xml", "companyNS");
- DataObjectPtr newdob = myXMLDocument->getRootDataObject();
-
- cout << "EOMS name is "
- << newdob->getDataObject("employeeOfTheMonth")->getCString("name")
- << endl;
-
-
- }
- catch (SDORuntimeException e)
- {
- cout << "b46617b failed" << e << endl;
- }
-}
-
-void sdotest::notfound()
-{
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- try {
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("not_present.xsd");
- }
- catch (SDOFileNotFoundException e)
- {
- cout << "NotFound threw correct exception " << endl;
- }
-
- catch (SDORuntimeException e)
- {
- cout << "NOTFOUND THREW THE WRONG EXCEPTION" << e << endl;
- }
-
- try {
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("not-present.xml", "companyNS");
-
- }
- catch (SDOFileNotFoundException ee)
- {
- cout << "NotFound threw the correct exception" << endl;
- }
-
- catch (SDORuntimeException e)
- {
- cout << "NOTFOUND THREW THE WRONG EXCEPTION" << e << endl;
- }
-}
-
-void sdotest::csload()
-{
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("company.xsd");
-
- cout << "TYPES LOADED FROM COMPANY XSD" << endl;
-
- TypeList tl = mdg->getTypes();
- for (int i=0;i< tl.size(); i++)
- {
- cout << tl[i].getURI() << ":" << tl[i].getName() << endl;
- }
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("cssave-output.xml", "companyNS");
- //myXMLDocument->setRootElementName("company");
- //myXMLHelper->save(myXMLDocument,"csload-output.xml");
- myXMLHelper->save(myXMLDocument->getRootDataObject(),
- 0, "company", "csload-output.xml");
- }
- catch (SDORuntimeException e)
- {
- cout << "CSLOAD FAILED" << e << endl;
- }
-
-}
-
-void sdotest::testsubsload()
-{
- cout << "TEST: TestSubsLoad ==========================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("companysubs.xsd");
-
- //cout << "TYPES LOADED FROM COMPANYSUBS XSD" << endl;
-
- //TypeList tl = mdg->getTypes();
- //for (int i=0;i< tl.size(); i++)
- //{
- // cout << tl[i].getURI() << ":" << tl[i].getName() << endl;
- //}
-
- // so now we should be able to put book or a magazine into
- // the publication under company...
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& book = mdg->getType("companyNS","BookType");
- const Type& mag = mdg->getType("companyNS","MagazineType");
- const Type& pub = mdg->getType("companyNS","PublicationType");
-
-
- // create a graph, then save it
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","Puflet Publishing");
-
-
- DataObjectPtr book1 = mdg->create(book);
- book1->setCString("author","Mr P B Writer");
- // inherted from publication
- book1->setCString("title","Nowhere Man");
-
- DataObjectPtr mag1 = mdg->create(mag);
- mag1->setCString("editor","Mr B Picky");
- // inherited from publication
- mag1->setCString("title","Bionicle Weekly");
-
- DataObjectPtr pub1 = mdg->create(pub);
- pub1->setCString("title","Noddy In Toyland");
-
-
- // publication should accept any of them...
-
- comp->setDataObject("Publication",pub1);
- const Type& tpub1 = comp->getDataObject("Publication")->getType();
- cout << "Publication is of type " << tpub1.getName() << endl;
-
- comp->setDataObject("Publication",book1);
- const Type& tpub2 = comp->getDataObject("Publication")->getType();
- cout << "Publication is of type " << tpub2.getName() << endl;
-
- comp->setDataObject("Publication",mag1);
- const Type& tpub3 = comp->getDataObject("Publication")->getType();
- cout << "Publication is of type " << tpub3.getName() << endl;
-
- // should be able to address publication as book or magazine
-
- comp->setDataObject("Book",book1);
- const Type& tpub4 = comp->getDataObject("Book")->getType();
- cout << "Book is of type " << tpub4.getName() << endl;
-
- comp->setDataObject("Magazine",mag1);
- const Type& tpub5 = comp->getDataObject("Magazine")->getType();
- cout << "Magazine is of type " << tpub5.getName() << endl;
-
- }
- catch (SDORuntimeException e)
- {
- cout << "ERROR in TeseSubsLoad" << e << endl;
- }
- cout << "END TEST: TestSubsLoad ======================================" << endl;
-}
-
-void sdotest::testSCA()
-{
- cout << "TEST: TestSCA ==========================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("sca.xsd");
-
- }
- catch (SDORuntimeException e)
- {
- cout << "ERROR in TeseSCA" << e << endl;
- }
- cout << "END TEST: TestSCA ======================================" << endl;
-}
-
-void sdotest::testabstract()
-{
- cout << "TEST: TestAbstract ==========================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("companyabs.xsd");
-
- //cout << "TYPES LOADED FROM COMPANYABS XSD" << endl;
-
- //TypeList tl = mdg->getTypes();
- //for (int i=0;i< tl.size(); i++)
- //{
- // cout << tl[i].getURI() << ":" << tl[i].getName() << endl;
- //}
-
- // so now we should be able to put book or a magazine into
- // the publication under company...
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& book = mdg->getType("companyNS","BookType");
- const Type& mag = mdg->getType("companyNS","MagazineType");
- const Type& pub = mdg->getType("companyNS","PublicationType");
-
-
- // create a graph, then save it
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","Puflet Publishing");
-
- // should be allowed...
- DataObjectPtr book1 = mdg->create(book);
- book1->setCString("author","Mr P B Writer");
- // inherted from publication
- book1->setCString("title","Nowhere Man");
-
- DataObjectPtr mag1 = mdg->create(mag);
- mag1->setCString("editor","Mr B Picky");
- // inherited from publication
- mag1->setCString("title","Bionicle Weekly");
-
- try {
- DataObjectPtr pub1 = mdg->create(pub);
- pub1->setCString("title","Noddy In Toyland");
- }
- catch (SDOUnsupportedOperationException e)
- {
- cout << "Normal unsupportedoperation for creation of abstract type" << endl;
- }
-
-
- // publication should accept books and magazines...
-
- comp->setDataObject("Publication",book1);
- const Type& tpub2 = comp->getDataObject("Publication")->getType();
- cout << "Publication is of type " << tpub2.getName() << endl;
-
- comp->setDataObject("Publication",mag1);
- const Type& tpub3 = comp->getDataObject("Publication")->getType();
- cout << "Publication is of type " << tpub3.getName() << endl;
-
- // should be able to address publication as book or magazine
-
- comp->setDataObject("Book",book1);
- const Type& tpub4 = comp->getDataObject("Book")->getType();
- cout << "Book is of type " << tpub4.getName() << endl;
-
- comp->setDataObject("Magazine",mag1);
- const Type& tpub5 = comp->getDataObject("Magazine")->getType();
- cout << "Magazine is of type " << tpub5.getName() << endl;
-
- }
- catch (SDORuntimeException e)
- {
- cout << "ERROR in TestAbstract" << e << endl;
- }
- cout << "END TEST: TestAbstract ======================================" << endl;
-}
-
-void sdotest::testOpen()
-{
- cout << "TEST: TestOpen ==========================================" << endl;
- //try
- //{
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
-
- mdg->addType("companyNS","CompanyType");
- // employee will be an open type...
- mdg->addType("companyNS","EmployeeType", /*seq*/false,
- /*open*/true,
- /*abs */ false,
- /*data*/ false);
-
- mdg->addType("companyNS","DepartmentType");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& tdept = mdg->getType("companyNS","DepartmentType");
- const Type& temp = mdg->getType("companyNS","EmployeeType");
-
-
- mdg->addPropertyToType(tcomp,"name",tstring);
- // not containment...
- mdg->addPropertyToType(tcomp,"employeeOfTheMonth",temp, false,false,false);
- mdg->addPropertyToType(tcomp,"departments",tdept, true);
- mdg->addPropertyToType(tcomp,"cs",tcs);
-
- mdg->addPropertyToType(tdept,"name",tstring);
- mdg->addPropertyToType(tdept,"location",tstring);
- mdg->addPropertyToType(tdept,"number",tstring);
- mdg->addPropertyToType(tdept,"employees",temp,true);
-
- mdg->addPropertyToType(temp, "name",tstring);
- mdg->addPropertyToType(temp, "SN", tstring);
- mdg->addPropertyToType(temp, "manager", tbool);
-
-
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","ACME");
-
- DataObjectPtr dept = mdg->create((Type&)tdept);
- DataObjectList& dol = comp->getList("departments");
- dol.append(dept);
-
- dept->setCString("name","Advanced Technologies");
- dept->setCString("location","NY");
- dept->setCString("number","123");
-
- DataObjectPtr emp1 = mdg->create(temp);
- DataObjectPtr emp2 = mdg->create(temp);
- DataObjectPtr emp3 = mdg->create(temp);
-
- emp1->setCString("name","Albert");
- emp1->setCString("SN","E0001");
-
- emp2->setCString("name","Boris");
- emp2->setCString("SN","E0002");
- emp2->setBoolean("manager",true);
-
- emp3->setCString("name","Carl");
- emp3->setCString("SN","E0003");
-
- // now we should be able to add extra properties to employees,
- // and get them back again...
-
-
- emp1->setCString("openstring","Value Of Open String");
- emp1->setBoolean("openboolean",true);
-
- const char* c = emp1->getCString("openstring");
-
- cout << "Open Type string value: " << c << endl;
-
- bool b = emp1->getBoolean("openboolean");
-
- cout << "Open Type boolean value: " << b << endl;
-
- // unknown list type at present..
- DataObjectList& dl = emp1->getList("opentypelist");
-
- int i = 45;
- dl.append((short)i); // now the list must be primitive
-
- // we should now have instance properties
- PropertyList pl = emp1->getType().getProperties();
-
- for (i=0;i<pl.size();i++)
- {
- cout << "EMP1 type property: " << pl[i].getName() << "( many? " <<
- pl[i].isMany() << ")" << " of type " <<
- pl[i].getType().getName() << endl;
- }
-
- PropertyList pli = emp1->getInstanceProperties();
-
- for (i=0;i<pli.size();i++)
- {
- cout << "EMP1 inst property: " << pli[i].getName() << "( many? " <<
- pli[i].isMany() << ")" << " of type " <<
- pli[i].getType().getName() << endl;
- }
-
- // now unset them and see them disappear - what happens to the indices?
-
- emp1->unset("openstring");
-
- PropertyList plk = emp1->getInstanceProperties();
-
- for (i=0;i<plk.size();i++)
- {
- cout << "EMP1 inst property: " << plk[i].getName() << "( many? " <<
- plk[i].isMany() << ")" << " of type " <<
- plk[i].getType().getName() << endl;
- }
-
- emp1->unset("openboolean");
-
- dl.remove(0); // so is this list gone, or empty - I vote for still there.
-
- PropertyList pll = emp1->getInstanceProperties();
- for (i=0;i<pll.size();i++)
- {
- cout << "EMP1 inst property: " << pll[i].getName() << "( many? " <<
- pll[i].isMany() << ")" << " of type " <<
- pll[i].getType().getName() << endl;
- }
-
- emp1->unset("opentypelist");
-
- // now I vote for gone...
-
- PropertyList plm = emp1->getInstanceProperties();
- for (i=0;i<plm.size();i++)
- {
- cout << "EMP1 inst property: " << plm[i].getName() << "( many? " <<
- plm[i].isMany() << ")" << " of type " <<
- plm[i].getType().getName() << endl;
- }
-
- //}
- //catch (SDORuntimeException e)
- //{
- // cout << "ERROR in TestOpen" << e << endl;
- //}
- cout << "END TEST: TestOpen ======================================" << endl;
-}
-
-void sdotest::saveOpen()
-{
- cout << "TEST: SaveOpen ==========================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
-
- mdg->addType("companyNS","CompanyType");
- // employee will be an open type...
- mdg->addType("companyNS","EmployeeType", /*seq*/false,
- /*open*/true,
- /*abs */ false,
- /*data*/ false);
-
- mdg->addType("companyNS","DepartmentType");
-
- mdg->addType("companyNS","OpenType");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& tdept = mdg->getType("companyNS","DepartmentType");
- const Type& temp = mdg->getType("companyNS","EmployeeType");
- const Type& topen = mdg->getType("companyNS","OpenType");
-
-
- mdg->addPropertyToType(tcomp,"name",tstring);
- // not containment...
- mdg->addPropertyToType(tcomp,"employeeOfTheMonth",temp, false,false,false);
- mdg->addPropertyToType(tcomp,"departments",tdept, true);
- mdg->addPropertyToType(tcomp,"cs",tcs);
-
- mdg->addPropertyToType(tdept,"name",tstring);
- mdg->addPropertyToType(tdept,"location",tstring);
- mdg->addPropertyToType(tdept,"number",tstring);
- mdg->addPropertyToType(tdept,"employees",temp,true);
-
- mdg->addPropertyToType(temp, "name",tstring);
- mdg->addPropertyToType(temp, "SN", tstring);
- mdg->addPropertyToType(temp, "manager", tbool);
-
- mdg->setAlias("companyNS","CompanyType","TheFirm");
- mdg->setAlias("companyNS","CompanyType","departments","TheDepartments");
- mdg->setAlias("companyNS","CompanyType","departments","MYDepartments");
- mdg->setAlias("companyNS","CompanyType","TheBigFirm");
-
- mdg->addPropertyToType(topen,"name",tstring);
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","ACME");
-
- DataObjectPtr dept = mdg->create((Type&)tdept);
- DataObjectList& dol = comp->getList("departments");
- dol.append(dept);
-
- ChangeSummaryPtr cs = comp->getChangeSummary();
-
- cs->beginLogging();
-
- dept->setCString("name","Advanced Technologies");
- dept->setCString("location","NY");
- dept->setCString("number","123");
-
- DataObjectList& emps = dept->getList("employees");
-
- DataObjectPtr emp1 = mdg->create(temp);
- DataObjectPtr emp2 = mdg->create(temp);
- DataObjectPtr emp3 = mdg->create(temp);
-
- emps.append(emp1);
- emps.append(emp2);
- emps.append(emp3);
-
- emp1->setCString("name","Albert");
- emp1->setCString("SN","E0001");
-
- emp2->setCString("name","Boris");
- emp2->setCString("SN","E0002");
- emp2->setBoolean("manager",true);
-
- emp3->setCString("name","Carl");
- emp3->setCString("SN","E0003");
-
- // now we should be able to add extra properties to employees,
- // and get them back again...
-
-
- emp1->setCString("openstring","Value Of Open String");
- emp1->setBoolean("openboolean",true);
-
- const char* c = emp1->getCString("openstring");
-
- cout << "Open Type string value: " << c << endl;
-
- bool b = emp1->getBoolean("openboolean");
-
- cout << "Open Type boolean value: " << b << endl;
-
- // unknown list type at present..
- DataObjectList& dl = emp1->getList("openintlist");
-
- int i = 45;
- dl.append((short)i); // now the list must be primitive and short!!
-
- // unknown list type at present..
- DataObjectList& dl2 = emp1->getList("opendataobjectlist");
-
- DataObjectPtr myopen = mdg->create("companyNS","OpenType");
- myopen->setCString("name","MyOpenName");
- dl2.append(myopen); // now the list must be of data objects
-
-
- // now a single valued data object - should have an xsi:type
- emp1->setDataObject("opendataobject", myopen);
-
-
- cs->endLogging();
-
- dumpchangesummary(cs);
-
- XSDHelperPtr xdh = HelperProvider::getXSDHelper(mdg);
-
- xdh->generateFile(mdg->getTypes(),
- "saveopen-output.xsd","companyNS");
-
- XMLHelperPtr xmh = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr doc = xmh->createDocument(comp,"companyNS","company");
- xmh->save(doc,"saveopen-output.xml");
-
- }
- catch (SDORuntimeException e)
- {
- cout << "ERROR in SaveOpen" << e << endl;
- }
- cout << "END TEST: SaveOpen ======================================" << endl;
-}
-
-void sdotest::loadOpen()
-{
- cout << "TEST: LoadOpen ==========================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("saveopen-output.xsd");
-
-
- //cout << "TYPES LOADED FROM COMPANY XSD" << endl;
- //int i;
- //TypeList tl = mdg->getTypes();
- //for (i=0;i< tl.size(); i++)
- //{
- // cout << tl[i].getURI() << ":" << tl[i].getName() << endl;
- //}
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
-
-
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("partial.xml", "companyNS");
-
-
-
- // so, we now expect that the openboolean and openstring props will
- // be of type boolean and Bytes, and the openlist will be a list of integers.
- // The dataobjectlist an dataobject will be of the correct OpenType
-
- // we need a test for data objects, and that we are writing out xsi:type
- // correctly.
- DataObjectPtr comp = myXMLDocument->getRootDataObject();
- DataObjectList& dl = comp->getList("departments");
- DataObjectPtr dept = dl[0];
- DataObjectList& dl2 = dept->getList("employees");
- DataObjectPtr emp = dl2[0];
-
- if (strcmp(emp->getProperty("openboolean").getType().getName(),
- "Boolean"))
- {
- cout << "OpenLoad failure - bool property not boolean" << endl;
-
- }
- if (emp->getBoolean("openboolean") != true)
- {
- cout << "OpenLoad failure - bool property not true" << endl;
- }
-
- if (strcmp(emp->getProperty("openstring").getType().getName(),
- "Bytes"))
- {
- cout << "OpenLoad failure - bytes property not bytes" << endl;
-
- }
- if (strcmp(emp->getCString("openstring"),"Value Of Open String"))
- {
- cout << "OpenLoad failure - string value is" <<
- emp->getCString("openstring") << endl;
- }
-
-
- DataObjectList& dl3 = emp->getList("openintlist");
-
- if (strcmp(emp->getProperty("openintlist").getType().getName(),
- "Short"))
- {
- cout << "OpenLoad failure - IntegerList not Short " <<
- emp->getProperty("openintlist").getType().getName() << endl;
- }
-
- if (dl3.getInteger(0) != 45)
- {
- cout << "OpenLoad failure - Integer value is" <<
- dl.getInteger(0) << endl;
- }
-
- if (strcmp(emp->getProperty("opendataobjectlist").getType().getName(),
- "OpenType"))
- {
- cout << "OpenLoad failure - OpenTypeList not OpenType" << endl;
- }
-
- DataObjectList& dl4 = emp->getList("opendataobjectlist");
-
- if (strcmp(dl4[0]->getCString("name"),"MyOpenName"))
- {
- cout << "OpenLoad failure - list element name is " <<
- dl4[0]->getCString("name") << endl;
- }
-
- if (strcmp(emp->getProperty("opendataobject").getType().getName(),
- "OpenType"))
- {
- cout << "OpenLoad failure - OpenType not OpenType" << endl;
- }
-
- DataObjectPtr dob2 = emp->getDataObject("opendataobject");
-
- if (strcmp(dob2->getCString("name"),"MyOpenName"))
- {
- cout << "OpenLoad failure - open value name is " <<
- dob2->getCString("name") << endl;
- }
-
-
- myXMLHelper->save(myXMLDocument->getRootDataObject(),
- 0, "company", "loadload-output.xml");
-
-
- }
- catch (SDORuntimeException e)
- {
- cout << "LoadOpen FAILED" << e << endl;
- }
-
-}
-
-void sdotest::loadOpenNS()
-{
- cout << "TEST: LoadOpenNS ==========================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("openloadNS.xsd");
- xsh->defineFile("openloadNS2.xsd");
-
-
- //cout << "TYPES LOADED FROM COMPANY XSD" << endl;
- //int i;
- //TypeList tl = mdg->getTypes();
- //for (i=0;i< tl.size(); i++)
- //{
- // cout << tl[i].getURI() << ":" << tl[i].getName() << endl;
- //}
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
-
-
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("openloadNS.xml", "companyNS");
-
-
-
- // so, we now expect that the openboolean and openstring props will
- // be of type boolean and Bytes, and the openlist will be a list of integers.
- // The dataobjectlist an dataobject will be of the correct OpenType
-
- // we need a test for data objects, and that we are writing out xsi:type
- // correctly.
- DataObjectPtr comp = myXMLDocument->getRootDataObject();
- DataObjectList& dl = comp->getList("departments");
- DataObjectPtr dept = dl[0];
- DataObjectList& dl2 = dept->getList("employees");
- DataObjectPtr emp = dl2[0];
-
- if (strcmp(emp->getProperty("openboolean").getType().getName(),
- "Boolean"))
- {
- cout << "OpenLoadNS failure - bool property not boolean" << endl;
-
- }
- if (emp->getBoolean("openboolean") != true)
- {
- cout << "OpenLoadNS failure - bool property not true" << endl;
- }
-
- if (strcmp(emp->getProperty("openstring").getType().getName(),
- "Bytes"))
- {
- cout << "OpenLoadNS failure - bytes property not bytes" << endl;
-
- }
- if (strcmp(emp->getCString("openstring"),"Value Of Open String"))
- {
- cout << "OpenLoadNS failure - string value is" <<
- emp->getCString("openstring") << endl;
- }
-
-
- DataObjectList& dl3 = emp->getList("openintlist");
-
- if (strcmp(emp->getProperty("openintlist").getType().getName(),
- "Short"))
- {
- cout << "OpenLoadNS failure - IntegerList not Short " <<
- emp->getProperty("openintlist").getType().getName() << endl;
- }
-
- if (dl3.getInteger(0) != 45)
- {
- cout << "OpenLoadNS failure - Integer value is" <<
- dl.getInteger(0) << endl;
- }
-
-
-
- myXMLHelper->save(myXMLDocument->getRootDataObject(),
- 0, "company", "openloadNSout.xml");
-
-
- // now try exactly the same, but with NS which doesnt exist
- XMLDocumentPtr myXMLDocument2 = myXMLHelper->loadFile("openloadNS2.xml", "companyNS");
-
-
-
- // so, we now expect that the openboolean and openstring props will
- // be of type boolean and Bytes, and the openlist will be a list of integers.
- // The dataobjectlist an dataobject will be of the correct OpenType
-
- // we need a test for data objects, and that we are writing out xsi:type
- // correctly.
- DataObjectPtr comp2 = myXMLDocument2->getRootDataObject();
- DataObjectList& dld = comp2->getList("departments");
- DataObjectPtr dept2 = dld[0];
- DataObjectList& dl22 = dept2->getList("employees");
- DataObjectPtr emp2 = dl22[0];
-
- if (strcmp(emp2->getProperty("openboolean").getType().getName(),
- "Bytes"))
- {
- cout << "OpenLoadNS2 failure - bool property not bytes" << endl;
-
- }
- if (emp2->getBoolean("openboolean") != true)
- {
- cout << "OpenLoadNS2 failure - bool property not true" << endl;
- }
-
- if (strcmp(emp2->getProperty("openstring").getType().getName(),
- "Bytes"))
- {
- cout << "OpenLoadNS2 failure - bytes property not bytes" << endl;
-
- }
- if (strcmp(emp2->getCString("openstring"),"Value Of Open String"))
- {
- cout << "OpenLoadNS failure - string value is" <<
- emp2->getCString("openstring") << endl;
- }
-
-
- DataObjectList& dl32 = emp2->getList("openintlist");
-
- if (strcmp(emp2->getProperty("openintlist").getType().getName(),
- "Bytes"))
- {
- cout << "OpenLoadNS2 failure - IntegerList not Bytes " <<
- emp2->getProperty("openintlist").getType().getName() << endl;
- }
-
- if (dl32.getInteger(0) != 45)
- {
- cout << "OpenLoadNS2 failure - Integer value is" <<
- dl32.getInteger(0) << endl;
- }
-
-
- }
- catch (SDORuntimeException e)
- {
- cout << "LoadOpenNS FAILED" << e << endl;
- }
-
-}
-
-void sdotest::loadManyOpen()
-{
- cout << "TEST: LoadManyOpen ==========================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("many.xsd");
-
-
- //cout << "TYPES LOADED FROM COMPANY XSD" << endl;
- //int i;
- //TypeList tl = mdg->getTypes();
- //for (i=0;i< tl.size(); i++)
- //{
- // cout << tl[i].getURI() << ":" << tl[i].getName() << endl;
- //}
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
-
-
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("many.xml", "companyNS");
-
-
-
- // so, we now expect that the openboolean and openstring props will
- // be of type boolean and Bytes, and the openlist will be a list of integers.
- // The dataobjectlist an dataobject will be of the correct OpenType
-
- // we need a test for data objects, and that we are writing out xsi:type
- // correctly.
- DataObjectPtr comp = myXMLDocument->getRootDataObject();
- DataObjectList& dl = comp->getList("departments");
- DataObjectPtr dept = dl[0];
- DataObjectList& dl2 = dept->getList("employees");
- DataObjectPtr emp = dl2[0];
-
-
- DataObjectList& dl3 = emp->getList("openlist");
-
- if (strcmp(emp->getProperty("openlist").getType().getName(),
- "Bytes"))
- {
- cout << "OpenManyLoad failure - BytesList not Bytes " <<
- emp->getProperty("openlist").getType().getName() << endl;
- }
-
- if (dl3.size() != 3)
- {
- cout << "OpenManyLoad failure - size is " <<
- dl3.size() << endl;
- }
-
- for (int i=0;i< dl3.size();i++)
- {
- cout << "Value:" <<
- dl3.getCString(i) << endl;
- }
-
- }
- catch (SDORuntimeException e)
- {
- cout << "LoadOpen FAILED" << e << endl;
- }
-
-}
-
-void sdotest::csload2()
-{
- cout << "TEST: CSLoad2 ===============================================" << endl;
- try
- {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("company.xsd");
-
- //cout << "TYPES LOADED FROM COMPANY XSD" << endl;
-
- //TypeList tl = mdg->getTypes();
- //for (int i=0;i< tl.size(); i++)
- //{
- // cout << tl[i].getURI() << ":" << tl[i].getName() << endl;
- //}
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("cssave2-output.xml", "companyNS");
- myXMLHelper->save(myXMLDocument->getRootDataObject(),
- 0, "company", "csload2-output.xml");
- XMLDocumentPtr myXMLDocument2 = myXMLHelper->loadFile("csload2-output.xml", "companyNS");
- myXMLHelper->save(myXMLDocument2->getRootDataObject(),
- 0, "company", "csload3-output.xml");
- }
- catch (SDORuntimeException e)
- {
- cout << "ERROR in CsLoad2" << e << endl;
- }
- cout << "END TEST: CSLoad2 ===========================================" << endl;
-
-}
-
-
-
-void sdotest::setnull()
-{
-
-// try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("NullNS","NullMainType");
- mdg->addType("NullNS","NullSubType");
-
- /* Now add the properties to the types...*/
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tint = mdg->getType("commonj.sdo","Integer");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tmain = mdg->getType("NullNS","NullMainType");
- const Type& tsub = mdg->getType("NullNS","NullSubType");
-
-
- mdg->addPropertyToType(tmain,"name",tstring);
- mdg->addPropertyToType(tmain,"subs",tsub, true); // many
- mdg->addPropertyToType(tmain,"asub",tsub, false); // single
- mdg->addPropertyToType(tmain,"bsub",tsub, false); // single
-
- mdg->addPropertyToType(tmain,"cs",tcs); // change summary
-
- mdg->addPropertyToType(tsub,"name",tstring);
- mdg->addPropertyToType(tsub,"number",tint);
- mdg->addPropertyToType(tsub,"bool",tbool);
-
-
- // create a graph, then save it
-
- DataObjectPtr main1 = mdg->create((Type&)tmain);
- main1->setCString("name","MainObject");
-
- // asub is initially set
- DataObjectPtr sub0 = main1->createDataObject("asub");
- // bsub is not set.
-
- DataObjectPtr sub1 = mdg->create((Type&)tsub);
- DataObjectPtr sub2 = mdg->create((Type&)tsub);
- DataObjectPtr sub3 = mdg->create((Type&)tsub);
-
- DataObjectList& dol = main1->getList("subs");
-
- dol.append(sub1);
- dol.append(sub2);
- dol.append(sub3);
-
- // sub1 has all values set initially
-
- sub1->setCString("name","All Initially set");
- sub1->setInteger("number",100);
- sub1->setBoolean("bool",false);
-
- // sub2 has no values set at all
-
-
- // sub3 has all values set to null
- sub3->setNull("name");
- sub3->setNull("number");
- sub3->setNull("bool");
-
-
- // report
-
- cout << "is ASUB null? (0 expected) " <<
- main1->isNull("asub") << endl;
-
- cout << "is ASUB set? (1 expected) " <<
- main1->isSet("asub") << endl;
-
- cout << "is BSUB null? (0 expected) " <<
- main1->isNull("bsub") << endl;
-
- cout << "is BSUB set? (0 expected) " <<
- main1->isSet("bsub") << endl;
-
-// dol0 is set, not null
-
- cout << "dol[0] name is null? (0 expected) " <<
- dol[0]->isNull("name") << endl;
-
- cout << "dol[0] number is null? (0 expected) " <<
- dol[0]->isNull("number") << endl;
-
- cout << "dol[0] bool is null? (0 expected) " <<
- dol[0]->isNull("bool") << endl;
-
- cout << "dol[0] name is set? (1 expected) " <<
- dol[0]->isSet("name") << endl;
-
- cout << "dol[0] number is set? (1 expected) " <<
- dol[0]->isSet("number") << endl;
-
- cout << "dol[0] bool is set? (1 expected) " <<
- dol[0]->isSet("bool") << endl;
-
-// dol1 is all unset , so no nulls
-
- cout << "dol[1] name is null? (0 expected) " <<
- dol[1]->isNull("name") << endl;
-
- cout << "dol[1] number is null? (0 expected) " <<
- dol[1]->isNull("number") << endl;
-
- cout << "dol[1] bool is null? (0 expected) " <<
- dol[1]->isNull("bool") << endl;
-
- cout << "dol[1] name is set? (0 expected) " <<
- dol[1]->isSet("name") << endl;
-
- cout << "dol[1] number is set? (0 expected) " <<
- dol[1]->isSet("number") << endl;
-
- cout << "dol[1] bool is set? (0 expected) " <<
- dol[1]->isSet("bool") << endl;
-
-// dol2 is all nulls, so all set
-
- cout << "dol[2] name is null? (1 expected) " <<
- dol[2]->isNull("name") << endl;
-
- cout << "dol[2] number is null? (1 expected) " <<
- dol[2]->isNull("number") << endl;
-
- cout << "dol[2] bool is null? (1 expected) " <<
- dol[2]->isNull("bool") << endl;
-
- cout << "dol[2] name is set? (1 expected) " <<
- dol[2]->isSet("name") << endl;
-
- cout << "dol[2] number is set? (1 expected) " <<
- dol[2]->isSet("number") << endl;
-
- cout << "dol[2] bool is set? (1 expected) " <<
- dol[2]->isSet("bool") << endl;
-
- ChangeSummaryPtr cs = main1->getChangeSummary();
-
- cs->beginLogging();
-
- main1->setNull("asub");
- main1->setNull("bsub");
-
- dol[0]->setNull("name");
- dol[0]->setNull("number");
- dol[0]->setNull("bool");
-
- dol[1]->setNull("bool");
-
- dol[2]->setCString("name","NewName");
- dol[2]->setInteger("number",100);
- dol[2]->setBoolean("bool",true);
-
-
- cs->endLogging();
-
- // what would we expect from the change summary?
-
- cout << "==============Expected in Change Summary=================" << endl;
- cout << "change to main1 - object asub set to null, oldvalue asub (set)" << endl;
- cout << "change to main1 - object bsub set to null, oldvalue null (unset)" << endl;
- cout << "change to sub1 - name asub set to null, oldvalue \"All Initially Set\" (set)" << endl;
- cout << "change to sub1 - number asub set to null, oldvalue 100 (set)" << endl;
- cout << "change to sub1 - bool asub set to null, oldvalue false (set)" << endl;
- cout << "change to sub2 - bool asub set to null, oldvalue false (unset)" << endl;
- cout << "change to sub3 - name asub set to \"NewName\", oldvalue null, set" << endl;
- cout << "change to sub3 - number asub set to 100, oldvalue null, set" << endl;
- cout << "change to sub3 - bool asub set to true, oldvalue null, set" << endl;
- cout << "==============End Expected in Change Summary=============" << endl;
-
-
- dumpchangesummary(cs);
-
- // report
-
- cout << "is ASUB null? (1 expected) " <<
- main1->isNull("asub") << endl;
-
- cout << "is ASUB set? (1 expected) " <<
- main1->isSet("asub") << endl;
-
- cout << "is BSUB null? (1 expected) " <<
- main1->isNull("bsub") << endl;
-
- cout << "is BSUB set? (1 expected) " <<
- main1->isSet("bsub") << endl;
-
-// dol0 is set to null
-
- cout << "dol[0] name is null? (1 expected) " <<
- dol[0]->isNull("name") << endl;
-
- cout << "dol[0] number is null? (1 expected) " <<
- dol[0]->isNull("number") << endl;
-
- cout << "dol[0] bool is null? (1 expected) " <<
- dol[0]->isNull("bool") << endl;
-
- cout << "dol[0] name is set? (1 expected) " <<
- dol[0]->isSet("name") << endl;
-
- cout << "dol[0] number is set? (1 expected) " <<
- dol[0]->isSet("number") << endl;
-
- cout << "dol[0] bool is set? (1 expected) " <<
- dol[0]->isSet("bool") << endl;
-
-// dol1 is all unset except bool which is null
-
- cout << "dol[1] name is null? (0 expected) " <<
- dol[1]->isNull("name") << endl;
-
- cout << "dol[1] number is null? (0 expected) " <<
- dol[1]->isNull("number") << endl;
-
- cout << "dol[1] bool is null? (1 expected) " <<
- dol[1]->isNull("bool") << endl;
-
- cout << "dol[1] name is set? (0 expected) " <<
- dol[1]->isSet("name") << endl;
-
- cout << "dol[1] number is set? (0 expected) " <<
- dol[1]->isSet("number") << endl;
-
- cout << "dol[1] bool is set? (1 expected) " <<
- dol[1]->isSet("bool") << endl;
-
-// dol2 is all set non-null, so all set
-
- cout << "dol[2] name is null? (0 expected) " <<
- dol[2]->isNull("name") << endl;
-
- cout << "dol[2] number is null? (0 expected) " <<
- dol[2]->isNull("number") << endl;
-
- cout << "dol[2] bool is null? (0 expected) " <<
- dol[2]->isNull("bool") << endl;
-
- cout << "dol[2] name is set? (1 expected) " <<
- dol[2]->isSet("name") << endl;
-
- cout << "dol[2] number is set? (1 expected) " <<
- dol[2]->isSet("number") << endl;
-
- cout << "dol[2] bool is set? (1 expected) " <<
- dol[2]->isSet("bool") << endl;
-
-
- // what would we expect from the change summary?
-// }
-// catch (SDORuntimeException e)
-// {
-// cout << "Exception in setnull" << endl;
-// cout << e;
-// }
-
-}
-
-void sdotest::testsubs()
-{
-
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("companyNS","MainType");
-
- mdg->addType("companyNS","SubType");
- mdg->addType("companyNS","SuperType");
- mdg->addType("companyNS","SubstituteType");
- mdg->addType("companyNS","UnrelatedType");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tmain = mdg->getType("companyNS","MainType");
- const Type& sub = mdg->getType("companyNS","SubType");
- const Type& super = mdg->getType("companyNS","SuperType");
- const Type& subst = mdg->getType("companyNS","SubstituteType");
- const Type& unrel = mdg->getType("companyNS","UnrelatedType");
-
-
- mdg->addPropertyToType(tmain,"name",tstring);
- mdg->addPropertyToType(tmain,"sub",super, false);
- mdg->addPropertyToType(tmain,"subs",super, true);
-
-
- mdg->setPropertySubstitute(tmain, "sub","wilbur", subst);
- mdg->setPropertySubstitute(tmain, "subs","wilburs", subst);
-
- mdg->setBaseType(sub,super);
-
- //now sub and subs should accept all the three types
-
- DataObjectPtr main = mdg->create((Type&)tmain);
- main->setCString("name","SubstituteTest");
-
- DataObjectList& dol = main->getList("subs");
-
- DataObjectPtr sub1 = mdg->create(sub);
- DataObjectPtr super1 = mdg->create(super);
- DataObjectPtr subst1 = mdg->create(subst);
- DataObjectPtr unrel1 = mdg->create(unrel);
-
- dol.append(sub1);
- dol.append(super1);
- dol.append(subst1);
- try
- {
- dol.append(unrel1);
- }
- catch (SDOInvalidConversionException e)
- {
- cout << "Normal failure to append wrong type" << endl;
- }
-
- dol.remove(0);
- dol.remove(0);
- dol.remove(0);
-
- DataObjectList& dol2 = main->getList("wilburs");
-
- dol2.append(sub1);
- dol2.append(super1);
- dol2.append(subst1);
- try
- {
- dol2.append(unrel1);
- }
- catch (SDOInvalidConversionException e)
- {
- cout << "Normal failure to append wrong type" << endl;
- }
-
- main->setDataObject("sub",sub1);
- main->setDataObject("sub",super1);
- main->setDataObject("sub",subst1);
-
- main->setDataObject("wilbur",sub1);
- main->setDataObject("wilbur",super1);
- main->setDataObject("wilbur",subst1);
-
- try
- {
- main->setDataObject("sub", unrel1);
- }
- catch (SDOInvalidConversionException e)
- {
- cout << "Normal failure to set wrong type" << endl;
- }
- }
-
- catch (SDORuntimeException e)
- {
- cout << "Substitute test failed" << endl << e << endl;
- }
-}
-
-
-void sdotest::merle1()
-{
-
- try {
-
- // Dynamic setup of the metadata
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("axis.xsd");
-
- // or dynamically create, but that would get attributes for the strings, not elements
- //mdg->addType("axis","ItemSearch",true); // sequenced
- //mdg->addType("axis","ItemSearchRequest",true); // sequenced
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tsearch = mdg->getType("axis","ItemSearch");
- const Type& treq = mdg->getType("axis","ItemSearchRequest");
-
- //mdg->addPropertyToType(tsearch,"SubscriptionId",tstring);
- //mdg->addPropertyToType(tsearch,"AssociateTag",tstring);
- //mdg->addPropertyToType(tsearch,"XMLEscaping",tstring);
- //mdg->addPropertyToType(tsearch,"Validate",tstring);
- //mdg->addPropertyToType(tsearch,"Shared",treq, false, false, true);
- //mdg->addPropertyToType(tsearch,"Request",treq, true, false, true);
-
- //mdg->addPropertyToType(treq,"Keywords",tstring);
- //mdg->addPropertyToType(treq,"SearchIndex",tstring);
-
- // dynamic creation of the data
-
- DataObjectPtr search = mdg->create((Type&)tsearch);
-
- search->setCString("SubscriptionId","I am the subscription ID string");
- search->setCString("AssociateTag","I am the associate Tag string");
- search->setCString("XMLEscaping","I am the XML escaping string");
- search->setCString("Validate","I am the Validate string");
-
- DataObjectPtr shared = search->createDataObject("Shared");
- shared->setCString("Keywords","SharedKeywordsString");
- shared->setCString("SearchIndex","SearchIndexString");
-
- DataObjectList& requests = search->getList("Request");
- DataObjectPtr request1 = mdg->create(treq);
- requests.append(request1);
- request1->setCString("Keywords","RequestKeywords");
- request1->setCString("SearchIndex","RequestSearchIndex");
-
- // Read the data and put it into XML:
-
- PropertyList properties = search->getInstanceProperties();
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
-
- for (int i=0;i<properties.size();i++)
- {
- Property& prop = properties[i];
- switch (prop.getTypeEnum())
- {
-
- case Type::StringType:
- cout << "<" << prop.getName() << ">" <<
- search->getCString(prop) << "</" <<
- prop.getName() << ">" << endl;
- break;
-
- case Type::DataObjectType:
- if (prop.isMany())
- {
- // many valued property, such as Requests , so get the list
- DataObjectList& rq = search->getList(prop);
- for (int j=0;j<rq.size();j++)
- {
- DataObjectPtr dob = rq[j];
- if (dob != 0)
- {
- XMLDocumentPtr doc = myXMLHelper->createDocument(dob,
- "axis", prop.getName());
- doc->setXMLDeclaration(false);
- char* dobXML = myXMLHelper->save(doc);
- cout << "DataObject \"" << prop.getName() <<
- "\" as XML:" << endl;
- cout << dobXML << endl;
- } // if dob
- } // for
- } // if many
- else
- {
- DataObjectPtr dob = search->getDataObject(prop);
- if (dob != 0)
- {
- XMLDocumentPtr doc = myXMLHelper->createDocument(dob,
- "axis", prop.getName());
- doc->setXMLDeclaration(false);
- char* dobXML = myXMLHelper->save(doc);
- cout << "DataObject \"" << prop.getName() <<
- "\" as XML:" << endl;
- cout << dobXML << endl;
- } // if
- } // else
- break;
-
- default:
- break;
-
- } // switch
- } // for
- } // try
- catch (SDORuntimeException e)
- {
- cout << "Merle 1 failed" << endl << e << endl;
- }
-}
-
-
-void sdotest::graham3()
-{
- //try {
-
- // Dynamic setup of the metadata
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("graham3.xsd");
- //}
- //catch (SDORuntimeException e)
- //{
-// cout << "Graham1 failed " << e << endl;
-// }
-}
-
-void sdotest::graham1()
-{
- try {
-
- // Dynamic setup of the metadata
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("graham1.xsd");
- }
- catch (SDORuntimeException e)
- {
- cout << "Graham1 failed " << e << endl;
- }
-}
-void sdotest::graham2()
-{
- try {
-
- // Dynamic setup of the metadata
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("graham2.xsd");
- }
- catch (SDORuntimeException e)
- {
- cout << "Graham2 failed " << e << endl;
- }
-}
-
-
-void sdotest::b46613()
-{
- try {
-
- // Dynamic setup of the metadata
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->create("rubbish","MyObject");
-
- }
- catch (SDOTypeNotFoundException e)
- {
- cout << "b46613 gave the correct exception" << endl;
- }
-}
-
-void sdotest::doctest()
-{
- try {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("doctest.xsd");
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("doctest.xml",
- "companyNS");
- cout << "RootURI=" << myXMLDocument->getRootElementURI();
- cout << "RootName=" << myXMLDocument->getRootElementName();
- }
- catch (SDOTypeNotFoundException e)
- {
- cout << "doctest failed" << endl;
- }
-
-}
-
-
-void sdotest::b46634()
-{
- try {
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("company_with_nillable_SN.xsd");
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("company_with_nillable_SN.xml",
- "companyNS");
-
- DataObjectPtr dob = myXMLDocument->getRootDataObject();
- DataObjectList& dol = dob->getList("departments");
- DataObjectPtr dept = dol[0];
- DataObjectList& dol2 = dept->getList("employees");
- DataObjectPtr emp = dol2[0];
-
- if (!emp->isSet("SN"))
- {
- cout << "B46634 WRONG - isSet should be true" << endl;
- }
- if (!emp->isNull("SN"))
- {
- cout << "B46634 WRONG - isNull should be true" << endl;
- }
-
- // now write out the nill value and check its still nil
- myXMLHelper->save(myXMLDocument->getRootDataObject(),
- 0, "company", "b46634_out.xml");
-
- }
- catch (SDORuntimeException e)
- {
- cout << "b46634 failed" << endl;
- }
-
-}
-
-void sdotest::testErrors()
-{
- try {
-
- int i,j;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->defineFile("error1.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char* m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("error1.xml",
- "companyNS");
-
- if ((i = myXMLHelper->getErrorCount()) > 0)
- {
- cout << "XML reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = myXMLHelper->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
-
- }
- catch (SDORuntimeException e)
- {
- cout << "testErrors failed" << endl << e << endl;
- }
-
-}
-
-void sdotest::b46734()
-{
- try {
-
- int i,j;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
-
- xsh->defineFile("wsdl.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "WSDL XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
- xsh->defineFile("wsdl-soap.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "WSDL SOAP XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char* m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
- xsh->defineFile("wsdl-http.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "WSDL HTTP XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char* m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
- // xsh->defineFile("StockQuoteService.wsdl");
- // if ((i = xsh->getErrorCount()) > 0)
- // {
- // cout << "SQ WSDL reported some errors:" << endl;
- // for (j=0;j<i;j++)
- // {
- // const char *m = xsh->getErrorMessage(j);
- // if (m != 0) cout << m;
- // cout << endl;
- // }
- // }
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("StockQuoteService.wsdl"
- );
- //, "http://swanandmokashi.com");
-
- if ((i = myXMLHelper->getErrorCount()) > 0)
- {
- cout << "XML reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char * m = myXMLHelper->getErrorMessage(j);
- if (m != 0)cout << m;
- cout << endl;
- }
- }
-
- }
- catch (SDORuntimeException e)
- {
- cout << "b46734 failed" << endl << e << endl;
- }
-
-}
-
-void sdotest::b46693()
-{
- try {
-
- int i,j;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
-
- xsh->defineFile("b46693.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "b46693 XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char* m = xsh->getErrorMessage(j);
- if (m != 0)cout << m;
- cout << endl;
- }
- }
-
- // XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- // XMLDocumentPtr myXMLDocument = myXMLHelper->loadFile("b46693.xsd"
- // );
-
- // if ((i = myXMLHelper->getErrorCount()) > 0)
- // {
- // cout << "b46693 reported some errors:" << endl;
- // for (j=0;j<i;j++)
- // {
- // const char* m = myXMLHelper->getErrorMessage(j);
- // if (m != 0)cout << m;
- // cout << endl;
- // }
- // }
-
- }
- catch (SDORuntimeException e)
- {
- cout << "b46693 failed" << endl << e << endl;
- }
-
-}
-
-void sdotest::clonetest()
-{
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("companyNS","CompanyType");
- mdg->addType("companyNS","DepartmentType");
- mdg->addType("companyNS","EmployeeType");
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& tdept = mdg->getType("companyNS","DepartmentType");
- const Type& temp = mdg->getType("companyNS","EmployeeType");
-
- mdg->addPropertyToType(tcomp,"name",tstring);
- mdg->addPropertyToType(tcomp,"departments",tdept,true,false,true);
- mdg->addPropertyToType(tcomp,"employeeOfTheMonth",temp,false,false,false);
- mdg->addPropertyToType(tcomp,"CEO",temp,false,false,true);
-
- mdg->addPropertyToType(tdept,"employees",temp,true,false,true);
- mdg->addPropertyToType(tdept,"name",tstring,false,false,true);
- mdg->addPropertyToType(tdept,"location",tstring,false,false,true);
- mdg->addPropertyToType(tdept,"number",tstring,false,false,true);
-
- mdg->addPropertyToType(temp,"name",tstring,false,false,true);
- mdg->addPropertyToType(temp,"SN",tstring,false,false,true);
- mdg->addPropertyToType(temp,"manager",tbool,false,false,true);
-
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","The Company");
-
- DataObjectPtr dept = mdg->create((Type&)tdept);
-
- DataObjectList& dol = comp->getList("departments");
- dol.append(dept);
-
- dept->setCString("name","The Department");
- dept->setCString("location","Botley");
- dept->setCString("number","123");
-
-
- // now clone the data factory, and add more types
-
- DataFactoryPtr df2 = mdg->clone();
-
- df2->addType("otherNS","DataSet");
-
- df2->addPropertyToType("companyNS","DepartmentType","dataset",
- "otherNS","DataSet", false, false, true);
-
- const Type& tstring2 = df2->getType("commonj.sdo","String");
- const Type& tbool2 = df2->getType("commonj.sdo","Boolean");
- const Type& tcs2 = df2->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp2 = df2->getType("companyNS","CompanyType");
- const Type& tdept2 = df2->getType("companyNS","DepartmentType");
- const Type& temp2 = df2->getType("companyNS","EmployeeType");
-
- DataObjectPtr comp2 = df2->create((Type&)tcomp2);
- comp->setCString("name","The Company");
-
- DataObjectPtr dept2 = df2->create((Type&)tdept2);
-
- DataObjectList& dol2 = comp2->getList("departments");
- dol2.append(dept2);
-
- dept2->setCString("name","The Other Department");
- dept2->setCString("location","Not Botley");
- dept2->setCString("number","321");
- }
- catch (SDORuntimeException e)
- {
- cout << "clone failed " << e << endl;
- }
-
-
-}
-
-void sdotest::testUtil()
-{
- try {
-
- cout << "START TEST: UTILS ======================================" << endl;
-
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
-
- mdg->addType("companyNS","CompanyType");
- // employee will be an open type...
- mdg->addType("companyNS","EmployeeType", /*seq*/false,
- /*open*/true,
- /*abs */ false,
- /*data*/ false);
-
- mdg->addType("companyNS","DepartmentType");
-
- mdg->addType("companyNS","OpenType");
-
- /* Now add the properties to the types...*/
-
-
- const Type& tstring = mdg->getType("commonj.sdo","String");
- const Type& tbool = mdg->getType("commonj.sdo","Boolean");
- const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary");
- const Type& tcomp = mdg->getType("companyNS","CompanyType");
- const Type& tdept = mdg->getType("companyNS","DepartmentType");
- const Type& temp = mdg->getType("companyNS","EmployeeType");
- const Type& topen = mdg->getType("companyNS","OpenType");
-
-
- mdg->addPropertyToType(tcomp,"name",tstring);
- // not containment...
- mdg->addPropertyToType(tcomp,"employeeOfTheMonth",temp, false,false,false);
- mdg->addPropertyToType(tcomp,"departments",tdept, true);
- mdg->addPropertyToType(tcomp,"cs",tcs);
-
- mdg->addPropertyToType(tdept,"name",tstring);
- mdg->addPropertyToType(tdept,"location",tstring);
- mdg->addPropertyToType(tdept,"number",tstring);
- mdg->addPropertyToType(tdept,"employees",temp,true);
-
- mdg->addPropertyToType(temp, "name",tstring);
- mdg->addPropertyToType(temp, "SN", tstring);
- mdg->addPropertyToType(temp, "manager", tbool);
-
- mdg->addPropertyToType(topen,"name",tstring);
-
- DataObjectPtr comp = mdg->create((Type&)tcomp);
- comp->setCString("name","ACME");
-
- DataObjectPtr dept = mdg->create((Type&)tdept);
- DataObjectList& dol = comp->getList("departments");
- dol.append(dept);
-
- dept->setCString("name","Advanced Technologies");
- dept->setCString("location","NY");
- dept->setCString("number","123");
-
- DataObjectList& emps = dept->getList("employees");
-
- DataObjectPtr emp1 = mdg->create(temp);
- DataObjectPtr emp2 = mdg->create(temp);
- DataObjectPtr emp3 = mdg->create(temp);
-
- emps.append(emp1);
- emps.append(emp2);
- emps.append(emp3);
-
- emp1->setCString("name","Albert");
- emp1->setCString("SN","E0001");
-
- emp2->setCString("name","Boris");
- emp2->setCString("SN","E0002");
- emp2->setBoolean("manager",true);
-
- emp3->setCString("name","Carl");
- emp3->setCString("SN","E0003");
-
- emp1->setCString("openstring","Value Of Open String");
- emp1->setBoolean("openboolean",true);
-
- const char* c = emp1->getCString("openstring");
-
- bool b = emp1->getBoolean("openboolean");
-
- // unknown list type at present..
- DataObjectList& dl = emp1->getList("openintlist");
-
- int i = 45;
- dl.append((short)i); // now the list must be primitive and short!!
-
- // unknown list type at present..
- DataObjectList& dl2 = emp1->getList("opendataobjectlist");
-
- DataObjectPtr myopen = mdg->create("companyNS","OpenType");
- myopen->setCString("name","MyOpenName");
- dl2.append(myopen); // now the list must be of data objects
-
- emp1->setDataObject("opendataobject", myopen);
-
- SDOUtils::printDataObject(comp);
-
- }
- catch (SDORuntimeException e)
- {
- cout << "ERROR in UTILS test" << e << endl;
- }
- cout << "END TEST: UTILS ======================================" << endl;
-
-}
-
-void sdotest::printset(ChangeSummaryPtr cs)
-{
- ChangedDataObjectList& cdl = cs->getChangedDataObjects();
-
- // here there should be a creation of Ed, and a change to dept, which has a
- // bool previously unset, and a int list previuously unset and an employees list
- // previously unset
-
- for (int i=0;i< cdl.size();i++)
- {
- if (cs->isModified(cdl[i]))
- {
-
- cout << "A modified of type " << cdl[i]->getType().getURI()
- << "#" << cdl[i]->getType().getName() << endl;
-
- SettingList& sl = cs->getOldValues(cdl[i]);
- if (sl.size() == 0)
- {
- cout << "No Settings found" << endl;
- }
- else
- {
- for (int j=0;j< sl.size(); j++)
- {
- cout << "Property " << sl[j].getProperty().getName();
- // this could be a many-valued property, and could be one which is
- // a data object or a data type...
- if (sl[j].getProperty().isMany())
- {
- cout << "[" << sl[j].getIndex() << "]" ;
- }
- if (!sl[j].isSet())
- {
- cout << " was unset before the change" << endl;
- }
- else
- {
- cout << " was set before the change !!" << endl;
- }
- }
- }
- }
- }
-}
-
-
-void sdotest::b46633()
-{
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Root");
- mdg->addPropertyToType("myspace","Root","cs",
- "commonj.sdo","ChangeSummary", false, false, false);
-
- mdg->addType("myspace","Company");
- mdg->addType("myspace","Department");
- mdg->addType("myspace","Manager");
- mdg->addType("myspace","Employee");
-
-
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","Root","company",
- "myspace","Company", false, false, true);
-
- mdg->addPropertyToType("myspace","Company","departments",
- "myspace","Department", true, false, true);
-
-
- mdg->addPropertyToType("myspace","Department","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Department","ints",
- "commonj.sdo","Integer", true, false, false);
-
-
- mdg->addPropertyToType("myspace","Department","bool",
- "commonj.sdo","Boolean", false, false, false);
-
- mdg->addPropertyToType("myspace","Department","manager",
- "myspace","Manager", false, false, true);
-
- mdg->addPropertyToType("myspace","Department","employees",
- "myspace","Employee", true, false, true);
-
- mdg->addPropertyToType("myspace","Manager","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Employee","name",
- "commonj.sdo","String", false, false, false);
-
- const Type& tcc = mdg->getType("myspace","Root");
-
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- ChangeSummaryPtr cs = dor->getChangeSummary();
-
- DataObjectPtr com = dor->createDataObject("company");
- com->setCString("name","IBM");
-
- DataObjectPtr dept = com->createDataObject("departments");
- dept->setCString("name","JTC");
-
- // employees initally unset
-
- cs->beginLogging();
-
- DataObjectPtr emp = dept->createDataObject("employees");
- emp->setCString("name","Ed");
-
-
-
- DataObjectList& dl = dept->getList("ints");
- dl.append((long)400);
-
- dept->setBoolean("bool", true);
-
- printset(cs);
-
- cs->endLogging();
-
- // unset them all , restart logging, and get the same results
-
- dept->unset("bool");
- dept->unset("ints");
- dept->unset("employees");
-
- cs->beginLogging();
-
- DataObjectPtr emp2 = dept->createDataObject("employees");
- emp2->setCString("name","Ed2");
-
- dl.append((long)600);
-
- dept->setBoolean("bool", true);
-
- printset(cs);
-
- cs->endLogging();
-
- }
- catch (SDORuntimeException e)
- {
- cout << "b46633 failed " << e << endl;
- }
-
-}
-
-
-
-void sdotest::testLoad()
-{
- try
- {
- int i,j;
- DataFactoryPtr mdg = DataFactory::getDataFactory();
- FILE* f = fopen("company_with_nillable_SN.xsd","r+");
- char* buffer = new char[4000];
- j = 0;
- while ((i = fgetc(f)) != EOF)
- {
- buffer[j++] = (char)i;
- }
- buffer[j] = 0;
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
- xsh->define(buffer);
-
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
-
- FILE* f2 = fopen("company_with_nillable_SN.xml","r+");
- j = 0;
- while ((i = fgetc(f2)) != EOF)
- {
- buffer[j++] = (char)i;
- }
- buffer[j] = 0;
-
- XMLHelperPtr myXMLHelper = HelperProvider::getXMLHelper(mdg);
- XMLDocumentPtr myXMLDocument = myXMLHelper->load(buffer);
-
- }
- catch (SDORuntimeException e)
- {
- cout << "Exception in testDAS " << e << endl;
- }
-}
-
-void sdotest::includetest()
-{
- try
- {
- int i,j;
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
-
- xsh->defineFile("include.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "INCLUDE XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
-
- xsh->defineFile("../t2/includeother.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "INCLUDE XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
- }
- catch (SDORuntimeException e)
- {
- cout << "Exception in include test" << e << endl;
- }
-}
-
-void sdotest::detachtest()
-{
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Root");
-
- mdg->addType("myspace","Company");
- mdg->addType("myspace","Department");
- mdg->addType("myspace","Manager");
- mdg->addType("myspace","Employee");
-
-
- mdg->addPropertyToType("myspace","Company","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","Root","company",
- "myspace","Company", false, false, true);
-
- mdg->addPropertyToType("myspace","Company","departments",
- "myspace","Department", true, false, true);
-
-
- mdg->addPropertyToType("myspace","Department","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","Department","manager",
- "myspace","Manager", false, false, true);
-
- mdg->addPropertyToType("myspace","Department","employees",
- "myspace","Employee", true, false, true);
-
- mdg->addPropertyToType("myspace","Manager","name",
- "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Employee","name",
- "commonj.sdo","String", false, false, false);
-
- const Type& tcc = mdg->getType("myspace","Root");
-
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- DataObjectPtr com = dor->createDataObject("company");
- com->setCString("name","IBM");
-
- DataObjectPtr dept = com->createDataObject("departments");
-
- dept->setCString("name","JTC");
-
-
- DataObjectPtr emp = dept->createDataObject("employees");
- emp->setCString("name","Ed");
-
- DataObjectPtr emp2 = dept->createDataObject("employees");
- emp2->setCString("name","Tom");
-
- DataObjectList& dol = dept->getList("employees");
-
- DataObjectPtr e = dol[0];
- e->detach();
-
- DataObjectPtr cont = emp->getContainer();
-
- if (cont != 0)
- {
- cout << "EMP STILL ATTACHED - problem" << endl;
- }
-
- DataObjectPtr cont2 = dol[0]->getContainer();
-
- if (cont2 == 0)
- {
- cout << "SECOND DETACHED - problem" << endl;
- }
-
- }
- catch (SDORuntimeException e)
- {
- cout << "detach failed " << e << endl;
- }
-
-}
-
-
-void sdotest::leak()
-{
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Root");
-
-
- mdg->addPropertyToType("myspace","Root","ints",
- "commonj.sdo","Integer", true, false, false);
-
-
- const Type& tcc = mdg->getType("myspace","Root");
-
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
-
- cout << "List set should be false and is " << dor->isSet("ints") << endl;
-
- DataObjectList& dl = dor->getList("ints");
-
- cout << "List set should be false and is " << dor->isSet("ints") << endl;
-
- dl.append((long)400);
-
- cout << "List set should be true and is " << dor->isSet("ints") << endl;
-
- dl.remove(0);
-
- cout << "List set should be false and is " << dor->isSet("ints") << endl;
-
- dl.append((long)400);
-
- cout << "List set should be true and is " << dor->isSet("ints") << endl;
-
- dor->unset("ints");
-
- cout << "List set should be false and is " << dor->isSet("ints") << endl;
-
- dl.append((long)600);
-
- cout << "List set should be true and is " << dor->isSet("ints") << endl;
-
-
- }
- catch (SDORuntimeException e)
- {
- cout << "leak failed " << e << endl;
- }
-
-}
-
-void sdotest::twolists()
-{
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Root");
-
- //mdg->addType("myspace","Company");
- //mdg->addType("myspace","Department");
- //mdg->addType("myspace","Manager");
- //mdg->addType("myspace","Employee");
-
-
- //mdg->addPropertyToType("myspace","Company","name",
- // "commonj.sdo","String", false, false, false);
-
-
- //mdg->addPropertyToType("myspace","Root","company",
- // "myspace","Company", false, false, true);
-
- //mdg->addPropertyToType("myspace","Company","departments",
- // "myspace","Department", true, false, true);
-
-
- //mdg->addPropertyToType("myspace","Department","name",
- // "commonj.sdo","String", false, false, false);
-
- mdg->addPropertyToType("myspace","Root","ints",
- "commonj.sdo","Integer", true, false, false);
-
- mdg->addPropertyToType("myspace","Root","ints2",
- "commonj.sdo","Integer", true, false, false);
-
- //mdg->addPropertyToType("myspace","Department","bool",
- // "commonj.sdo","Boolean", false, false, false);
-
- //mdg->addPropertyToType("myspace","Department","manager",
- // "myspace","Manager", false, false, true);
-
- //mdg->addPropertyToType("myspace","Department","employees",
- // "myspace","Employee", true, false, true);
-
- //mdg->addPropertyToType("myspace","Manager","name",
- // "commonj.sdo","String", false, false, false);
-
- //mdg->addPropertyToType("myspace","Employee","name",
- // "commonj.sdo","String", false, false, false);
-
- const Type& tcc = mdg->getType("myspace","Root");
-
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
- //ChangeSummaryPtr cs = dor->getChangeSummary();
-
- //DataObjectPtr com = dor->createDataObject("company");
- //com->setCString("name","IBM");
-
- //DataObjectPtr dept = com->createDataObject("departments");
- //dept->setCString("name","JTC");
-
- // employees initally unset
-
- //cs->beginLogging();
-
- //DataObjectPtr emp = dept->createDataObject("employees");
- //emp->setCString("name","Ed");
-
- DataObjectList& dl2 = dor->getList("ints2");
- dl2.append((long)400);
-
-
- DataObjectList& dl = dor->getList("ints");
- dl.append((long)400);
-
- //dept->setBoolean("bool", true);
-
- //printset(cs);
-
- //cs->endLogging();
-
- // unset them all , restart logging, and get the same results
-
- //dept->unset("bool");
- //dept->unset("ints");
- //dept->unset("employees");
-
- //cs->beginLogging();
-
- //DataObjectPtr emp2 = dept->createDataObject("employees");
- //emp2->setCString("name","Ed2");
-
- //dl.append((long)600);
-
- //dept->setBoolean("bool", true);
-
- // printset(cs);
-
- //cs->endLogging();
-
- }
- catch (SDORuntimeException e)
- {
- cout << "twolists failed " << e << endl;
- }
-
-}
-
-
-void sdotest::graham4()
-{
- try {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- mdg->addType("myspace","Root");
- mdg->addType("myspace","ListItem");
-
-
- mdg->addPropertyToType("myspace","ListItem","name",
- "commonj.sdo","String", false, false, false);
-
-
- mdg->addPropertyToType("myspace","Root","ints",
- "commonj.sdo","Integer", true, false, false);
-
- mdg->addPropertyToType("myspace","Root","items",
- "myspace","ListItem", true, false, true);
-
-
- const Type& tcc = mdg->getType("myspace","Root");
-
- DataObjectPtr dor = mdg->create((Type&)tcc);
-
-
- // first try with no elements in lists
-
- try {
- DataObjectPtr pitem = dor->getDataObject("items[name=\"hello\"]");
- }
- catch (SDOIndexOutOfRangeException e)
- {
- cout << "Normal exception in Graham4" << endl;
- }
-
- try {
- int inty = dor->getInteger("ints[1]");
- }
- catch (SDOIndexOutOfRangeException e)
- {
- cout << "Normal exception in Graham4" << endl;
- }
-
- // now populate them
-
- DataObjectPtr myitem = dor->createDataObject("items");
- myitem->setCString("name","not hello");
-
- try {
- DataObjectPtr pitem2 = dor->getDataObject("items[name=\"hello\"]");
- }
- catch (SDOIndexOutOfRangeException e)
- {
- cout << "Normal exception in Graham4" << endl;
- }
-
- DataObjectList& dl = dor->getList("ints");
- dl.append((long)100);
-
- try {
- int inty2 = dor->getInteger("ints[2]");
- }
- catch (SDOIndexOutOfRangeException e)
- {
- cout << "Normal exception in Graham4" << endl;
- }
-
- try
- {
- DataObjectPtr pitem2 = dor->getDataObject("items[name=\"not hello\"]");
- cout << "item name is " << pitem2->getCString("name") << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << "ABNORMAL exception in Graham4" << endl;
- }
-
- try {
- int inty2 = dor->getInteger("ints[1]");
- cout << "Integer is " << inty2 << endl;
- }
- catch (SDOIndexOutOfRangeException e)
- {
- cout << "Normal exception in Graham4" << endl;
- }
-
- }
- catch (SDORuntimeException e)
- {
- cout << "twolists failed " << e << endl;
- }
-
-}
-
-
-void sdotest::graham5()
-{
- try
- {
- int i,j;
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
-
- xsh->defineFile("Order.xsd");
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "INCLUDE XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
- }
- catch (SDORuntimeException r)
- {
- cout << "Graham5 failed " << r << endl;
- }
-}
-
-
-
-void sdotest::b47293()
-{
- int i,j,k;
- try
- {
- DataFactoryPtr mdg = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg);
-
- xsh->defineFile("47293Catalog.xsd");
-
- if ((i = xsh->getErrorCount()) > 0)
- {
- cout << "47293 XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = xsh->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
-
- TypeList tl = mdg->getTypes();
- for ( k=0;k<tl.size();k++)
- {
- cout << "Type:" << tl[k].getURI() << "#" << tl[k].getName() << endl;
- }
-
- xsh->generateFile(tl,"47293Catalog-out.xsd","catalogNS");
-
- DataFactoryPtr mdg2 = DataFactory::getDataFactory();
-
- XSDHelperPtr xsh2 = HelperProvider::getXSDHelper(mdg2);
-
- xsh2->defineFile("47293Catalog-out.xsd");
-
- if ((i = xsh2->getErrorCount()) > 0)
- {
- cout << "47293-out XSD reported some errors:" << endl;
- for (j=0;j<i;j++)
- {
- const char *m = xsh2->getErrorMessage(j);
- if (m != 0) cout << m;
- cout << endl;
- }
- }
-
- TypeList tl2 = mdg2->getTypes();
- for (k=0;k<tl2.size();k++)
- {
- cout << "Type:" << tl2[k].getURI() << "#" << tl2[k].getName() << endl;
- }
-
-
-
- //XMLHelperPtr xmh = HelperProvider::getXMLHelper(mdg);
-
- //XMLDocumentPtr doc = xmh->loadFile("47293Catalog.xml", "catalog");
-
- //DataObjectPtr dob = doc->getRootDataObject();
-
- //xmh->save(dob,"","catalog","47293Catalog-out.xml");
-
-
- }
- catch (SDORuntimeException e)
- {
- cout << "B47137 failed " << e << endl;
- }
-}
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/include3.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/include3.xsd
deleted file mode 100644
index a74c94e318..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/include3.xsd
+++ /dev/null
@@ -1,14 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <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/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother.xsd
deleted file mode 100644
index 7e42346471..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother.xsd
+++ /dev/null
@@ -1,14 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <xsd:include schemaLocation = "includeother1.xsd"/>
- <xsd:include schemaLocation = "./includeother2.xsd"/>
- <xsd:include schemaLocation = "../Debug/includeother3.xsd"/>
-
-
- </xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother1.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother1.xsd
deleted file mode 100644
index 98705f6418..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother1.xsd
+++ /dev/null
@@ -1,18 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <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="cs" type="sdo:ChangeSummaryType"/>
- <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF" sdoxml:propertyType="company:EmployeeType"/>
- </xsd:complexType>
- </xsd:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother2.xsd b/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother2.xsd
deleted file mode 100644
index 66dfca00a8..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/t2/includeother2.xsd
+++ /dev/null
@@ -1,17 +0,0 @@
- <xsd:schema
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:sdo="commonj.sdo"
- xmlns:sdoxml="commonj.sdo/xml"
- xmlns:company="companyNS"
- targetNamespace="companyNS">
-
- <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:schema>
-
diff --git a/tags/cpp-stable-20060304/sdo/runtime/core/test/testopen3.xml b/tags/cpp-stable-20060304/sdo/runtime/core/test/testopen3.xml
deleted file mode 100644
index 4af489c53a..0000000000
--- a/tags/cpp-stable-20060304/sdo/runtime/core/test/testopen3.xml
+++ /dev/null
@@ -1 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sdo="commonj.sdo" xmlns:sdoxml="commonj.sdo/xml" xmlns:tns="companyNS" targetNamespace="companyNS"><xsd:element name="companyType" type="tns:CompanyType"/><xsd:complexType name="CompanyType" sdo:aliasName="TheFirm TheBigFirm"><xsd:sequence><xsd:element name="departments" type="tns:DepartmentType" minOccurs="0" maxOccurs="unbounded" sdo:aliasName="TheDepartments MYDepartments"/></xsd:sequence><xsd:element name="changeSummary" type="sdo:ChangeSummaryType"/><xsd:attribute name="name" type="xsd:String"/><xsd:attribute name="employeeOfTheMonth" sdoxml:propertyType="tns:EmployeeType" type="xsd:anyURI"/></xsd:complexType><xsd:element name="departmentType" type="tns:DepartmentType"/><xsd:complexType name="DepartmentType"><xsd:sequence><xsd:element name="employees" type="tns:EmployeeType" minOccurs="0" maxOccurs="unbounded"/></xsd:sequence><xsd:attribute name="name" type="xsd:String"/><xsd:attribute name="location" type="xsd:String"/><xsd:attribute name="number" type="xsd:String"/></xsd:complexType><xsd:element name="employeeType" type="tns:EmployeeType"/><xsd:complexType name="EmployeeType"><xsd:attribute name="name" type="xsd:String"/><xsd:attribute name="SN" type="xsd:String"/><xsd:attribute name="manager" type="xsd:boolean"/><xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/><xsd:anyAttribute namespace="##any" processContents="lax"/></xsd:complexType><xsd:element name="openType" type="tns:OpenType"/><xsd:complexType name="OpenType"><xsd:attribute name="name" type="xsd:String"/></xsd:complexType><xsd:attribute name="openboolean" type="xsd:boolean"/><xsd:element name="opendataobject" type="tns:OpenType" minOccurs="0"/><xsd:element name="opendataobjectlist" type="tns:OpenType" minOccurs="0" maxOccurs="unbounded"/><xsd:element name="openintlist" type="xsd:short" minOccurs="0" maxOccurs="unbounded"/><xsd:attribute name="openstring" type="xsd:hexBinary"/></xsd:schema> \ No newline at end of file