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