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;
}
}