You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bi...@apache.org on 2007/10/30 02:55:22 UTC
svn commit: r589934 - in /incubator/cxf/trunk/rt/javascript/src:
main/java/org/apache/cxf/javascript/types/
test/java/org/apache/cxf/javascript/fortest/
test/java/org/apache/cxf/javascript/types/ test/resources/
Author: bimargulies
Date: Mon Oct 29 18:55:21 2007
New Revision: 589934
URL: http://svn.apache.org/viewvc?rev=589934&view=rev
Log:
Add and pass more tests.
Modified:
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/fortest/TestBean1.java
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java
incubator/cxf/trunk/rt/javascript/src/test/resources/serializationTest.js
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=589934&r1=589933&r2=589934&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 Oct 29 18:55:21 2007
@@ -375,6 +375,8 @@
}
if (isParticleArray(elChild)) {
+ // protected against null in arrays.
+ utils.startIf(elementName + " != null");
utils.startFor("var ax = 0", "ax < " + elementName + ".length", "ax ++");
elementName = elementName + "[ax]";
// we need an extra level of 'nil' testing here. Or do we, depending on the type structure?
@@ -403,6 +405,7 @@
if (isParticleArray(elChild)) {
utils.endBlock(); // for the extra level of nil checking, which might be wrong.
utils.endBlock(); // for the for loop.
+ utils.endBlock(); // the null protection.
}
if (nillable && !isParticleArray(elChild)) {
Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java?rev=589934&r1=589933&r2=589934&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java Mon Oct 29 18:55:21 2007
@@ -30,6 +30,7 @@
//CHECKSTYLE:OFF
public String stringItem;
public int intItem;
+ @XmlElement(defaultValue = "43")
public long longItem;
public byte[] base64Item;
@XmlElement(required = false)
Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java?rev=589934&r1=589933&r2=589934&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java Mon Oct 29 18:55:21 2007
@@ -19,8 +19,7 @@
package org.apache.cxf.javascript.types;
-import java.io.File;
-import java.io.FilenameFilter;
+import java.io.IOException;
import java.io.StringReader;
import java.util.Collection;
import java.util.List;
@@ -48,6 +47,11 @@
public class SerializationTests extends AbstractDependencyInjectionSpringContextTests {
private JavascriptTestUtilities testUtilities;
private XMLInputFactory xmlInputFactory;
+ private Client client;
+ private List<ServiceInfo> serviceInfos;
+ private Collection<SchemaInfo> schemata;
+ private NameManager nameManager;
+ private JaxWsProxyFactoryBean clientProxyFactory;
public SerializationTests() {
testUtilities = new JavascriptTestUtilities(getClass());
@@ -62,29 +66,7 @@
@Test
public void testSerialization() throws Exception {
- testUtilities.setBus((Bus)applicationContext.getBean("cxf"));
-
- testUtilities.initializeRhino();
- testUtilities.readResourceIntoRhino("/org/apache/cxf/javascript/cxf-utils.js");
-
- JaxWsProxyFactoryBean clientProxyFactory =
- (JaxWsProxyFactoryBean)applicationContext.getBean("simple-dlwu-proxy-factory");
-
- Client client = clientProxyFactory.getClientFactoryBean().create();
- List<ServiceInfo> serviceInfos = client.getEndpoint().getService().getServiceInfos();
- // there can only be one.
- assertEquals(1, serviceInfos.size());
- ServiceInfo serviceInfo = serviceInfos.get(0);
- Collection<SchemaInfo> schemata = serviceInfo.getSchemas();
- NameManager nameManager = new BasicNameManager(serviceInfo);
-
- for (SchemaInfo schema : schemata) {
- SchemaJavascriptBuilder builder =
- new SchemaJavascriptBuilder(nameManager, schema);
- String allThatJavascript = builder.generateCodeForSchema(schema);
- assertNotNull(allThatJavascript);
- testUtilities.readStringIntoRhino(allThatJavascript, schema.toString());
- }
+ setupClientAndRhino("simple-dlwu-proxy-factory");
testUtilities.readResourceIntoRhino("/serializationTest.js");
DataBinding dataBinding = clientProxyFactory.getServiceFactory().getDataBinding();
@@ -110,16 +92,68 @@
assertEquals(1, testBean.optionalIntArrayItem.length);
assertEquals(543, testBean.optionalIntArrayItem[0]);
+ serialized = testUtilities.rhinoCall("serializeTestBean1_2");
+ assertTrue(serialized instanceof String);
+ xml = (String)serialized;
+ reader = dataBinding.createReader(XMLStreamReader.class);
+ stringReader = new StringReader(xml);
+ xmlStreamReader = xmlInputFactory.createXMLStreamReader(stringReader);
+ bean = reader.read(testBeanQName, xmlStreamReader, TestBean1.class);
+ assertNotNull(bean);
+ assertTrue(bean instanceof TestBean1);
+ testBean = (TestBean1)bean;
+ assertEquals("bean1<stringItem", testBean.stringItem);
+ assertEquals(64, testBean.intItem);
+ assertEquals(64000000, testBean.longItem);
+ assertEquals(0, testBean.optionalIntItem);
+ assertNotNull(testBean.optionalIntArrayItem);
+ assertEquals(3, testBean.optionalIntArrayItem.length);
+ assertEquals(543, testBean.optionalIntArrayItem[0]);
+ assertEquals(0, testBean.optionalIntArrayItem[1]);
+ assertEquals(345, testBean.optionalIntArrayItem[2]);
+
+ serialized = testUtilities.rhinoCall("serializeTestBean1_3");
+ assertTrue(serialized instanceof String);
+ xml = (String)serialized;
+ reader = dataBinding.createReader(XMLStreamReader.class);
+ stringReader = new StringReader(xml);
+ xmlStreamReader = xmlInputFactory.createXMLStreamReader(stringReader);
+ bean = reader.read(testBeanQName, xmlStreamReader, TestBean1.class);
+ assertNotNull(bean);
+ assertTrue(bean instanceof TestBean1);
+ testBean = (TestBean1)bean;
+ assertEquals("bean1<stringItem", testBean.stringItem);
+ assertEquals(64, testBean.intItem);
+ assertEquals(43, testBean.longItem);
+ assertEquals(33, testBean.optionalIntItem);
+ assertNull(testBean.optionalIntArrayItem);
} catch (RhinoException angryRhino) {
- String trace = angryRhino.getScriptStackTrace(new FilenameFilter() {
-
- public boolean accept(File dir, String name) {
- return true;
- }
- }
- );
+ String trace = angryRhino.getScriptStackTrace();
Assert.fail("Javascript error: " + angryRhino.toString() + " " + trace);
}
+ }
+
+ private void setupClientAndRhino(String clientProxyFactoryBeanId) throws IOException {
+ testUtilities.setBus((Bus)applicationContext.getBean("cxf"));
+
+ testUtilities.initializeRhino();
+ testUtilities.readResourceIntoRhino("/org/apache/cxf/javascript/cxf-utils.js");
+
+ clientProxyFactory = (JaxWsProxyFactoryBean)applicationContext.getBean(clientProxyFactoryBeanId);
+ client = clientProxyFactory.getClientFactoryBean().create();
+ serviceInfos = client.getEndpoint().getService().getServiceInfos();
+ // there can only be one.
+ assertEquals(1, serviceInfos.size());
+ ServiceInfo serviceInfo = serviceInfos.get(0);
+ schemata = serviceInfo.getSchemas();
+ nameManager = new BasicNameManager(serviceInfo);
+ for (SchemaInfo schema : schemata) {
+ SchemaJavascriptBuilder builder =
+ new SchemaJavascriptBuilder(nameManager, schema);
+ String allThatJavascript = builder.generateCodeForSchema(schema);
+ assertNotNull(allThatJavascript);
+ testUtilities.readStringIntoRhino(allThatJavascript, schema.toString() + ".js");
+ }
}
}
Modified: incubator/cxf/trunk/rt/javascript/src/test/resources/serializationTest.js
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/serializationTest.js?rev=589934&r1=589933&r2=589934&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/resources/serializationTest.js (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/resources/serializationTest.js Mon Oct 29 18:55:21 2007
@@ -54,7 +54,6 @@
var bean1 = new org_apache_cxf_javascript_testns_testBean1();
bean1.setStringItem("bean1<stringItem");
bean1.setIntItem(64);
- bean1.setLongItem(64000000);
bean1.setBase64Item(''); // later
bean1.setOptionalIntItem(33);
bean1.setOptionalIntArrayItem(null);