You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2012/04/04 17:21:38 UTC
svn commit: r1309451 - in
/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src:
main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/
test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/
Author: rfeng
Date: Wed Apr 4 15:21:37 2012
New Revision: 1309451
URL: http://svn.apache.org/viewvc?rev=1309451&view=rev
Log:
Fix the ASM code gen for long/double parameters
Modified:
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGenerator.java
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/MockedResource.java
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/Resource.java
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/ResourceWrapper.java
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGeneratorTestCase.java
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGenerator.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGenerator.java?rev=1309451&r1=1309450&r2=1309451&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGenerator.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGenerator.java Wed Apr 4 15:21:37 2012
@@ -101,9 +101,15 @@ public class RootResourceClassGenerator
mv.visitCode();
mv.visitFieldInsn(GETSTATIC, className, DELEGATE_FIELD, getSignature(interfaceName));
Class<?>[] paramTypes = method.getParameterTypes();
+ int index = 1;
for (int i = 0; i < paramTypes.length; i++) {
String signature = Type.getDescriptor(paramTypes[i]);
- mv.visitVarInsn(CodeGenerationHelper.getLoadOPCode(signature), i + 1);
+ mv.visitVarInsn(CodeGenerationHelper.getLoadOPCode(signature), index);
+ if(paramTypes[i] == long.class || paramTypes[i] == double.class) {
+ index+=2; // Increase the index by 2 for the 64bit numbers
+ } else {
+ index++;
+ }
}
mv.visitMethodInsn(INVOKEINTERFACE, interfaceName, method.getName(), methodDescriptor);
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/MockedResource.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/MockedResource.java?rev=1309451&r1=1309450&r2=1309451&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/MockedResource.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/MockedResource.java Wed Apr 4 15:21:37 2012
@@ -32,7 +32,7 @@ public class MockedResource implements R
return value;
}
- public void create(String value) {
+ public void create(long id, String value) {
this.value = value;
}
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/Resource.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/Resource.java?rev=1309451&r1=1309450&r2=1309451&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/Resource.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/Resource.java Wed Apr 4 15:21:37 2012
@@ -42,7 +42,7 @@ public interface Resource {
void update(String value);
@POST
- void create(String value);
+ void create(long id, String value);
@DELETE
void delete();
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/ResourceWrapper.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/ResourceWrapper.java?rev=1309451&r1=1309450&r2=1309451&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/ResourceWrapper.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/ResourceWrapper.java Wed Apr 4 15:21:37 2012
@@ -39,8 +39,8 @@ public class ResourceWrapper implements
return delegate.get();
}
- public void create(String value) {
- delegate.create(value);
+ public void create(long id, String value) {
+ delegate.create(id, value);
}
public void delete() {
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGeneratorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGeneratorTestCase.java?rev=1309451&r1=1309450&r2=1309451&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGeneratorTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/RootResourceClassGeneratorTestCase.java Wed Apr 4 15:21:37 2012
@@ -74,7 +74,7 @@ public class RootResourceClassGeneratorT
Resource resourceProxy = (Resource)cls.newInstance();
Assert.assertNull(resourceProxy.get());
- resourceProxy.create("123");
+ resourceProxy.create(1l, "123");
Assert.assertEquals("123", resourceProxy.get());
resourceProxy.update("ABC");
Assert.assertEquals("ABC", resourceProxy.get());