Return-Path: Delivered-To: apmail-incubator-cxf-commits-archive@locus.apache.org Received: (qmail 34111 invoked from network); 24 Dec 2007 22:40:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 24 Dec 2007 22:40:14 -0000 Received: (qmail 49447 invoked by uid 500); 24 Dec 2007 22:40:03 -0000 Delivered-To: apmail-incubator-cxf-commits-archive@incubator.apache.org Received: (qmail 49398 invoked by uid 500); 24 Dec 2007 22:40:03 -0000 Mailing-List: contact cxf-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-commits@incubator.apache.org Received: (qmail 49385 invoked by uid 99); 24 Dec 2007 22:40:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Dec 2007 14:40:03 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Dec 2007 22:39:49 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 2FCAE1A9832; Mon, 24 Dec 2007 14:39:53 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r606746 - in /incubator/cxf/trunk: common/common/src/main/java/org/apache/cxf/common/xmlschema/ rt/javascript/src/main/java/org/apache/cxf/javascript/ rt/javascript/src/main/java/org/apache/cxf/javascript/types/ rt/javascript/src/test/java/... Date: Mon, 24 Dec 2007 22:39:52 -0000 To: cxf-commits@incubator.apache.org From: bimargulies@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071224223953.2FCAE1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: bimargulies Date: Mon Dec 24 14:39:50 2007 New Revision: 606746 URL: http://svn.apache.org/viewvc?rev=606746&view=rev Log: Add test for an experiment in anyType, using Aegis. It passes, but it doesn't really work due to CXF-1333. Added: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/ incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml (with props) Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/XmlSchemaConstants.java incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptUtils.java incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/AegisTest.java incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptRhinoTest.java incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisService.java incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisServiceImpl.java incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/AegisTests.js Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/XmlSchemaConstants.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/XmlSchemaConstants.java?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/XmlSchemaConstants.java (original) +++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/XmlSchemaConstants.java Mon Dec 24 14:39:50 2007 @@ -29,4 +29,49 @@ public static final String XSD_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema"; public static final QName ANY_TYPE_QNAME = new QName(XSD_NAMESPACE_URI, "anyType"); + public static final QName ANY_URI_QNAME = new QName(XSD_NAMESPACE_URI, "anyURI"); + public static final QName BASE64BINARY_QNAME = new QName(XSD_NAMESPACE_URI, "base64Binary"); + public static final QName BOOLEAN_QNAME = new QName(XSD_NAMESPACE_URI, "boolean"); + public static final QName BYTE_QNAME = new QName(XSD_NAMESPACE_URI, "byte"); + public static final QName DATE_QNAME = new QName(XSD_NAMESPACE_URI, "date"); + public static final QName DATETIME_QNAME = new QName(XSD_NAMESPACE_URI, "dateTime"); + public static final QName DOUBLE_QNAME = new QName(XSD_NAMESPACE_URI, "double"); + public static final QName DURATION_QNAME = new QName(XSD_NAMESPACE_URI, "duration"); + public static final QName ENTITIES_QNAME = new QName(XSD_NAMESPACE_URI, "ENTITIES"); + public static final QName ENTITY_QNAME = new QName(XSD_NAMESPACE_URI, "ENTITY"); + public static final QName FLOAT_QNAME = new QName(XSD_NAMESPACE_URI, "float"); + public static final QName GDAY_QNAME = new QName(XSD_NAMESPACE_URI, "gDay"); + public static final QName GMONTH_QNAME = new QName(XSD_NAMESPACE_URI, "gMonth"); + public static final QName GMONTHDAY_QNAME = new QName(XSD_NAMESPACE_URI, "gMonthDay"); + public static final QName GYEAR_QNAME = new QName(XSD_NAMESPACE_URI, "gYear"); + public static final QName GYEARMONTH_QNAME = new QName(XSD_NAMESPACE_URI, "gYearMonth"); + public static final QName HEX_BINARY_QNAME = new QName(XSD_NAMESPACE_URI, "hexBinary"); + public static final QName ID_QNAME = new QName(XSD_NAMESPACE_URI, "ID"); + public static final QName IDREF_QNAME = new QName(XSD_NAMESPACE_URI, "IDREF"); + public static final QName IDREFS_QNAME = new QName(XSD_NAMESPACE_URI, "IDREFS"); + public static final QName INT_QNAME = new QName(XSD_NAMESPACE_URI, "int"); + public static final QName INTEGER_QNAME = new QName(XSD_NAMESPACE_URI, "integer"); + public static final QName LANGUAGE_QNAME = new QName(XSD_NAMESPACE_URI, "language"); + public static final QName LONG_QNAME = new QName(XSD_NAMESPACE_URI, "long"); + public static final QName NAME_QNAME = new QName(XSD_NAMESPACE_URI, "Name"); + public static final QName NCNAME_QNAME = new QName(XSD_NAMESPACE_URI, "NCName"); + public static final QName NEGATIVEINTEGER_QNAME = new QName(XSD_NAMESPACE_URI, "negativeInteger"); + public static final QName NMTOKEN_QNAME = new QName(XSD_NAMESPACE_URI, "NMTOKEN"); + public static final QName NMTOKENS_QNAME = new QName(XSD_NAMESPACE_URI, "NMTOKENS"); + public static final QName NONNEGATIVEINTEGER_QNAME = new QName(XSD_NAMESPACE_URI, "nonNegativeInteger"); + public static final QName NONPOSITIVEINTEGER_QNAME = new QName(XSD_NAMESPACE_URI, "nonPositiveInteger"); + public static final QName NORMALIZEDSTRING_QNAME = + new QName(XSD_NAMESPACE_URI, "normalizedStringInteger"); + public static final QName NOTATION_QNAME = new QName(XSD_NAMESPACE_URI, "NOTATION"); + public static final QName POSITIVEINTEGER_QNAME = new QName(XSD_NAMESPACE_URI, "positiveInteger"); + public static final QName QNAME_QNAME = new QName(XSD_NAMESPACE_URI, "QName"); + public static final QName SHORT_QNAME = new QName(XSD_NAMESPACE_URI, "short"); + public static final QName STRING_QNAME = new QName(XSD_NAMESPACE_URI, "string"); + public static final QName TIME_QNAME = new QName(XSD_NAMESPACE_URI, "time"); + public static final QName TOKEN_QNAME = new QName(XSD_NAMESPACE_URI, "token"); + public static final QName UNSIGNEDBYTE_QNAME = new QName(XSD_NAMESPACE_URI, "unsignedByte"); + public static final QName UNSIGNEDINT_QNAME = new QName(XSD_NAMESPACE_URI, "unsignedInt"); + public static final QName UNSIGNEDLONG_QNAME = new QName(XSD_NAMESPACE_URI, "unsignedLong"); + public static final QName UNSIGNEDSHORT_QNAME = new QName(XSD_NAMESPACE_URI, "unsignedShort"); + } Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptUtils.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptUtils.java?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptUtils.java (original) +++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptUtils.java Mon Dec 24 14:39:50 2007 @@ -256,6 +256,7 @@ } // now for the thing itself. + // type will be null for anyType. Apparently, XmlSchema doesn't represent it. if (type instanceof XmlSchemaComplexType) { // it has a value // pass the extra null in the slot for the 'extra namespaces' needed by 'any'. @@ -263,13 +264,17 @@ + ".serialize(cxfjsutils, '" + elementInfo.getXmlName() + "', null)"); } else { // simple type - QName typeName = type.getQName(); appendString("<" + elementInfo.getXmlName() + ">"); // warning: this assumes that ordinary Javascript serialization is all we need. // except for > ad all of that. - if (isStringSimpleType(typeName)) { + if (type != null && isStringSimpleType(type.getQName())) { appendExpression("cxfjsutils.escapeXmlEntities(" + jsVar + ")"); } else { + // in other words, an AnyType is a string ... of XML! + // Or, to be exact, of anything permitted in XML! + // (That is, in the anyType case, type will be null, and we won't escape, + // and anything goes. If someone sticks a string with xml-y stuff into + // an 'int' the results here won't be pretty.) appendExpression(jsVar); } appendString(""); Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java (original) +++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java Mon Dec 24 14:39:50 2007 @@ -582,7 +582,10 @@ utils.appendLine("var value = null;"); utils.startIf("!cxfjsutils.isElementNil(curElement)"); - if (simple) { + if (itemInfo.isAnyType()) { + // All I can think of to do is deliver the DOM. + utils.appendLine("value = curElement;"); + } else if (simple) { utils.appendLine("value = cxfjsutils.getNodeText(curElement);"); utils.appendLine(valueTarget + " = " Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/AegisTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/AegisTest.java?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/AegisTest.java (original) +++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/AegisTest.java Mon Dec 24 14:39:50 2007 @@ -23,6 +23,7 @@ import java.util.logging.Logger; import org.apache.cxf.common.logging.LogUtils; +import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.javascript.JavascriptTestUtilities.JSRunnable; import org.apache.cxf.javascript.fortest.AegisServiceImpl; import org.junit.Before; @@ -34,7 +35,6 @@ * We end up here with a part with isElement == true, a non-array element, * but a complex type for an array of the element. */ -@org.junit.Ignore public class AegisTest extends JavascriptRhinoTest { private static final Logger LOG = LogUtils.getL7dLogger(AegisTest.class); @@ -61,6 +61,7 @@ true); implementor = (AegisServiceImpl)rawImplementor; implementor.reset(); + serverFactoryBean.getServer().getEndpoint().getInInterceptors().add(new LoggingInInterceptor()); } private Void acceptAny(Context context) { @@ -68,7 +69,7 @@ testUtilities.rhinoCall("testAnyNToServerRaw", testUtilities.javaToJS(getAddress())); assertEquals("before items", implementor.getAcceptedString()); - Collection something = implementor.getAcceptedCollection(); + Collection something = implementor.getAcceptedCollection(); assertNotNull(something); return null; } Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptRhinoTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptRhinoTest.java?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptRhinoTest.java (original) +++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptRhinoTest.java Mon Dec 24 14:39:50 2007 @@ -34,6 +34,7 @@ protected JavascriptTestUtilities testUtilities; protected JaxWsProxyFactoryBean clientProxyFactory; protected ServiceInfo serviceInfo; + protected ServerFactoryBean serverFactoryBean; protected Object rawImplementor; private Endpoint endpoint; @@ -48,7 +49,7 @@ boolean validation) throws Exception { testUtilities.setBus(getBean(Bus.class, "cxf")); testUtilities.initializeRhino(); - ServerFactoryBean serverFactoryBean = getBean(ServerFactoryBean.class, serviceEndpointBean); + serverFactoryBean = getBean(ServerFactoryBean.class, serviceEndpointBean); endpoint = serverFactoryBean.getServer().getEndpoint(); // we need to find the implementor. rawImplementor = serverFactoryBean.getServiceBean(); Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisService.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisService.java?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisService.java (original) +++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisService.java Mon Dec 24 14:39:50 2007 @@ -22,6 +22,6 @@ import java.util.Collection; public interface AegisService { - void acceptAny(String before, Collection anything); + void acceptAny(String before, Collection anything); } Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisServiceImpl.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisServiceImpl.java?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisServiceImpl.java (original) +++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/AegisServiceImpl.java Mon Dec 24 14:39:50 2007 @@ -26,7 +26,7 @@ */ public class AegisServiceImpl implements AegisService { private String acceptedString; - private Collection acceptedCollection; + private Collection acceptedCollection; public void reset() { acceptedString = null; @@ -34,7 +34,7 @@ } /** {@inheritDoc}*/ - public void acceptAny(String before, Collection anything) { + public void acceptAny(String before, Collection anything) { acceptedString = before; acceptedCollection = anything; } @@ -42,7 +42,7 @@ /** * @return Returns the acceptedCollection. */ - public Collection getAcceptedCollection() { + public Collection getAcceptedCollection() { return acceptedCollection; } Modified: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/AegisTests.js URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/AegisTests.js?rev=606746&r1=606745&r2=606746&view=diff ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/AegisTests.js (original) +++ incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/AegisTests.js Mon Dec 24 14:39:50 2007 @@ -34,14 +34,22 @@ globalResponseObject = null; } +// aegis/simple doesn't understand 'oneway' + +function success() +{ +} + +function error() +{ +} + function testAnyNToServerRaw(url) { - var service = new cxf_apache_org_jstest_any_AcceptAny(); + var service = new fortest_javascript_cxf_apache_org__AegisServicePortType(); service.url = url; - var param = new cxf_apache_org_jstest_types_any_acceptAnyN(); - param.setBefore("before chalk"); - var holder = new org_apache_cxf_raw_any_holder("tusksemperor"); - param.setAny(holder); - param.setAfter("after chalk"); - service.acceptAnyN(param); + + var arrayItem = new fortest_javascript_cxf_apache_org__ArrayOfAnyType(); + arrayItem.setAnyType(["tusks", "emperor"]); + service.acceptAny(success, error, "before items", arrayItem); } Added: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml?rev=606746&view=auto ============================================================================== --- incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml (added) +++ incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml Mon Dec 24 14:39:50 2007 @@ -0,0 +1,28 @@ + + + + + + + + + + + Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/fortest/AegisService.aegis.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml