dblevins    2004/12/17 00:54:22

  Modified:    modules/core/src/java/org/openejb/server
                        ServiceAccessController.java ServiceLogger.java
                        SimpleSocketService.java
  Log:

  Revamped the AccessController slightly.
  Added attributes for specifying the data logged on success or failure.  The
  attributes arent' used yet, but will be shortly.
  Upated the SimpleSocketService to use the new constructors.
  
  Revision  Changes    Path
  1.4       +14 -6     
openejb/modules/core/src/java/org/openejb/server/ServiceAccessController.java
  
  Index: ServiceAccessController.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ServiceAccessController.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ServiceAccessController.java      9 Apr 2004 19:04:01 -0000       1.3
  +++ ServiceAccessController.java      17 Dec 2004 05:54:22 -0000      1.4
  @@ -66,7 +66,7 @@
    */
   public class ServiceAccessController implements ServerService {
       private final ServerService next;
  -    private InetAddress[] allowedHosts;
  +    private InetAddress[] allowHosts;
   
       public ServiceAccessController(ServerService next) {
           this.next = next;
  @@ -74,7 +74,7 @@
   
       public ServiceAccessController(ServerService next, InetAddress[] 
allowedHosts) {
           this.next = next;
  -        this.allowedHosts = allowedHosts;
  +        this.allowHosts = allowedHosts;
       }
   
       public void service(Socket socket) throws ServiceException, IOException {
  @@ -84,6 +84,14 @@
           next.service(socket);
       }
   
  +    public InetAddress[] getAllowHosts() {
  +        return allowHosts;
  +    }
  +
  +    public void setAllowHosts(InetAddress[] allowHosts) {
  +        this.allowHosts = allowHosts;
  +    }
  +
       public void checkHostsAuthorization(InetAddress clientAddress, 
InetAddress serverAddress) throws SecurityException {
           // Authorization flag.  This starts out as unauthorized
           // and will stay that way unless a matching admin ip is
  @@ -95,8 +103,8 @@
           // match, the following for loop will be skipped.
           authorized = clientAddress.equals(serverAddress);
   
  -        for (int i = 0; !authorized && i < allowedHosts.length; i++) {
  -            authorized = allowedHosts[i].equals(clientAddress);
  +        for (int i = 0; !authorized && i < allowHosts.length; i++) {
  +            authorized = allowHosts[i].equals(clientAddress);
           }
   
           if (!authorized) {
  @@ -132,7 +140,7 @@
               }
           }
   
  -        allowedHosts = (InetAddress[]) addresses.toArray(new 
InetAddress[addresses.size()]);
  +        allowHosts = (InetAddress[]) addresses.toArray(new 
InetAddress[addresses.size()]);
       }
   
       public void init(Properties props) throws Exception {
  
  
  
  1.5       +18 -3     
openejb/modules/core/src/java/org/openejb/server/ServiceLogger.java
  
  Index: ServiceLogger.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ServiceLogger.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ServiceLogger.java        4 Sep 2004 21:35:49 -0000       1.4
  +++ ServiceLogger.java        17 Dec 2004 05:54:22 -0000      1.5
  @@ -68,10 +68,17 @@
   public class ServiceLogger implements ServerService {
       private final Log log;
       private final ServerService next;
  +    private final String[] logOnSuccess;
  +    private final String[] logOnFailure;
  +    private final String name;
   
  -    public ServiceLogger(ServerService next) {
  +
  +    public ServiceLogger(String name, ServerService next, String[] 
logOnSuccess, String[] logOnFailure) {
  +        this.log = LogFactory.getLog("OpenEJB.server.service." + name);
           this.next = next;
  -        log = LogFactory.getLog("OpenEJB.server.service." + getName());
  +        this.logOnSuccess = logOnSuccess;
  +        this.logOnFailure = logOnFailure;
  +        this.name = name;
       }
   
       /**
  @@ -111,6 +118,14 @@
               logFailure(e);
               e.printStackTrace();
           }
  +    }
  +
  +    public String[] getLogOnSuccess() {
  +        return logOnSuccess;
  +    }
  +
  +    public String[] getLogOnFailure() {
  +        return logOnFailure;
       }
   
       private void logIncoming() {
  
  
  
  1.10      +6 -3      
openejb/modules/core/src/java/org/openejb/server/SimpleSocketService.java
  
  Index: SimpleSocketService.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/SimpleSocketService.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SimpleSocketService.java  15 Nov 2004 05:37:12 -0000      1.9
  +++ SimpleSocketService.java  17 Dec 2004 05:54:22 -0000      1.10
  @@ -82,9 +82,12 @@
               throw new ServiceException("Error constructing server service 
class", e);
           }
   
  -        service = new ServiceLogger(service);
  -        service = new ServiceAccessController(service, onlyFrom);
  +        String name = "ejb";
  +        String[] logOnSuccess = new 
String[]{"HOST","NAME","THREADID","USERID"};
  +        String[] logOnFailure = new String[]{"HOST","NAME"};
           service = new ServicePool(service);
  +        service = new ServiceAccessController(service, onlyFrom);
  +        service = new ServiceLogger(name, service, logOnSuccess, 
logOnFailure);
           server = service;
   
           // TODO Horrid hack, the concept needs to survive somewhere
  
  
  

Reply via email to