You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2005/03/04 12:47:43 UTC
cvs commit: ws-fx/sandesha/src/org/apache/sandesha/util PropertyLoader.java
chamikara 2005/03/04 03:47:43
Modified: sandesha/src/org/apache/sandesha RMInitiator.java
sandesha/src/org/apache/sandesha/util PropertyLoader.java
Log:
Load the handler from propety file
Revision Changes Path
1.9 +65 -1 ws-fx/sandesha/src/org/apache/sandesha/RMInitiator.java
Index: RMInitiator.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/src/org/apache/sandesha/RMInitiator.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- RMInitiator.java 2 Mar 2005 15:15:29 -0000 1.8
+++ RMInitiator.java 4 Mar 2005 11:47:43 -0000 1.9
@@ -16,17 +16,23 @@
*/
package org.apache.sandesha;
+import org.apache.axis.Handler;
+import org.apache.axis.SimpleChain;
import org.apache.axis.deployment.wsdd.WSDDDeployment;
import org.apache.axis.deployment.wsdd.WSDDDocument;
+import org.apache.axis.description.JavaServiceDesc;
import org.apache.axis.handlers.soap.SOAPService;
+import org.apache.axis.message.addressing.handler.AddressingHandler;
import org.apache.axis.server.AxisServer;
import org.apache.axis.transport.http.SimpleAxisServer;
import org.apache.axis.components.logger.LogFactory;
+import org.apache.axis.configuration.SimpleProvider;
import org.apache.sandesha.client.ClientStorageManager;
import org.apache.sandesha.server.RMInvoker;
import org.apache.sandesha.server.Sender;
import org.apache.sandesha.server.ServerStorageManager;
import org.apache.sandesha.util.PropertyLoader;
+import org.apache.sandesha.ws.rm.handlers.RMServerRequestHandler;
import org.apache.sandesha.ws.rm.providers.RMProvider;
import org.apache.sandesha.storage.dao.SandeshaQueueDAO;
import org.apache.commons.logging.Log;
@@ -38,6 +44,8 @@
import java.io.File;
import java.io.InputStream;
import java.net.ServerSocket;
+import java.util.ArrayList;
+import java.util.Iterator;
/**
* @author Jaliya
@@ -130,6 +138,60 @@
DocumentBuilder db = dbf.newDocumentBuilder();
+ //CHANGE FOR SECURITY ADDITION
+
+
+ SimpleProvider sp = new SimpleProvider();
+ sas.setMyConfig(sp);
+
+ SimpleChain reqHandlers = new SimpleChain();
+ SimpleChain resHandlers = new SimpleChain();
+
+ Handler addrHanlder = new AddressingHandler();
+ Handler rmHandler = new RMServerRequestHandler();
+ reqHandlers.addHandler(rmHandler);
+ reqHandlers.addHandler(addrHanlder);
+
+ ArrayList arr = PropertyLoader.getRequestHandlerNames();
+ Iterator it = arr.iterator();
+
+ while(it.hasNext()){
+ String strClass = (String) it.next();
+ Class c = Class.forName(strClass);
+ Handler h = (Handler) c.newInstance();
+ reqHandlers.addHandler(h);
+ }
+
+ arr = PropertyLoader.getResponseHandlerNames();
+ it = arr.iterator();
+
+ while(it.hasNext()){
+ String strClass = (String) it.next();
+ Class c = Class.forName(strClass);
+ Handler h = (Handler) c.newInstance();
+ resHandlers.addHandler(h);
+ }
+
+ RMProvider rmp = new RMProvider();
+ rmp.setClient(true);
+ SOAPService rmService = new SOAPService(reqHandlers,rmp,resHandlers);
+
+ JavaServiceDesc desc = new JavaServiceDesc();
+ rmService.setOption("className", "org.apache.sandesha.client.RMService");
+ rmService.setOption("allowedMethods", "*");
+
+ desc.setName("RMService");
+ rmService.setServiceDescription(desc);
+ sp.deployService("RMService", rmService);
+ sas.setServerSocket(new ServerSocket(PropertyLoader.getClientSideListenerPort()));
+
+ Thread serverThread = new Thread(sas);
+ serverThread.start();
+
+ //END CHANGE FOR SECURITY ADDITION
+
+
+ /*
InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("client-listener-config.wsdd");
//Document doc = db.parse(new File(Constants.CLIENT_LISTENER_CONFIG));
@@ -145,7 +207,9 @@
sas.setServerSocket(new ServerSocket(PropertyLoader.getClientSideListenerPort()));
Thread serverThread = new Thread(sas);
- serverThread.start();
+ serverThread.start();*/
+
+
} catch (Exception e) {
log.error(e);
}
1.5 +71 -0 ws-fx/sandesha/src/org/apache/sandesha/util/PropertyLoader.java
Index: PropertyLoader.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/src/org/apache/sandesha/util/PropertyLoader.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PropertyLoader.java 2 Mar 2005 03:16:31 -0000 1.4
+++ PropertyLoader.java 4 Mar 2005 11:47:43 -0000 1.5
@@ -6,6 +6,7 @@
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.ArrayList;
import java.util.Properties;
/**
@@ -45,4 +46,74 @@
return null;
}
}
+
+
+ //CHANGE FOR SECURITY ADDITION
+ public static ArrayList getRequestHandlerNames(){
+ Properties properties = loadProperties();
+ ArrayList ret = new ArrayList();
+
+ try {
+ InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("sandesha.properties") ;
+ properties.load(in);
+
+ int temp=0;
+ String propVal;
+ do{
+ temp++;
+ String tempStr = "requestHandler"+temp;
+ propVal = properties.getProperty(tempStr);
+ if(propVal!=null){
+ ret.add(propVal);
+ }
+ }while(propVal!=null);
+
+ return ret;
+ } catch (IOException e) {
+ e.printStackTrace();
+ return null;
+ }
+
+
+ }
+
+ public static ArrayList getResponseHandlerNames(){
+ Properties properties = loadProperties();
+ ArrayList ret = new ArrayList();
+
+ try {
+ InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("sandesha.properties") ;
+ properties.load(in);
+
+ int temp=0;
+ String propVal;
+ do{
+ temp++;
+ String tempStr = "responseHandler"+temp;
+ propVal = properties.getProperty(tempStr);
+ if(propVal!=null){
+ ret.add(propVal);
+ }
+ }while(propVal!=null);
+
+ return ret;
+ } catch (IOException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ public static String getProvider(){
+ Properties prop = loadProperties();
+ String s;
+
+ s = prop.getProperty("providerClass");
+
+ if(s==null)
+ return "org.apache.axis.providers.java.RPCProvider";
+
+ return s;
+ }
+
+ //END CHANGE FOR SECURITY ADDITION
}