You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by tc...@apache.org on 2009/09/12 16:23:13 UTC

svn commit: r814165 - in /webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local: RequestHandler.java UDDIInquiryService.java UDDIPublicationService.java UDDISecurityService.java

Author: tcunning
Date: Sat Sep 12 14:23:13 2009
New Revision: 814165

URL: http://svn.apache.org/viewvc?rev=814165&view=rev
Log:
JUDDI-277
Add a Handler class and reflection for invoking the operation.

Modified:
    webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/RequestHandler.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIInquiryService.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIPublicationService.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDISecurityService.java

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/RequestHandler.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/RequestHandler.java?rev=814165&r1=814164&r2=814165&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/RequestHandler.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/RequestHandler.java Sat Sep 12 14:23:13 2009
@@ -15,6 +15,7 @@
  */
 package org.uddi.api_v3.client.local;
 
+import java.lang.reflect.Method;
 import java.rmi.Remote;
 import java.util.Vector;
 
@@ -53,6 +54,8 @@
   private volatile Node response;
   private volatile String exception;
   private volatile Remote portType; 
+  private volatile String methodName;
+  private volatile Class operationClass;
   
     /**
    * Grab the local name of the UDDI request element
@@ -121,7 +124,8 @@
       Object uddiReqObj = JAXBMarshaller.unmarshallFromString(reqString, "org.uddi.api_v3");
       
       
-      
+      Method method = portType.getClass().getMethod(methodName, operationClass);
+      Object result = method.invoke(uddiReqObj);
       // Lookup the appropriate response handler which will
       // be used to marshal the UDDI object into the appropriate 
       // xml format.
@@ -298,6 +302,18 @@
 public void setPortType(Remote portType) {
 	this.portType = portType;
 }
+public String getMethodName() {
+	return methodName;
+}
+public void setMethodName(String methodName) {
+	this.methodName = methodName;
+}
+public Class getOperationClass() {
+	return operationClass;
+}
+public void setOperationClass (Class operationClass) {
+	this.operationClass = operationClass;
+}
 public String getVersion() {
     return version;
 }

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIInquiryService.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIInquiryService.java?rev=814165&r1=814164&r2=814165&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIInquiryService.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIInquiryService.java Sat Sep 12 14:23:13 2009
@@ -8,6 +8,16 @@
 import org.apache.juddi.error.FatalErrorException;
 import org.apache.juddi.error.RegistryException;
 import org.apache.juddi.error.UnsupportedException;
+import org.uddi.api_v3.FindBinding;
+import org.uddi.api_v3.FindBusiness;
+import org.uddi.api_v3.FindRelatedBusinesses;
+import org.uddi.api_v3.FindService;
+import org.uddi.api_v3.FindTModel;
+import org.uddi.api_v3.GetBindingDetail;
+import org.uddi.api_v3.GetBusinessDetail;
+import org.uddi.api_v3.GetOperationalInfo;
+import org.uddi.api_v3.GetServiceDetail;
+import org.uddi.api_v3.GetTModelDetail;
 import org.uddi.api_v3.client.transport.InVMTransport;
 import org.uddi.v3_service.UDDIInquiryPortType;
 import org.w3c.dom.Element;
@@ -20,21 +30,21 @@
 	private static final long serialVersionUID = 1L;
 	private UDDIInquiryImpl inquiry = new UDDIInquiryImpl();
 	
-	private HashMap<String, String> operations = null;
+	private HashMap<String, Handler> operations = null;
 
 	public UDDIInquiryService() {
 		super();
-		operations = new HashMap<String, String>();
-		operations.put("find_business", "findBusiness");
-		operations.put("find_service", "findService");
-		operations.put("find_binding", "findBinding");
-		operations.put("find_tmodel", "findTModel");
-		operations.put("find_relatedbusinesses", "findRelatedBusinesses");
-		operations.put("get_businessdetail", "getBusinessDetail");
-		operations.put("get_servicedetail", "getServiceDetail");
-		operations.put("get_bindingdetail", "getBindingDetail");
-		operations.put("get_tmodeldetail", "getTModelDetail");
-		operations.put("get_operationalInfo", "getOperationalInfo");
+		operations = new HashMap<String, Handler>();
+		operations.put("find_business", new Handler("findBusiness", FindBusiness.class));
+		operations.put("find_service", new Handler("findService", FindService.class));
+		operations.put("find_binding", new Handler("findBinding", FindBinding.class));
+		operations.put("find_tmodel", new Handler ("findTModel", FindTModel.class));
+		operations.put("find_relatedbusinesses", new Handler("findRelatedBusinesses", FindRelatedBusinesses.class));
+		operations.put("get_businessdetail", new Handler("getBusinessDetail", GetBusinessDetail.class));
+		operations.put("get_servicedetail", new Handler("getServiceDetail", GetServiceDetail.class));
+		operations.put("get_bindingdetail", new Handler("getBindingDetail", GetBindingDetail.class));
+		operations.put("get_tmodeldetail", new Handler("getTModelDetail", GetTModelDetail.class));
+		operations.put("get_operationalInfo", new Handler("getOperationalInfo", GetOperationalInfo.class));
 	}
 
 
@@ -71,6 +81,10 @@
 	      requestHandler.setPortType(inquiry);
 	      
 	      String operation = requestHandler.getOperation(uddiReq);
+		  Handler opHandler = operations.get(operation);
+	      requestHandler.setMethodName(opHandler.getMethodName());
+		  requestHandler.setOperationClass(opHandler.getClass());
+
 	      String version   = requestHandler.getVersion(uddiReq,operation);
 	      validateRequest(operation, version, uddiReq);
 	      Thread thread = new Thread(requestHandler, "WorkThread");

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIPublicationService.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIPublicationService.java?rev=814165&r1=814164&r2=814165&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIPublicationService.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDIPublicationService.java Sat Sep 12 14:23:13 2009
@@ -7,6 +7,22 @@
 import org.apache.juddi.error.FatalErrorException;
 import org.apache.juddi.error.RegistryException;
 import org.apache.juddi.error.UnsupportedException;
+import org.uddi.api_v3.AddPublisherAssertions;
+import org.uddi.api_v3.DeleteBinding;
+import org.uddi.api_v3.DeleteBusiness;
+import org.uddi.api_v3.DeletePublisherAssertions;
+import org.uddi.api_v3.DeleteService;
+import org.uddi.api_v3.DeleteTModel;
+import org.uddi.api_v3.GetAssertionStatusReport;
+import org.uddi.api_v3.GetPublisherAssertions;
+import org.uddi.api_v3.GetRegisteredInfo;
+import org.uddi.api_v3.SaveBinding;
+import org.uddi.api_v3.SaveBusiness;
+import org.uddi.api_v3.SaveService;
+import org.uddi.api_v3.SaveTModel;
+import org.uddi.api_v3.SetPublisherAssertions;
+import org.uddi.api_v3.client.transport.InVMTransport;
+import org.uddi.v3_service.UDDIPublicationPortType;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
@@ -18,26 +34,26 @@
 	  // collection of valid operations
 
 
-	private HashMap<String, String> operations = null;
+	private HashMap<String, Handler> operations = null;
 
 	
 	  public UDDIPublicationService() {
 		super();
-		operations = new HashMap<String, String>();
-		operations.put("get_registeredInfo", "getRegisteredInfo");
-	  	operations.put("save_business", "saveBusiness");
-	  	operations.put("save_service", "saveService");
-	  	operations.put("save_binding", "saveBinding");
-	  	operations.put("save_tmodel", "saveTModel");
-	  	operations.put("delete_business", "deleteBusiness");
-	  	operations.put("delete_service", "deleteService");
-	  	operations.put("delete_binding", "deleteBinding");
-	  	operations.put("delete_tmodel", "deleteTModel");
-	  	operations.put("add_publisherassertions", "addPublisherAssertions");
-	  	operations.put("set_publisherassertions", "setPublisherAssertions");
-	  	operations.put("get_publisherassertions", "getPublisherAssertions");
-	  	operations.put("delete_publisherassertions", "deletePublisherAssertions");
-	  	operations.put("get_assertionstatusreport", "getAssertionStatusReport");
+		operations = new HashMap<String, Handler>();
+		operations.put("get_registeredInfo", new Handler("getRegisteredInfo", GetRegisteredInfo.class));
+	  	operations.put("save_business", new Handler("saveBusiness", SaveBusiness.class));
+	  	operations.put("save_service", new Handler("saveService", SaveService.class));
+	  	operations.put("save_binding", new Handler("saveBinding", SaveBinding.class));
+	  	operations.put("save_tmodel", new Handler("saveTModel", SaveTModel.class));
+	  	operations.put("delete_business", new Handler("deleteBusiness", DeleteBusiness.class));
+	  	operations.put("delete_service", new Handler("deleteService", DeleteService.class));
+	  	operations.put("delete_binding", new Handler("deleteBinding", DeleteBinding.class));
+	  	operations.put("delete_tmodel", new Handler("deleteTModel", DeleteTModel.class));
+	  	operations.put("add_publisherassertions", new Handler("addPublisherAssertions", AddPublisherAssertions.class));
+	  	operations.put("set_publisherassertions", new Handler("setPublisherAssertions", SetPublisherAssertions.class));
+	  	operations.put("get_publisherassertions", new Handler("getPublisherAssertions", GetPublisherAssertions.class));
+	  	operations.put("delete_publisherassertions", new Handler("deletePublisherAssertions", DeletePublisherAssertions.class));
+	  	operations.put("get_assertionstatusreport", new Handler("getAssertionStatusReport", GetAssertionStatusReport.class));
 	}
 
 	  public void validateRequest(String operation,String version,Element uddiReq)
@@ -61,11 +77,18 @@
 	  public Node publish(Element uddiReq) throws Exception
 	  {
 		  Registry.start();
-		  
+		  InVMTransport invmtransport = new InVMTransport();		
+		  UDDIPublicationPortType publish = invmtransport.getUDDIPublishService();
+
 	      //new RequestHandler on it's own thread
 	      RequestHandler requestHandler = new RequestHandler();
 	      requestHandler.setUddiReq(uddiReq);
+	      requestHandler.setPortType(publish);
 	      String operation = requestHandler.getOperation(uddiReq);
+		  Handler opHandler = operations.get(operation);
+	      requestHandler.setMethodName(opHandler.getMethodName());
+		  requestHandler.setOperationClass(opHandler.getClass());
+		  
 	      String version   = requestHandler.getVersion(uddiReq, operation);
 	      validateRequest(operation, version, uddiReq);
 

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDISecurityService.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDISecurityService.java?rev=814165&r1=814164&r2=814165&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDISecurityService.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/uddi/api_v3/client/local/UDDISecurityService.java Sat Sep 12 14:23:13 2009
@@ -12,6 +12,9 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
+import org.uddi.api_v3.GetAuthToken;
+import org.uddi.api_v3.DiscardAuthToken;
+
 /**
  * @author Tom Cunningham (tcunning@apache.org)
  * @author Kurt Stam (kurt.stam@redhat.com)
@@ -19,15 +22,15 @@
 public class UDDISecurityService {
 
 	// collection of valid operations
-	private HashMap<String, String> operations = null;
+	private HashMap<String, Handler> operations = null;
 
 	public UDDISecurityService() {
 		super();
-		operations = new HashMap<String, String>();
-		operations.put("get_authtoken", "getAuthToken");
-		operations.put("discard_authToken", "discardAuthToken");
+		operations = new HashMap<String, Handler>();
+		operations.put("get_authtoken", new Handler("getAuthToken", GetAuthToken.class));
+		operations.put("discard_authToken", new Handler("discardAuthToken", DiscardAuthToken.class));
 	}
-
+	
 	public void validateRequest(String operation,String version,Element uddiReq)
 		throws RegistryException
 	{
@@ -54,6 +57,10 @@
 		requestHandler.setPortType(security);
 		
 		String operation = requestHandler.getOperation(uddiReq);
+		Handler opHandler = operations.get(operation);
+	    requestHandler.setMethodName(opHandler.getMethodName());
+		requestHandler.setOperationClass(opHandler.getClass());
+
 		String version   = requestHandler.getVersion(uddiReq, operation);
 	    validateRequest(operation, version, uddiReq);
 



---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org