You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2005/10/18 13:42:56 UTC

svn commit: r326092 - in /webservices/axis2/trunk/java/modules: codegen/src/org/apache/axis2/rpc/receivers/SimpleTypeMapper.java integration/test/org/apache/axis2/rpc/RPCCallTest.java integration/test/org/apache/axis2/rpc/RPCServiceClass.java

Author: deepal
Date: Tue Oct 18 04:42:41 2005
New Revision: 326092

URL: http://svn.apache.org/viewcvs?rev=326092&view=rev
Log:
Modified SimpleTypeMapper to handle Data type too added a testcase, see RPCCallTest.java 

Modified:
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/receivers/SimpleTypeMapper.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCServiceClass.java

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/receivers/SimpleTypeMapper.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/receivers/SimpleTypeMapper.java?rev=326092&r1=326091&r2=326092&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/receivers/SimpleTypeMapper.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/receivers/SimpleTypeMapper.java Tue Oct 18 04:42:41 2005
@@ -34,7 +34,7 @@
  */
 public class SimpleTypeMapper {
 
-     private static SimpleDateFormat zulu =
+    private static SimpleDateFormat zulu =
             new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
     //  0123456789 0 123456789
 
@@ -89,10 +89,13 @@
 
     public static boolean isSimpleType(Object obj) {
         String objClassName = obj.getClass().getName();
-        return isSimpleType(objClassName);
+        if (obj instanceof  Calendar) {
+            return true;
+        } else {
+            return isSimpleType(objClassName);
+        }
     }
 
-
     public static boolean isSimpleType(Class obj) {
         String objClassName = obj.getName();
         return isSimpleType(objClassName);
@@ -131,6 +134,8 @@
             return true;
         } else if (objClassName.equals(W_FLOAT)) {
             return true;
+        } else if(objClassName.equals(W_CALANDER)) {
+            return true;
         } else return objClassName.equals(W_CHAR);
     }
 
@@ -149,14 +154,16 @@
                 return "INF";
             } else if (data == Double.NEGATIVE_INFINITY) {
                 return "-INF";
-            } else {
+            }  else {
                 return obj.toString();
             }
+        } else if(obj instanceof Calendar){
+            return zulu.format(((Calendar)obj).getTime());
         }
         return obj.toString();
     }
 
-     public static Object makeCalendar(String source, boolean returnDate) {
+    public static Object makeCalendar(String source, boolean returnDate) {
         Calendar calendar = Calendar.getInstance();
         Date date;
         boolean bc = false;
@@ -164,7 +171,7 @@
         // validate fixed portion of format
         if (source == null || source.length() == 0) {
             throw new NumberFormatException(
-                    Messages.getMessage("badDateTime00"));
+                    "badDateTime00");
         }
         if (source.charAt(0) == '+') {
             source = source.substring(1);
@@ -175,14 +182,14 @@
         }
         if (source.length() < 19) {
             throw new NumberFormatException(
-                    Messages.getMessage("badDateTime00"));
+                    "badDateTime00");
         }
         if (source.charAt(4) != '-' || source.charAt(7) != '-' ||
                 source.charAt(10) != 'T') {
-            throw new NumberFormatException(Messages.getMessage("badDate00"));
+            throw new NumberFormatException("badDate00");
         }
         if (source.charAt(13) != ':' || source.charAt(16) != ':') {
-            throw new NumberFormatException(Messages.getMessage("badTime00"));
+            throw new NumberFormatException("badTime00");
         }
         // convert what we have validated so far
         try {
@@ -228,7 +235,7 @@
                     !Character.isDigit(source.charAt(pos + 4)) ||
                     !Character.isDigit(source.charAt(pos + 5))) {
                 throw new NumberFormatException(
-                        Messages.getMessage("badTimezone00"));
+                        "badTimezone00");
             }
             int hours = (source.charAt(pos + 1) - '0') * 10
                     + source.charAt(pos + 2) - '0';
@@ -248,7 +255,7 @@
             calendar.setTimeZone(TimeZone.getTimeZone("GMT"));
         }
         if (pos < source.length()) {
-            throw new NumberFormatException(Messages.getMessage("badChars00"));
+            throw new NumberFormatException("badChars00");
         }
         calendar.setTime(date);
 

Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java?rev=326092&r1=326091&r2=326092&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java Tue Oct 18 04:42:41 2005
@@ -13,8 +13,6 @@
 import org.apache.axis2.rpc.receivers.RPCMessageReceiver;
 import org.apache.axis2.rpc.receivers.BeanSerializer;
 import org.apache.axis2.rpc.client.RPCCall;
-import org.apache.axis2.rpc.client.RPCRequest;
-import org.apache.axis2.rpc.client.RPCRequestParameter;
 import org.apache.axis2.om.OMElement;
 import org.apache.axis2.Constants;
 import org.apache.axis2.AxisFault;
@@ -27,6 +25,10 @@
 import junit.framework.TestCase;
 
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.TimeZone;
+import java.util.Date;
+import java.text.SimpleDateFormat;
 /*
 * Copyright 2004,2005 The Apache Software Foundation.
 *
@@ -52,10 +54,15 @@
  */
 public class RPCCallTest extends TestCase {
 
+    private SimpleDateFormat zulu =new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+       //  0123456789 0 123456789
+
+
+
     protected EndpointReference targetEPR =
             new EndpointReference("http://127.0.0.1:"
-                    + (5000)
-//                    + (UtilServer.TESTING_PORT)
+//                    + (5000)
+                    + (UtilServer.TESTING_PORT)
                     + "/axis/services/EchoXMLService/concat");
     protected Log log = LogFactory.getLog(getClass());
     protected QName serviceName = new QName("EchoXMLService");
@@ -299,6 +306,25 @@
         args.add("1");
         OMElement response = call.invokeBlocking(operationName,args.toArray());
         assertEquals(Byte.parseByte(response.getFirstElement().getText()),1);
+        call.close();
+    }
+
+    public void testCalander() throws AxisFault {
+        zulu.setTimeZone(TimeZone.getTimeZone("GMT"));
+        configureSystem("echoCalander");
+        RPCCall call =
+                new RPCCall("target/test-resources/intregrationRepo");
+
+        call.setTo(targetEPR);
+        call.setTransportInfo(Constants.TRANSPORT_HTTP,
+                Constants.TRANSPORT_HTTP,
+                false);
+
+        ArrayList args = new ArrayList();
+        Date    date = Calendar.getInstance().getTime();
+        args.add(zulu.format(date));
+        OMElement response = call.invokeBlocking(operationName,args.toArray());
+        assertEquals(response.getFirstElement().getText(),zulu.format(date));
         call.close();
     }
 

Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCServiceClass.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCServiceClass.java?rev=326092&r1=326091&r2=326092&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCServiceClass.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCServiceClass.java Tue Oct 18 04:42:41 2005
@@ -6,6 +6,7 @@
 import org.apache.axis2.soap.SOAPFactory;
 
 import javax.xml.namespace.QName;
+import java.util.Calendar;
 /*
 * Copyright 2004,2005 The Apache Software Foundation.
 *
@@ -70,5 +71,9 @@
 
     public double divide(double a , double b){
        return (a/b);
+    }
+
+    public Calendar echoCalander(Calendar in){
+        return in;
     }
 }