/******************************************************************************* | |
* Copyright (c) 2011, 2013 Oracle and/or its affiliates. All rights reserved. | |
* This program and the accompanying materials are made available under the | |
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* Contributors: | |
* David McCann - Novebmer 10, 2011 - 2.4 - Initial implementation | |
******************************************************************************/ | |
package dbws.testing.types; | |
//javase imports | |
import java.io.StringReader; | |
import java.math.BigDecimal; | |
import java.sql.SQLException; | |
import java.sql.Statement; | |
import java.text.ParseException; | |
import java.text.SimpleDateFormat; | |
import org.w3c.dom.Document; | |
//java eXtension imports | |
import javax.wsdl.WSDLException; | |
//JUnit4 imports | |
import org.junit.AfterClass; | |
import org.junit.BeforeClass; | |
import org.junit.Test; | |
import static org.junit.Assert.assertNotNull; | |
import static org.junit.Assert.assertTrue; | |
import static org.junit.Assert.fail; | |
//EclipseLink imports | |
import org.eclipse.persistence.internal.xr.Invocation; | |
import org.eclipse.persistence.internal.xr.Operation; | |
import org.eclipse.persistence.oxm.XMLMarshaller; | |
import org.eclipse.persistence.oxm.XMLRoot; | |
import org.eclipse.persistence.tools.dbws.DBWSBuilder; | |
//test imports | |
import dbws.testing.DBWSTestSuite; | |
/** | |
* Tests various types. | |
* | |
*/ | |
public class TypesTestSuite extends DBWSTestSuite { | |
static { | |
System.setProperty("user.timezone", "Canada/Eastern"); | |
} | |
static final String CREATE_PACKAGE_TEST_TYPES = | |
"CREATE OR REPLACE PACKAGE TEST_TYPES AS" + | |
"\nFUNCTION ECHO_INTEGER (PINTEGER IN INTEGER) RETURN INTEGER;" + | |
"\nFUNCTION ECHO_SMALLINT(PSMALLINT IN SMALLINT) RETURN SMALLINT;" + | |
"\nFUNCTION ECHO_NUMERIC (PNUMERIC IN NUMERIC) RETURN NUMERIC;" + | |
"\nFUNCTION ECHO_DEC (PDEC IN DEC) RETURN DEC;" + | |
"\nFUNCTION ECHO_DECIMAL (PDECIMAL IN DECIMAL) RETURN DECIMAL;" + | |
"\nFUNCTION ECHO_NUMBER (PNUMBER IN NUMBER) RETURN NUMBER;" + | |
"\nFUNCTION ECHO_VARCHAR(PVARCHAR IN VARCHAR) RETURN VARCHAR;" + | |
"\nFUNCTION ECHO_VARCHAR2 (PINPUTVARCHAR IN VARCHAR2) RETURN VARCHAR2;" + | |
"\nFUNCTION ECHO_CHAR (PINPUTCHAR IN CHAR) RETURN CHAR;" + | |
"\nFUNCTION ECHO_REAL (PREAL IN REAL) RETURN REAL;" + | |
"\nFUNCTION ECHO_FLOAT (PINPUTFLOAT IN FLOAT) RETURN FLOAT;" + | |
"\nFUNCTION ECHO_DOUBLE (PDOUBLE IN DOUBLE PRECISION) RETURN DOUBLE PRECISION;" + | |
"\nFUNCTION ECHO_DATE (PINPUTDATE IN DATE) RETURN DATE;" + | |
"\nFUNCTION ECHO_TIMESTAMP (PINPUTTS IN TIMESTAMP) RETURN TIMESTAMP;" + | |
"\nFUNCTION ECHO_CLOB (PINPUTCLOB IN CLOB) RETURN CLOB;" + | |
"\nFUNCTION ECHO_BLOB (PINPUTBLOB IN BLOB) RETURN BLOB;" + | |
"\nFUNCTION ECHO_LONG (PLONG IN LONG) RETURN LONG;" + | |
"\nFUNCTION ECHO_LONG_RAW (PLONGRAW IN LONG RAW) RETURN LONG RAW;" + | |
"\nFUNCTION ECHO_RAW(PRAW IN RAW) RETURN RAW;" + | |
"\nFUNCTION ECHO_ROWID(PROWID IN ROWID) RETURN ROWID;" + | |
"\nFUNCTION ECHO_BOOLEAN(P1 IN BOOLEAN) RETURN BOOLEAN;" + | |
"\nPROCEDURE ECHO_BOOLEAN2(P1 IN BOOLEAN, P2 OUT BOOLEAN);" + | |
"\nFUNCTION ECHO_NVARCHAR2 (PNVARCHAR IN NVARCHAR2) RETURN NVARCHAR2;" + | |
"\nPROCEDURE pEchoNchar(p_nchar in nchar);" + | |
"\nFUNCTION fEchoNchar(p_nchar in nchar) return nchar;" + | |
"\nPROCEDURE pEchoNvarchar2(p_nvarchar2 in nvarchar2, p_nvarchar22 OUT nvarchar2);" + | |
"\nEND;" ; | |
static final String CREATE_PACKAGE_BODY_TEST_TYPES = | |
"CREATE OR REPLACE PACKAGE BODY TEST_TYPES AS" + | |
"\nFUNCTION ECHO_INTEGER (PINTEGER IN INTEGER) RETURN INTEGER IS" + | |
"\nBEGIN" + | |
"\nRETURN PINTEGER;" + | |
"\nEND ECHO_INTEGER;" + | |
"\nFUNCTION ECHO_SMALLINT(PSMALLINT IN SMALLINT) RETURN SMALLINT IS" + | |
"\nBEGIN" + | |
"\nRETURN PSMALLINT;" + | |
"\nEND ECHO_SMALLINT;" + | |
"\nFUNCTION ECHO_NUMERIC (PNUMERIC IN NUMERIC) RETURN NUMERIC IS" + | |
"\nBEGIN" + | |
"\nRETURN PNUMERIC;" + | |
"\nEND ECHO_NUMERIC;" + | |
"\nFUNCTION ECHO_DEC (PDEC IN DEC) RETURN DEC IS" + | |
"\nBEGIN" + | |
"\nRETURN PDEC;" + | |
"\nEND ECHO_DEC;" + | |
"\nFUNCTION ECHO_DECIMAL (PDECIMAL IN DECIMAL) RETURN DECIMAL IS" + | |
"\nBEGIN" + | |
"\nRETURN PDECIMAL;" + | |
"\nEND ECHO_DECIMAL;" + | |
"\nFUNCTION ECHO_NUMBER (PNUMBER IN NUMBER) RETURN NUMBER IS" + | |
"\nBEGIN" + | |
"\nRETURN PNUMBER;" + | |
"\nEND ECHO_NUMBER;" + | |
"\nFUNCTION ECHO_VARCHAR(PVARCHAR IN VARCHAR) RETURN VARCHAR IS" + | |
"\nBEGIN" + | |
"\nRETURN PVARCHAR;" + | |
"\nEND ECHO_VARCHAR;" + | |
"\nFUNCTION ECHO_VARCHAR2 (PINPUTVARCHAR IN VARCHAR2) RETURN VARCHAR2 IS" + | |
"\nBEGIN" + | |
"\nRETURN PINPUTVARCHAR;" + | |
"\nEND ECHO_VARCHAR2;" + | |
"\nFUNCTION ECHO_NVARCHAR2 (PNVARCHAR IN NVARCHAR2) RETURN NVARCHAR2 IS" + | |
"\nBEGIN" + | |
"\nRETURN PNVARCHAR;" + | |
"\nEND ECHO_NVARCHAR2;" + | |
"\nFUNCTION ECHO_CHAR (PINPUTCHAR IN CHAR) RETURN CHAR IS" + | |
"\nBEGIN" + | |
"\nRETURN PINPUTCHAR;" + | |
"\nEND ECHO_CHAR;" + | |
"\nFUNCTION ECHO_REAL (PREAL IN REAL) RETURN REAL IS" + | |
"\nBEGIN" + | |
"\nRETURN PREAL;" + | |
"\nEND ECHO_REAL;" + | |
"\nFUNCTION ECHO_FLOAT (PINPUTFLOAT IN FLOAT) RETURN FLOAT IS" + | |
"\nBEGIN" + | |
"\nRETURN PINPUTFLOAT;" + | |
"\nEND ECHO_FLOAT;" + | |
"\nFUNCTION ECHO_DOUBLE (PDOUBLE IN DOUBLE PRECISION) RETURN DOUBLE PRECISION IS" + | |
"\nBEGIN" + | |
"\nRETURN PDOUBLE;" + | |
"\nEND ECHO_DOUBLE;" + | |
"\nFUNCTION ECHO_DATE (PINPUTDATE IN DATE) RETURN DATE IS" + | |
"\nBEGIN" + | |
"\nRETURN PINPUTDATE;" + | |
"\nEND ECHO_DATE;" + | |
"\nFUNCTION ECHO_TIMESTAMP (PINPUTTS IN TIMESTAMP) RETURN TIMESTAMP IS" + | |
"\nBEGIN" + | |
"\nRETURN PINPUTTS;" + | |
"\nEND ECHO_TIMESTAMP;" + | |
"\nFUNCTION ECHO_CLOB (PINPUTCLOB IN CLOB) RETURN CLOB IS" + | |
"\nBEGIN" + | |
"\nRETURN PINPUTCLOB;" + | |
"\nEND ECHO_CLOB;" + | |
"\nFUNCTION ECHO_BLOB (PINPUTBLOB IN BLOB) RETURN BLOB IS" + | |
"\nBEGIN" + | |
"\nRETURN PINPUTBLOB;" + | |
"\nEND ECHO_BLOB;" + | |
"\nFUNCTION ECHO_LONG (PLONG IN LONG) RETURN LONG IS" + | |
"\nBEGIN" + | |
"\nRETURN PLONG;" + | |
"\nEND ECHO_LONG;" + | |
"\nFUNCTION ECHO_LONG_RAW (PLONGRAW IN LONG RAW) RETURN LONG RAW IS" + | |
"\nBEGIN" + | |
"\nRETURN PLONGRAW;" + | |
"\nEND ECHO_LONG_RAW;" + | |
"\nFUNCTION ECHO_RAW(PRAW IN RAW) RETURN RAW IS" + | |
"\nBEGIN" + | |
"\nRETURN PRAW;" + | |
"\nEND ECHO_RAW;" + | |
"\nFUNCTION ECHO_ROWID(PROWID IN ROWID) RETURN ROWID IS" + | |
"\nBEGIN" + | |
"\nRETURN PROWID;" + | |
"\nEND ECHO_ROWID;" + | |
"\nFUNCTION ECHO_BOOLEAN(P1 IN BOOLEAN) RETURN BOOLEAN IS" + | |
"\nBEGIN" + | |
"\nRETURN P1;" + | |
"\nEND ECHO_BOOLEAN;" + | |
"\nPROCEDURE ECHO_BOOLEAN2(P1 IN BOOLEAN, P2 OUT BOOLEAN) IS" + | |
"\nBEGIN" + | |
"\nP2 := P1;" + | |
"\nEND ECHO_BOOLEAN2;" + | |
"\nPROCEDURE pEchoNchar(p_nchar in nchar) AS" + | |
"\nBEGIN" + | |
"\nNULL;" + | |
"\nEND pEchoNchar;" + | |
"\nFUNCTION fEchoNchar(p_nchar in nchar) return nchar AS" + | |
"\nBEGIN" + | |
"\nreturn p_nchar;" + | |
"\nEND fEchoNchar;" + | |
"\nPROCEDURE pEchoNvarchar2(p_nvarchar2 in nvarchar2, p_nvarchar22 OUT nvarchar2) AS" + | |
"\nBEGIN" + | |
"\np_nvarchar22 := p_nvarchar2;" + | |
"\nEND pEchoNvarchar2;" + | |
"\nEND;" ; | |
static final String CREATE_XMLTYPEDATA_TABLE = | |
"CREATE TABLE XMLTYPEDATA (" + | |
"ID NUMBER(4,0) NOT NULL," + | |
"XMLDATA XMLType," + | |
"PRIMARY KEY (ID)" + | |
")"; | |
static final String[] POPULATE_XMLTYPEDATA_TABLE = new String[] { | |
"INSERT INTO XMLTYPEDATA (ID, XMLDATA) VALUES (666, XMLTYPE('<blah>some blah text</blah>'))", | |
"INSERT INTO XMLTYPEDATA (ID, XMLDATA) VALUES (667, XMLTYPE('<foo>yo fool!</foo>'))", | |
}; | |
static final String DROP_XMLTYPEDATA_TABLE = | |
"DROP TABLE XMLTYPEDATA"; | |
static final String DROP_PACKAGE_TEST_TYPES = | |
"DROP PACKAGE TEST_TYPES"; | |
static final String DROP_PACKAGE_BODY_TEST_TYPES = | |
"DROP PACKAGE BODY TEST_TYPES"; | |
static boolean ddlCreate = false; | |
static boolean ddlDrop = false; | |
static boolean ddlDebug = false; | |
@BeforeClass | |
public static void setUp() throws WSDLException { | |
if (conn == null) { | |
try { | |
conn = buildConnection(); | |
} | |
catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
String ddlCreateProp = System.getProperty(DATABASE_DDL_CREATE_KEY, DEFAULT_DATABASE_DDL_CREATE); | |
if ("true".equalsIgnoreCase(ddlCreateProp)) { | |
ddlCreate = true; | |
} | |
String ddlDropProp = System.getProperty(DATABASE_DDL_DROP_KEY, DEFAULT_DATABASE_DDL_DROP); | |
if ("true".equalsIgnoreCase(ddlDropProp)) { | |
ddlDrop = true; | |
} | |
String ddlDebugProp = System.getProperty(DATABASE_DDL_DEBUG_KEY, DEFAULT_DATABASE_DDL_DEBUG); | |
if ("true".equalsIgnoreCase(ddlDebugProp)) { | |
ddlDebug = true; | |
} | |
if (ddlCreate) { | |
runDdl(conn, CREATE_PACKAGE_TEST_TYPES, ddlDebug); | |
runDdl(conn, CREATE_PACKAGE_BODY_TEST_TYPES, ddlDebug); | |
runDdl(conn, CREATE_XMLTYPEDATA_TABLE, ddlDebug); | |
try { | |
Statement stmt = conn.createStatement(); | |
for (int i = 0; i < POPULATE_XMLTYPEDATA_TABLE.length; i++) { | |
stmt.addBatch(POPULATE_XMLTYPEDATA_TABLE[i]); | |
} | |
stmt.executeBatch(); | |
} | |
catch (SQLException e) { | |
//e.printStackTrace(); | |
} | |
} | |
DBWS_BUILDER_XML_USERNAME = | |
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + | |
"<dbws-builder xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + | |
"<properties>" + | |
"<property name=\"projectName\">Types</property>" + | |
"<property name=\"logLevel\">off</property>" + | |
"<property name=\"username\">"; | |
DBWS_BUILDER_XML_PASSWORD = | |
"</property><property name=\"password\">"; | |
DBWS_BUILDER_XML_URL = | |
"</property><property name=\"url\">"; | |
DBWS_BUILDER_XML_DRIVER = | |
"</property><property name=\"driver\">"; | |
DBWS_BUILDER_XML_PLATFORM = | |
"</property><property name=\"platformClassname\">"; | |
DBWS_BUILDER_XML_MAIN = | |
"</property>" + | |
"</properties>" + | |
"<procedure " + | |
"name=\"echoInteger\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_INTEGER\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoSmallint\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_SMALLINT\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoNumeric\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_NUMERIC\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoDec\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_DEC\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoDecimal\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_DECIMAL\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoNumber\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_NUMBER\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoVarchar\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_VARCHAR\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoVarchar2\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_VARCHAR2\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoNVarchar2\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_NVARCHAR2\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"pEchoNchar\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"pEchoNchar\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"fEchoNchar\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"fEchoNchar\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"pEchoNvarchar2\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"pEchoNvarchar2\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoChar\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_CHAR\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoReal\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_REAL\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoFloat\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_FLOAT\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoDouble\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_DOUBLE\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoDate\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_DATE\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoTimestamp\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_TIMESTAMP\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoClob\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_CLOB\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoBlob\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_BLOB\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoLong\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_LONG\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoLongRaw\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_LONG_RAW\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoRaw\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_RAW\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoRowId\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_ROWID\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoBoolean\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_BOOLEAN\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<procedure " + | |
"name=\"echoBoolean2\" " + | |
"catalogPattern=\"TEST_TYPES\" " + | |
"procedurePattern=\"ECHO_BOOLEAN2\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
"/>" + | |
"<sql " + | |
"name=\"selectXMLData\" " + | |
"isSimpleXMLFormat=\"true\" " + | |
">" + | |
"<text><![CDATA[select * from XMLTYPEDATA]]></text>" + | |
"</sql>" + | |
"</dbws-builder>"; | |
builder = new DBWSBuilder(); | |
DBWSTestSuite.setUp("."); | |
} | |
@AfterClass | |
public static void tearDown() { | |
String ddlDrop = System.getProperty(DATABASE_DDL_DROP_KEY, DEFAULT_DATABASE_DDL_DROP); | |
if ("true".equalsIgnoreCase(ddlDrop)) { | |
runDdl(conn, DROP_PACKAGE_BODY_TEST_TYPES, ddlDebug); | |
runDdl(conn, DROP_PACKAGE_TEST_TYPES, ddlDebug); | |
runDdl(conn, DROP_XMLTYPEDATA_TABLE, ddlDebug); | |
} | |
} | |
@Test | |
public void echoInteger() { | |
Invocation invocation = new Invocation("echoInteger"); | |
invocation.setParameter("PINTEGER", Integer.valueOf(128)); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_INTEGER_RESULT)); | |
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String ECHO_INTEGER_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>128</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoSmallint() { | |
Invocation invocation = new Invocation("echoSmallint"); | |
invocation.setParameter("PSMALLINT", Integer.valueOf(7)); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_SMALLINT_RESULT)); | |
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String ECHO_SMALLINT_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>7</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoNumeric() { | |
Invocation invocation = new Invocation("echoNumeric"); | |
invocation.setParameter("PNUMERIC", new BigDecimal("123.45")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NUMERIC_RESULT)); | |
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String ECHO_NUMERIC_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>123.45</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoDec() { | |
Invocation invocation = new Invocation("echoDec"); | |
invocation.setParameter("PDEC", new BigDecimal("543.21")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DEC_RESULT)); | |
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String ECHO_DEC_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>543.21</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoDecimal() { | |
Invocation invocation = new Invocation("echoDecimal"); | |
invocation.setParameter("PDECIMAL", new BigDecimal("23.9")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DECIMAL_RESULT)); | |
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String ECHO_DECIMAL_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>23.9</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoNumber() { | |
Invocation invocation = new Invocation("echoNumber"); | |
invocation.setParameter("PNUMBER", BigDecimal.valueOf(17)); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NUMBER_RESULT)); | |
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String ECHO_NUMBER_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>17</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoVarchar() { | |
Invocation invocation = new Invocation("echoVarchar"); | |
invocation.setParameter("PVARCHAR", "this is a varchar test"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_VARCHAR_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_VARCHAR_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>this is a varchar test</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoVarchar2() { | |
Invocation invocation = new Invocation("echoVarchar2"); | |
invocation.setParameter("PINPUTVARCHAR", "this is a varchar2 test"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_VARCHAR2_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_VARCHAR2_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>this is a varchar2 test</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoNVarchar2() { | |
Invocation invocation = new Invocation("echoNVarchar2"); | |
invocation.setParameter("PNVARCHAR", "N'qwerty'"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NVARCHAR2_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_NVARCHAR2_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>N'qwerty'</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void pEchoNvarchar2() { | |
Invocation invocation = new Invocation("pEchoNvarchar2"); | |
invocation.setParameter("p_nvarchar2", "N'qwerty'"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(P_ECHO_NVARCHAR2_RESULT)); | |
assertTrue("control document not same as instance document. Expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String P_ECHO_NVARCHAR2_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>N'qwerty'</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void pEchoNchar() { | |
Invocation invocation = new Invocation("pEchoNchar"); | |
invocation.setParameter("p_nchar", "N'q'"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NCHAR_RESULT)); | |
assertTrue("control document not same as instance document. Expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_NCHAR_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>1</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void fEchoNchar() { | |
Invocation invocation = new Invocation("fEchoNchar"); | |
invocation.setParameter("p_nchar", "N'q'"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(F_ECHO_NCHAR_RESULT)); | |
assertTrue("control document not same as instance document. Expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String F_ECHO_NCHAR_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>N'q'</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoChar() { | |
Invocation invocation = new Invocation("echoChar"); | |
invocation.setParameter("PINPUTCHAR", "Q"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
// something goes wrong with invoke | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_CHAR_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_CHAR_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>Q</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoReal() { | |
Invocation invocation = new Invocation("echoReal"); | |
invocation.setParameter("PREAL", new Float("3.14159")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_REAL_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_REAL_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>3.14159</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoFloat() { | |
Invocation invocation = new Invocation("echoFloat"); | |
invocation.setParameter("PINPUTFLOAT", new Float("31415.926")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_FLOAT_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_FLOAT_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>31415.926</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoDouble() { | |
Invocation invocation = new Invocation("echoDouble"); | |
invocation.setParameter("PDOUBLE", new Double("314.15926")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DOUBLE_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_DOUBLE_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>314.15926</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoDate() throws ParseException { | |
Invocation invocation = new Invocation("echoDate"); | |
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); | |
invocation.setParameter("PINPUTDATE", format.parse("20091203")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DATE_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_DATE_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>2009-12-03T00:00:00-05:00</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoTimestamp() throws ParseException { | |
Invocation invocation = new Invocation("echoTimestamp"); | |
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd:hhmmss.SSS"); | |
invocation.setParameter("PINPUTTS", format.parse("20091204:091923.123")); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_TS_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_TS_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>2009-12-04T09:19:23.123-05:00</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoClob() throws ParseException, SQLException { | |
Invocation invocation = new Invocation("echoClob"); | |
invocation.setParameter("PINPUTCLOB", "This is a Clob test"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_CLOB_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_CLOB_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>This is a Clob test</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoBlob() throws ParseException { | |
Invocation invocation = new Invocation("echoBlob"); | |
byte[] testBytes = "This is a test".getBytes(); | |
invocation.setParameter("PINPUTBLOB", testBytes); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(((XMLRoot)result).getObject(), doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BLOB_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_BLOB_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result xsi:type=\"xsd:base64Binary\" " + | |
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + | |
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + | |
"5647687063794270637942684948526C6333513D" + | |
"</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoLong() throws ParseException { | |
Invocation invocation = new Invocation("echoLong"); | |
invocation.setParameter("PLONG", "This is a LONG type test. A LONG type represents 2GB of character data."); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(((XMLRoot)result).getObject(), doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_LONG_RESULT)); | |
assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String ECHO_LONG_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>" + | |
"This is a LONG type test. A LONG type represents 2GB of character data." + | |
"</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoLongRaw() throws ParseException { | |
Invocation invocation = new Invocation("echoLongRaw"); | |
byte[] testBytes = ("This is yet another test (long stringggggggggggggggggggggggggggggggggggggg" + | |
"ggggggggggggggggggggggggggggggggggggggg").getBytes(); | |
invocation.setParameter("PLONGRAW", testBytes); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(((XMLRoot)result).getObject(), doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_LONGRAW_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_LONGRAW_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result xsi:type=\"xsd:base64Binary\" " + | |
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + | |
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + | |
"5647687063794270637942355A585167595735766447686C636942305A584E30494368736232356E49484E30636D6C755A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32633D" + | |
"</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoRaw() throws ParseException { | |
Invocation invocation = new Invocation("echoRaw"); | |
byte[] testBytes = "This is yet another test!".getBytes(); | |
invocation.setParameter("PRAW", testBytes); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(((XMLRoot)result).getObject(), doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_RAW_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_RAW_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result xsi:type=\"xsd:base64Binary\" " + | |
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + | |
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + | |
"5647687063794270637942355A585167595735766447686C636942305A584E3049513D3D" + | |
"</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoRowId() throws ParseException { | |
Invocation invocation = new Invocation("echoRowId"); | |
invocation.setParameter("PROWID", "'AAADL1AABAAACTEAAE'"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(((XMLRoot)result).getObject(), doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_ROWID_RESULT)); | |
assertTrue("control document not same as instance document", comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_ROWID_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<result>" + | |
"'AAADL1AABAAACTEAAE'" + | |
"</result>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void selectXMLData() throws ParseException { | |
Invocation invocation = new Invocation("selectXMLData"); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = null; | |
try { | |
result = op.invoke(xrService, invocation); | |
} catch (NoClassDefFoundError ncdfex) { | |
fail("Test failed unexpectedly. Please make sure that Oracle's XDB and XMLParser jars are on the test classpath.\nException:\n" + ncdfex); | |
} | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(((XMLRoot)result).getObject(), doc); | |
Document controlDoc = xmlParser.parse(new StringReader(XMLTYPE_XML_2)); | |
assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc)); | |
} | |
public static final String XMLTYPE_XML_2 = | |
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<ID>666</ID>" + | |
"<XMLDATA><blah>some blah text</blah></XMLDATA>" + | |
"</simple-xml>" + | |
"<simple-xml>" + | |
"<ID>667</ID>" + | |
"<XMLDATA><foo>yo fool!</foo></XMLDATA>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoBooleanTrue() { | |
Invocation invocation = new Invocation("echoBoolean"); | |
invocation.setParameter("P1", 1); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_TRUE_RESULT)); | |
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
@Test | |
public void echoBooleanTrue2() { | |
Invocation invocation = new Invocation("echoBoolean2"); | |
invocation.setParameter("P1", 1); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_TRUE_RESULT2)); | |
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_BOOLEAN_TRUE_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<RESULT>1</RESULT>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
public static final String ECHO_BOOLEAN_TRUE_RESULT2 = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<P2>1</P2>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
@Test | |
public void echoBooleanFalse() { | |
Invocation invocation = new Invocation("echoBoolean"); | |
invocation.setParameter("P1", 0); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_RESULT)); | |
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
@Test | |
public void echoBooleanFalse2() { | |
Invocation invocation = new Invocation("echoBoolean2"); | |
invocation.setParameter("P1", 0); | |
Operation op = xrService.getOperation(invocation.getName()); | |
Object result = op.invoke(xrService, invocation); | |
assertNotNull("result is null", result); | |
Document doc = xmlPlatform.createDocument(); | |
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller(); | |
marshaller.marshal(result, doc); | |
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_RESULT2)); | |
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual( | |
controlDoc, doc)); | |
} | |
public static final String ECHO_BOOLEAN_RESULT = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<RESULT>0</RESULT>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
public static final String ECHO_BOOLEAN_RESULT2 = | |
"<?xml version = '1.0' encoding = 'UTF-8'?>" + | |
"<simple-xml-format>" + | |
"<simple-xml>" + | |
"<P2>0</P2>" + | |
"</simple-xml>" + | |
"</simple-xml-format>"; | |
} |