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
   }