[jboss-svn-commits] JBL Code SVN: r20650 - labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 20 01:59:14 EDT 2008


Author: jim.ma
Date: 2008-06-20 01:59:13 -0400 (Fri, 20 Jun 2008)
New Revision: 20650

Modified:
   labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
   labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template
Log:
* Modified serviceInvoker as a field in generated jaxws provider class 


Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java	2008-06-20 03:30:29 UTC (rev 20649)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java	2008-06-20 05:59:13 UTC (rev 20650)
@@ -25,8 +25,10 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
+import javassist.CtField;
 import javassist.CtMethod;
 import javassist.CtNewMethod;
+import javassist.Modifier;
 import javassist.NotFoundException;
 import javassist.bytecode.AnnotationsAttribute;
 import javassist.bytecode.ConstPool;
@@ -37,6 +39,7 @@
 
 import org.antlr.stringtemplate.StringTemplate;
 import org.apache.commons.io.IOUtils;
+import org.jboss.soa.esb.client.ServiceInvoker;
 import org.jboss.soa.esb.util.ClassUtil;
 
 public class JAXWSProviderClassGenerator {
@@ -88,6 +91,15 @@
 			annotation2.addMemberValue("value", enumValue);
 			attribute.addAnnotation(annotation2);
 			seiClass.getClassFile().addAttribute(attribute);
+			
+			CtClass invokerCtClass = pool.get("org.jboss.soa.esb.client.ServiceInvoker");
+			//CtField.Initializer init = CtField.Initializer.byNew(invokerCtClass, new String[]{epInfo.getServiceCategory(), epInfo.getServiceName()});
+			String filedStr = "new org.jboss.soa.esb.client.ServiceInvoker(\"" 
+				+ epInfo.getServiceCategory() + "\"," 
+				+ "\""  + epInfo.getServiceName() + "\");";
+			CtField.Initializer init = CtField.Initializer.byExpr(filedStr);
+			CtField invokerCtField = new CtField(invokerCtClass, "serviceInvoker", seiClass);
+			seiClass.addField(invokerCtField, init);
 			CtMethod m = CtNewMethod.make("public Object invoke(Object obj) "
 					+ getMethodBody(epInfo), seiClass);
 			seiClass.addMethod(m);

Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template	2008-06-20 03:30:29 UTC (rev 20649)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template	2008-06-20 05:59:13 UTC (rev 20650)
@@ -1,6 +1,5 @@
 {   javax.xml.soap.SOAPMessage request = (javax.xml.soap.SOAPMessage)obj;
-    try {
-	     org.jboss.soa.esb.client.ServiceInvoker serviceInvoker = new org.jboss.soa.esb.client.ServiceInvoker("$Category$", "$ServiceName$");
+    try {	      
 		 org.jboss.soa.esb.message.Message msg = org.jboss.soa.esb.message.format.MessageFactory.getInstance().getMessage();
 		 msg.getBody().add(request.getSOAPBody().toString());
 		 org.jboss.soa.esb.message.Message resMsg = serviceInvoker.deliverSync(msg, (long)2000);
@@ -8,4 +7,5 @@
           e.printStackTrace();
      } 
 		return request;
-}
\ No newline at end of file
+}
+		                 
\ No newline at end of file




More information about the jboss-svn-commits mailing list