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/11/25 22:01:54 UTC

svn commit: r598051 - in /incubator/cxf/trunk/rt/javascript/src: main/java/org/apache/cxf/javascript/ main/java/org/apache/cxf/javascript/service/ test/java/org/apache/cxf/javascript/ test/java/org/apache/cxf/javascript/fortest/ test/resources/

Author: bimargulies
Date: Sun Nov 25 13:01:53 2007
New Revision: 598051

URL: http://svn.apache.org/viewvc?rev=598051&view=rev
Log:
Code Doc/Literal/Bare

This runs into a service/schema model problem, so the test is commented out.

Modified:
    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/XmlSchemaUtils.java
    incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
    incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitBareClientTest.java
    incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitBareImpl.java
    incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties

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=598051&r1=598050&r2=598051&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 Sun Nov 25 13:01:53 2007
@@ -200,12 +200,13 @@
                                                String referencingURI,
                                                XmlSchemaType containingType) {
         boolean nillable = element.isNillable();
+        boolean optional = XmlSchemaUtils.isParticleOptional(element);
         
         XmlSchemaType elType = 
             XmlSchemaUtils.getElementType(xmlSchemaCollection, referencingURI, element, containingType);
         
         // first question: optional?
-        if (XmlSchemaUtils.isParticleOptional(element)) {
+        if (optional) {
             startIf(elementJavascriptName + " != null");
         }
         
@@ -216,7 +217,7 @@
             appendString("<" + elementXmlName + " " + XmlSchemaUtils.NIL_ATTRIBUTES + "/>");
             appendElse();
         }
-        
+
         if (XmlSchemaUtils.isParticleArray(element)) {
             // protected against null in arrays.
             startIf(elementJavascriptName + " != null");
@@ -225,27 +226,21 @@
             // we need an extra level of 'nil' testing here. Or do we, depending on the type structure?
             // Recode and fiddle appropriately.
             startIf(elementJavascriptName + " == null");
-            appendString("<" + elementXmlName + " " + XmlSchemaUtils.NIL_ATTRIBUTES + "/>");
+            if (nillable) {
+                appendString("<" + elementXmlName + " " + XmlSchemaUtils.NIL_ATTRIBUTES + "/>");
+            } else {
+                appendString("<" + elementXmlName + "/>");                    
+            }
             appendElse();
         }
         
         // now for the thing itself.
         if (elType instanceof XmlSchemaComplexType) {
-            if (element.getMinOccurs() != 0) { // required
-                startIf(elementJavascriptName + " == null");
-                appendString("<" + elementXmlName + " " + XmlSchemaUtils.NIL_ATTRIBUTES + "/>");
-                appendElse();
-                appendExpression(elementJavascriptName + ".serialize(" 
-                                 + utilsVarName + ", '" 
-                                 + elementXmlName + "')");
-                endBlock();
-            } else {
-                startIf(elementJavascriptName + " != null");
-                appendExpression(elementJavascriptName + ".serialize(cxfjsutils, '"  
-                                 + elementXmlName + "')");
-                endBlock();
-            }
-        } else {
+            // it has a value
+            appendExpression(elementJavascriptName + ".serialize(" 
+                                     + utilsVarName + ", '" 
+                                     + elementXmlName + "')");
+        } else { // simple type
             QName typeName = elType.getQName();
             appendString("<" + elementXmlName + ">");
             // warning: this assumes that ordinary Javascript serialization is all we need.

Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java?rev=598051&r1=598050&r2=598051&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java Sun Nov 25 13:01:53 2007
@@ -198,6 +198,7 @@
     }
     
     public static boolean isParticleArray(XmlSchemaParticle particle) {
+        // I don't know why maxOccurs=0 is popular.
         return particle.getMaxOccurs() > 1;
     }
     

Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java?rev=598051&r1=598050&r2=598051&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java Sun Nov 25 13:01:53 2007
@@ -455,28 +455,20 @@
                                                  serviceSchemaInfo.getNamespaceURI(),
                                                  null);
         } else {
+            int px = 0;
             // Multiple parts violates WS-I, but we can still do them.
             for (ElementAndNames ean : unwrappedElementsAndNames) {
                 utils.generateCodeToSerializeElement("cxfutils",
                                                      ean.getElement(),
-                                                     ean.getJavascriptName(),
+                                                     "args[" + px + "]",
                                                      ean.getXmlName(),
                                                      xmlSchemaCollection,
                                                      serviceSchemaInfo.getNamespaceURI(),
                                                      null);
+                px++;
             }
         }
 
-//        int px = 0;
-//        for (ElementAndNames partElement : elements) {
-//            LOG.fine("Serialize part - message " + msg.getName() + " part " + partElement.getXmlName()); 
-//            utils.generateCodeToSerializeElement("cxfutils", partElement.getElement(),
-//                                                 "args[" + px + "]",
-//                                                 partElement.getXmlName(), xmlSchemaCollection,
-//                                                 serviceSchemaInfo.getNamespaceURI(), null);
-//            px++;
-//        }
-
         utils.appendLine("xml = xml + cxfutils.endSoap11Message();");
         utils.appendLine("return xml;");
         code.append("}\n\n");
@@ -579,7 +571,7 @@
     public void begin(ServiceInfo service) {
         
         code.append("//\n");
-        code.append("// Definitions for service: " + service.toString() + "\n");
+        code.append("// Definitions for service: " + service.getName().toString() + "\n");
         code.append("//\n");
 
         BindingInfo xml = null;

Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitBareClientTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitBareClientTest.java?rev=598051&r1=598050&r2=598051&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitBareClientTest.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitBareClientTest.java Sun Nov 25 13:01:53 2007
@@ -40,6 +40,11 @@
 import org.mozilla.javascript.Scriptable;
 import org.springframework.context.support.GenericApplicationContext;
 
+/*
+ * 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 DocLitBareClientTest extends AbstractCXFSpringTest {
 

Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitBareImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitBareImpl.java?rev=598051&r1=598050&r2=598051&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitBareImpl.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitBareImpl.java Sun Nov 25 13:01:53 2007
@@ -21,13 +21,13 @@
 
 import javax.jws.WebService;
 
-//import org.apache.cxf.feature.Features;
+import org.apache.cxf.feature.Features;
 
 /**
  * 
  */
 @WebService(endpointInterface = "org.apache.cxf.javascript.fortest.SimpleDocLitBare")
-//@Features(features = "org.apache.cxf.feature.LoggingFeature")   
+@Features(features = "org.apache.cxf.feature.LoggingFeature")   
 public class SimpleDocLitBareImpl implements SimpleDocLitBare {
     
     private String lastString;

Modified: incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties?rev=598051&r1=598050&r2=598051&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties Sun Nov 25 13:01:53 2007
@@ -23,8 +23,8 @@
 .level= INFO
 java.util.logging.ConsoleHandler.level = FINEST
 java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
-#org.apache.cxf.javascript.service.ServiceJavascriptBuilder.level=FINEST
-#org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
+org.apache.cxf.javascript.service.ServiceJavascriptBuilder.level=FINEST
+org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
 #org.apache.cxf.javascript.JavascriptTestUtilities.level=FINE
 #org.apache.cxf.javascript.JsXMLHttpRequest.level = FINE
 #org.apache.cxf.javascript.service.DocLitWrappedTest.level=FINE