You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2007/08/08 20:58:13 UTC

svn commit: r563982 [14/32] - in /activemq/trunk/activemq-core/src: main/java/org/apache/activemq/ main/java/org/apache/activemq/advisory/ main/java/org/apache/activemq/blob/ main/java/org/apache/activemq/broker/ main/java/org/apache/activemq/broker/jm...

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnection.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnection.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnection.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnection.java Wed Aug  8 11:56:59 2007
@@ -41,10 +41,9 @@
  * itself to the sessionPool.
  * 
  * <b>NOTE</b> this implementation is only intended for use when sending
- * messages.
- * It does not deal with pooling of consumers; for that look at a library like 
- * <a href="http://jencks.org/">Jencks</a> such as in
- * <a href="http://jencks.org/Message+Driven+POJOs">this example</a>
+ * messages. It does not deal with pooling of consumers; for that look at a
+ * library like <a href="http://jencks.org/">Jencks</a> such as in <a
+ * href="http://jencks.org/Message+Driven+POJOs">this example</a>
  * 
  * @version $Revision: 1.1.1.1 $
  */
@@ -66,10 +65,10 @@
     }
 
     public void close() throws JMSException {
-    	if( this.pool!=null ) {
-	        this.pool.decrementReferenceCount();
-	        this.pool = null;
-    	}
+        if (this.pool != null) {
+            this.pool.decrementReferenceCount();
+            this.pool = null;
+        }
     }
 
     public void start() throws JMSException {
@@ -81,17 +80,22 @@
         stopped = true;
     }
 
-    public ConnectionConsumer createConnectionConsumer(Destination destination, String selector, ServerSessionPool serverSessionPool, int maxMessages)
-            throws JMSException {
-        return getConnection().createConnectionConsumer(destination, selector, serverSessionPool, maxMessages);
+    public ConnectionConsumer createConnectionConsumer(Destination destination, String selector,
+                                                       ServerSessionPool serverSessionPool, int maxMessages)
+        throws JMSException {
+        return getConnection()
+            .createConnectionConsumer(destination, selector, serverSessionPool, maxMessages);
     }
 
-    public ConnectionConsumer createConnectionConsumer(Topic topic, String s, ServerSessionPool serverSessionPool, int maxMessages) throws JMSException {
+    public ConnectionConsumer createConnectionConsumer(Topic topic, String s,
+                                                       ServerSessionPool serverSessionPool, int maxMessages)
+        throws JMSException {
         return getConnection().createConnectionConsumer(topic, s, serverSessionPool, maxMessages);
     }
 
-    public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String selector, String s1, ServerSessionPool serverSessionPool, int i)
-            throws JMSException {
+    public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String selector, String s1,
+                                                              ServerSessionPool serverSessionPool, int i)
+        throws JMSException {
         return getConnection().createDurableConnectionConsumer(topic, selector, s1, serverSessionPool, i);
     }
 
@@ -115,18 +119,20 @@
         getConnection().setClientID(clientID);
     }
 
-    public ConnectionConsumer createConnectionConsumer(Queue queue, String selector, ServerSessionPool serverSessionPool, int maxMessages) throws JMSException {
+    public ConnectionConsumer createConnectionConsumer(Queue queue, String selector,
+                                                       ServerSessionPool serverSessionPool, int maxMessages)
+        throws JMSException {
         return getConnection().createConnectionConsumer(queue, selector, serverSessionPool, maxMessages);
     }
 
     // Session factory methods
     // -------------------------------------------------------------------------
     public QueueSession createQueueSession(boolean transacted, int ackMode) throws JMSException {
-        return (QueueSession) createSession(transacted, ackMode);
+        return (QueueSession)createSession(transacted, ackMode);
     }
 
     public TopicSession createTopicSession(boolean transacted, int ackMode) throws JMSException {
-        return (TopicSession) createSession(transacted, ackMode);
+        return (TopicSession)createSession(transacted, ackMode);
     }
 
     public Session createSession(boolean transacted, int ackMode) throws JMSException {
@@ -148,11 +154,11 @@
     }
 
     protected ActiveMQSession createSession(SessionKey key) throws JMSException {
-        return (ActiveMQSession) getConnection().createSession(key.isTransacted(), key.getAckMode());
+        return (ActiveMQSession)getConnection().createSession(key.isTransacted(), key.getAckMode());
     }
-    
+
     public String toString() {
-        return "PooledConnection { "+pool+" }";
+        return "PooledConnection { " + pool + " }";
     }
 
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java Wed Aug  8 11:56:59 2007
@@ -87,24 +87,24 @@
 
     public synchronized Connection createConnection(String userName, String password) throws JMSException {
         ConnectionKey key = new ConnectionKey(userName, password);
-        LinkedList pools = (LinkedList) cache.get(key);
-        
-        if (pools ==  null) {
+        LinkedList pools = (LinkedList)cache.get(key);
+
+        if (pools == null) {
             pools = new LinkedList();
             cache.put(key, pools);
         }
 
         ConnectionPool connection = null;
         if (pools.size() == maxConnections) {
-            connection = (ConnectionPool) pools.removeFirst();
+            connection = (ConnectionPool)pools.removeFirst();
         }
-        
-        // Now.. we might get a connection, but it might be that we need to 
+
+        // Now.. we might get a connection, but it might be that we need to
         // dump it..
-        if( connection!=null && connection.expiredCheck() ) {
-        	connection=null;
+        if (connection != null && connection.expiredCheck()) {
+            connection = null;
         }
-        
+
         if (connection == null) {
             ActiveMQConnection delegate = createConnection(key);
             connection = createConnectionPool(delegate);
@@ -112,17 +112,17 @@
         pools.add(connection);
         return new PooledConnection(connection);
     }
-    
+
     protected ConnectionPool createConnectionPool(ActiveMQConnection connection) {
         return new ConnectionPool(connection, getPoolFactory(), transactionManager);
     }
 
     protected ActiveMQConnection createConnection(ConnectionKey key) throws JMSException {
         if (key.getUserName() == null && key.getPassword() == null) {
-            return (ActiveMQConnection) connectionFactory.createConnection();
-        }
-        else {
-            return (ActiveMQConnection) connectionFactory.createConnection(key.getUserName(), key.getPassword());
+            return (ActiveMQConnection)connectionFactory.createConnection();
+        } else {
+            return (ActiveMQConnection)connectionFactory.createConnection(key.getUserName(), key
+                .getPassword());
         }
     }
 
@@ -132,17 +132,16 @@
     public void start() {
         try {
             createConnection();
-        }
-        catch (JMSException e) {
+        } catch (JMSException e) {
             IOExceptionSupport.create(e);
         }
     }
 
-    public void stop() throws Exception{
-        for(Iterator iter=cache.values().iterator();iter.hasNext();){
-            LinkedList list=(LinkedList)iter.next();
-            for(Iterator i=list.iterator();i.hasNext();){
-                ConnectionPool connection=(ConnectionPool)i.next();
+    public void stop() throws Exception {
+        for (Iterator iter = cache.values().iterator(); iter.hasNext();) {
+            LinkedList list = (LinkedList)iter.next();
+            for (Iterator i = list.iterator(); i.hasNext();) {
+                ConnectionPool connection = (ConnectionPool)i.next();
                 connection.close();
             }
         }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/proxy/ProxyConnector.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/proxy/ProxyConnector.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/proxy/ProxyConnector.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/proxy/ProxyConnector.java Wed Aug  8 11:56:59 2007
@@ -47,20 +47,19 @@
     private URI remote;
     private URI localUri;
     private String name;
-    
+
     CopyOnWriteArrayList connections = new CopyOnWriteArrayList();
-       
+
     public void start() throws Exception {
-        
+
         this.getServer().setAcceptListener(new TransportAcceptListener() {
             public void onAccept(Transport localTransport) {
                 try {
                     Transport remoteTransport = createRemoteTransport();
                     ProxyConnection connection = new ProxyConnection(localTransport, remoteTransport);
                     connections.add(connection);
-                    connection.start();                    
-                }
-                catch (Exception e) {
+                    connection.start();
+                } catch (Exception e) {
                     onAcceptError(e);
                 }
             }
@@ -70,7 +69,7 @@
             }
         });
         getServer().start();
-        log.info("Proxy Connector "+getName()+" Started");
+        log.info("Proxy Connector " + getName() + " Started");
 
     }
 
@@ -81,15 +80,15 @@
         }
         for (Iterator iter = connections.iterator(); iter.hasNext();) {
             log.info("Connector stopped: Stopping proxy.");
-            ss.stop((Service) iter.next());
+            ss.stop((Service)iter.next());
         }
         ss.throwFirstException();
         log.info("Proxy Connector " + getName() + " Stopped");
     }
-    
+
     // Properties
     // -------------------------------------------------------------------------
-    
+
     public URI getLocalUri() {
         return localUri;
     }
@@ -120,7 +119,7 @@
         }
         return server;
     }
-    
+
     public void setServer(TransportServer server) {
         this.server = server;
     }
@@ -134,25 +133,25 @@
 
     private Transport createRemoteTransport() throws Exception {
         Transport transport = TransportFactory.compositeConnect(remote);
-        CompositeTransport ct = (CompositeTransport) transport.narrow(CompositeTransport.class);
-        if( ct !=null && localUri!=null ) {
-            ct.add(new URI[]{localUri});
+        CompositeTransport ct = (CompositeTransport)transport.narrow(CompositeTransport.class);
+        if (ct != null && localUri != null) {
+            ct.add(new URI[] {localUri});
         }
-        
+
         // Add a transport filter so that can track the transport life cycle
         transport = new TransportFilter(transport) {
-        	public void stop() throws Exception {
-        		log.info("Stopping proxy.");
-        		super.stop();
-        		connections.remove(this);
-        	}
+            public void stop() throws Exception {
+                log.info("Stopping proxy.");
+                super.stop();
+                connections.remove(this);
+            }
         };
         return transport;
     }
 
     public String getName() {
-        if( name == null ) {
-            if( server!=null ) {
+        if (name == null) {
+            if (server != null) {
                 name = server.getConnectURI().toString();
             } else {
                 name = "proxy";

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthenticationUser.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthenticationUser.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthenticationUser.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthenticationUser.java Wed Aug  8 11:56:59 2007
@@ -16,48 +16,47 @@
  */
 package org.apache.activemq.security;
 
-
 /**
  * A helper object used to configure simple authentiaction plugin
- *  
+ * 
  * @org.apache.xbean.XBean
  * 
  * @version $Revision
  */
 public class AuthenticationUser {
 
-	String username;
-	String password;
-	String groups;
-	
-	
-	
-	public AuthenticationUser(String username, String password, String groups) {
-		this.username = username;
-		this.password = password;
-		this.groups = groups;
-	}
-	
-	
-	public String getGroups() {
-		return groups;
-	}
-	public void setGroups(String groups) {
-		this.groups = groups;
-	}
-	public String getPassword() {
-		return password;
-	}
-	public void setPassword(String password) {
-		this.password = password;
-	}
-	public String getUsername() {
-		return username;
-	}
-	public void setUsername(String username) {
-		this.username = username;
-	}
-	
-	
-	
+    String username;
+    String password;
+    String groups;
+
+    public AuthenticationUser(String username, String password, String groups) {
+        this.username = username;
+        this.password = password;
+        this.groups = groups;
+    }
+
+    public String getGroups() {
+        return groups;
+    }
+
+    public void setGroups(String groups) {
+        this.groups = groups;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationBroker.java Wed Aug  8 11:56:59 2007
@@ -16,6 +16,8 @@
  */
 package org.apache.activemq.security;
 
+import java.util.Set;
+
 import org.apache.activemq.broker.Broker;
 import org.apache.activemq.broker.BrokerFilter;
 import org.apache.activemq.broker.ConnectionContext;
@@ -24,170 +26,158 @@
 import org.apache.activemq.broker.region.Subscription;
 import org.apache.activemq.command.ActiveMQDestination;
 import org.apache.activemq.command.ActiveMQQueue;
-import org.apache.activemq.command.ActiveMQTempDestination;
 import org.apache.activemq.command.ActiveMQTopic;
 import org.apache.activemq.command.ConsumerInfo;
 import org.apache.activemq.command.Message;
 import org.apache.activemq.command.ProducerInfo;
-import org.apache.activemq.filter.BooleanExpression;
-import org.apache.activemq.filter.MessageEvaluationContext;
-
-import javax.jms.JMSException;
-
-import java.util.Set;
-
 
 /**
- * Verifies if a authenticated user can do an operation against the broker using an authorization map.
+ * Verifies if a authenticated user can do an operation against the broker using
+ * an authorization map.
  * 
  * @version $Revision$
  */
 public class AuthorizationBroker extends BrokerFilter implements SecurityAdminMBean {
-    
+
     private final AuthorizationMap authorizationMap;
 
     public AuthorizationBroker(Broker next, AuthorizationMap authorizationMap) {
         super(next);
         this.authorizationMap = authorizationMap;
     }
-    
+
     public Destination addDestination(ConnectionContext context, ActiveMQDestination destination) throws Exception {
-        final SecurityContext securityContext = (SecurityContext) context.getSecurityContext();
-        if( securityContext == null )
+        final SecurityContext securityContext = (SecurityContext)context.getSecurityContext();
+        if (securityContext == null) {
             throw new SecurityException("User is not authenticated.");
-
-
-        //if(!((ActiveMQTempDestination)destination).getConnectionId().equals(context.getConnectionId().getValue()) ) {
+        }
+        // if(!((ActiveMQTempDestination)destination).getConnectionId().equals(context.getConnectionId().getValue())
+        // ) {
         if (!securityContext.isBrokerContext()) {
             Set allowedACLs = null;
-            if(!destination.isTemporary()) {
+            if (!destination.isTemporary()) {
                 allowedACLs = authorizationMap.getAdminACLs(destination);
             } else {
                 allowedACLs = authorizationMap.getTempDestinationAdminACLs();
             }
-         
-            if(allowedACLs!=null && !securityContext.isInOneOf(allowedACLs))
-                throw new SecurityException("User "+securityContext.getUserName()+" is not authorized to create: "+destination);
+
+            if (allowedACLs != null && !securityContext.isInOneOf(allowedACLs)) {
+                throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to create: " + destination);
+            }
 
         }
         // }
 
         return super.addDestination(context, destination);
     }
-    
+
     public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception {
-        
-        final SecurityContext securityContext = (SecurityContext) context.getSecurityContext();
-        if( securityContext == null )
-            throw new SecurityException("User is not authenticated.");
 
+        final SecurityContext securityContext = (SecurityContext)context.getSecurityContext();
+        if (securityContext == null) {
+            throw new SecurityException("User is not authenticated.");
+        }
         Set allowedACLs = null;
-        if(!destination.isTemporary()) {
+        if (!destination.isTemporary()) {
             allowedACLs = authorizationMap.getAdminACLs(destination);
         } else {
-        	allowedACLs = authorizationMap.getTempDestinationAdminACLs();
+            allowedACLs = authorizationMap.getTempDestinationAdminACLs();
         }
-        
-    	if(allowedACLs!=null && !securityContext.isInOneOf(allowedACLs))
-            throw new SecurityException("User "+securityContext.getUserName()+" is not authorized to remove: "+destination);
 
+        if (allowedACLs != null && !securityContext.isInOneOf(allowedACLs)) {
+            throw new SecurityException("User " + securityContext.getUserName() + " is not authorized to remove: " + destination);
+        }
         super.removeDestination(context, destination, timeout);
     }
-    
+
     public Subscription addConsumer(ConnectionContext context, ConsumerInfo info) throws Exception {
-        
-        final SecurityContext subject = (SecurityContext) context.getSecurityContext();
-        if( subject == null )
+
+        final SecurityContext subject = (SecurityContext)context.getSecurityContext();
+        if (subject == null) {
             throw new SecurityException("User is not authenticated.");
-        
+        }
         Set allowedACLs = null;
-        if(!info.getDestination().isTemporary()) {
+        if (!info.getDestination().isTemporary()) {
             allowedACLs = authorizationMap.getReadACLs(info.getDestination());
-        }else {
-        	allowedACLs = authorizationMap.getTempDestinationReadACLs();
+        } else {
+            allowedACLs = authorizationMap.getTempDestinationReadACLs();
         }
 
-        if(allowedACLs!=null && !subject.isInOneOf(allowedACLs))
-            throw new SecurityException("User "+subject.getUserName()+" is not authorized to read from: "+info.getDestination());
-        
+        if (allowedACLs != null && !subject.isInOneOf(allowedACLs)) {
+            throw new SecurityException("User " + subject.getUserName() + " is not authorized to read from: " + info.getDestination());
+        }
         subject.getAuthorizedReadDests().put(info.getDestination(), info.getDestination());
-        
-        /* 
-         * Need to think about this a little more.  We could do per message security checking
-         * to implement finer grained security checking. For example a user can only see messages
-         * with price>1000 .  Perhaps this should just be another additional broker filter that installs 
-         * this type of feature.
-         * 
-         * If we did want to do that, then we would install a predicate.  We should be careful since
-         * there may be an existing predicate already assigned and the consumer info may be sent to a remote 
-         * broker, so it also needs to support being marshaled.
-         * 
-            info.setAdditionalPredicate(new BooleanExpression() {
-                public boolean matches(MessageEvaluationContext message) throws JMSException {
-                    if( !subject.getAuthorizedReadDests().contains(message.getDestination()) ) {
-                        Set allowedACLs = authorizationMap.getReadACLs(message.getDestination());
-                        if(allowedACLs!=null && !subject.isInOneOf(allowedACLs))
-                            return false;
-                        subject.getAuthorizedReadDests().put(message.getDestination(), message.getDestination());
-                    }
-                    return true;
-                }
-                public Object evaluate(MessageEvaluationContext message) throws JMSException {
-                    return matches(message) ? Boolean.TRUE : Boolean.FALSE;
-                }
-            });
-        */
-        
+
+        /*
+         * Need to think about this a little more. We could do per message
+         * security checking to implement finer grained security checking. For
+         * example a user can only see messages with price>1000 . Perhaps this
+         * should just be another additional broker filter that installs this
+         * type of feature. If we did want to do that, then we would install a
+         * predicate. We should be careful since there may be an existing
+         * predicate already assigned and the consumer info may be sent to a
+         * remote broker, so it also needs to support being marshaled.
+         * info.setAdditionalPredicate(new BooleanExpression() { public boolean
+         * matches(MessageEvaluationContext message) throws JMSException { if(
+         * !subject.getAuthorizedReadDests().contains(message.getDestination()) ) {
+         * Set allowedACLs =
+         * authorizationMap.getReadACLs(message.getDestination());
+         * if(allowedACLs!=null && !subject.isInOneOf(allowedACLs)) return
+         * false; subject.getAuthorizedReadDests().put(message.getDestination(),
+         * message.getDestination()); } return true; } public Object
+         * evaluate(MessageEvaluationContext message) throws JMSException {
+         * return matches(message) ? Boolean.TRUE : Boolean.FALSE; } });
+         */
+
         return super.addConsumer(context, info);
     }
-    
+
     public void addProducer(ConnectionContext context, ProducerInfo info) throws Exception {
-        
-        SecurityContext subject = (SecurityContext) context.getSecurityContext();
-        if( subject == null )
+
+        SecurityContext subject = (SecurityContext)context.getSecurityContext();
+        if (subject == null) {
             throw new SecurityException("User is not authenticated.");
-        
-        if( info.getDestination()!=null ) {
-        	
-        	Set allowedACLs = null;
-        	if(!info.getDestination().isTemporary()) {
-        		allowedACLs = authorizationMap.getWriteACLs(info.getDestination());          
-        	}else {
-        	   	allowedACLs = authorizationMap.getTempDestinationWriteACLs();
-        	}
-            if(allowedACLs!=null && !subject.isInOneOf(allowedACLs)) 
-                throw new SecurityException("User "+subject.getUserName()+" is not authorized to write to: "+info.getDestination());
-            
-            
+        }
+        if (info.getDestination() != null) {
+
+            Set allowedACLs = null;
+            if (!info.getDestination().isTemporary()) {
+                allowedACLs = authorizationMap.getWriteACLs(info.getDestination());
+            } else {
+                allowedACLs = authorizationMap.getTempDestinationWriteACLs();
+            }
+            if (allowedACLs != null && !subject.isInOneOf(allowedACLs)){
+                throw new SecurityException("User " + subject.getUserName() + " is not authorized to write to: " + info.getDestination());
+            }
             subject.getAuthorizedWriteDests().put(info.getDestination(), info.getDestination());
         }
-        
+
         super.addProducer(context, info);
     }
-        
+
     public void send(ProducerBrokerExchange producerExchange, Message messageSend) throws Exception {
-        SecurityContext subject = (SecurityContext) producerExchange.getConnectionContext().getSecurityContext();
-        if( subject == null )
+        SecurityContext subject = (SecurityContext)producerExchange.getConnectionContext().getSecurityContext();
+        if (subject == null) {
             throw new SecurityException("User is not authenticated.");
+        }
+        if (!subject.getAuthorizedWriteDests().contains(messageSend.getDestination())) {
+
+            Set allowedACLs = null;
+            if (!messageSend.getDestination().isTemporary()) {
+                allowedACLs = authorizationMap.getWriteACLs(messageSend.getDestination());
+            } else {
+                allowedACLs = authorizationMap.getTempDestinationWriteACLs();
+            }
 
-        if( !subject.getAuthorizedWriteDests().contains(messageSend.getDestination()) ) {
-        	
-        	Set allowedACLs = null;
-        	if(!messageSend.getDestination().isTemporary()) {
-                allowedACLs = authorizationMap.getWriteACLs(messageSend.getDestination());            
-        	}else {
-        		allowedACLs = authorizationMap.getTempDestinationWriteACLs();
-        	}
-            
-        	if(allowedACLs!=null && !subject.isInOneOf(allowedACLs))
-                throw new SecurityException("User "+subject.getUserName()+" is not authorized to write to: "+messageSend.getDestination());
-        	
+            if (allowedACLs != null && !subject.isInOneOf(allowedACLs)) {
+                throw new SecurityException("User " + subject.getUserName() + " is not authorized to write to: " + messageSend.getDestination());
+            }
             subject.getAuthorizedWriteDests().put(messageSend.getDestination(), messageSend.getDestination());
         }
 
         super.send(producerExchange, messageSend);
     }
-    
+
     // SecurityAdminMBean interface
     // -------------------------------------------------------------------------
 
@@ -206,13 +196,12 @@
     public void removeTopicRole(String topic, String operation, String role) {
         removeDestinationRole(new ActiveMQTopic(topic), operation, role);
     }
-    
+
     public void addDestinationRole(javax.jms.Destination destination, String operation, String role) {
     }
-    
+
     public void removeDestinationRole(javax.jms.Destination destination, String operation, String role) {
     }
-
 
     public void addRole(String role) {
     }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java Wed Aug  8 11:56:59 2007
@@ -16,8 +16,6 @@
  */
 package org.apache.activemq.security;
 
-import org.apache.activemq.filter.DestinationMapEntry;
-
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.util.Collections;
@@ -25,13 +23,14 @@
 import java.util.Set;
 import java.util.StringTokenizer;
 
+import org.apache.activemq.filter.DestinationMapEntry;
+
 /**
  * Represents an entry in a {@link DefaultAuthorizationMap} for assigning
  * different operations (read, write, admin) of user roles to a specific
  * destination or a hierarchical wildcard area of destinations.
  * 
  * @org.apache.xbean.XBean
- * 
  * @version $Revision$
  */
 public class AuthorizationEntry extends DestinationMapEntry {
@@ -39,20 +38,20 @@
     private Set readACLs = Collections.EMPTY_SET;
     private Set writeACLs = Collections.EMPTY_SET;
     private Set adminACLs = Collections.EMPTY_SET;
-    
+
     private String adminRoles = null;
     private String readRoles = null;
     private String writeRoles = null;
-    
+
     private String groupClass = "org.apache.activemq.jaas.GroupPrincipal";
-        
+
     public String getGroupClass() {
-    	return groupClass;
+        return groupClass;
     }
-     
+
     public void setGroupClass(String groupClass) {
         this.groupClass = groupClass;
-    }    
+    }
 
     public Set getAdminACLs() {
         return adminACLs;
@@ -79,23 +78,26 @@
     }
 
     // helper methods for easier configuration in Spring
-    // ACLs are already set in the afterPropertiesSet method to ensure that  groupClass is set first before
-    // calling parceACLs() on any of the roles. We still need to add  the call to parceACLs inside the helper
-    // methods for instances where we configure security programatically without using xbean
+    // ACLs are already set in the afterPropertiesSet method to ensure that
+    // groupClass is set first before
+    // calling parceACLs() on any of the roles. We still need to add the call to
+    // parceACLs inside the helper
+    // methods for instances where we configure security programatically without
+    // using xbean
     // -------------------------------------------------------------------------
     public void setAdmin(String roles) throws Exception {
-    	adminRoles = roles;
-    	setAdminACLs(parseACLs(adminRoles));
+        adminRoles = roles;
+        setAdminACLs(parseACLs(adminRoles));
     }
 
     public void setRead(String roles) throws Exception {
-    	readRoles = roles;
-    	setReadACLs(parseACLs(readRoles));
+        readRoles = roles;
+        setReadACLs(parseACLs(readRoles));
     }
 
     public void setWrite(String roles) throws Exception {
-    	writeRoles = roles;
-    	setWriteACLs(parseACLs(writeRoles));
+        writeRoles = roles;
+        setWriteACLs(parseACLs(writeRoles));
     }
 
     protected Set parseACLs(String roles) throws Exception {
@@ -105,58 +107,63 @@
             String name = iter.nextToken().trim();
             Class[] paramClass = new Class[1];
             paramClass[0] = String.class;
-            
+
             Object[] param = new Object[1];
             param[0] = name;
 
             try {
-            	Class cls = Class.forName(groupClass);
-            	
-            	Constructor[] constructors = cls.getConstructors();
-            	int i;
-            	for (i=0; i<constructors.length; i++) {
-            		Class[] paramTypes = constructors[i].getParameterTypes(); 
-            		if (paramTypes.length!=0 && paramTypes[0].equals(paramClass[0])) break;
-            	}
-            	if (i < constructors.length) {
-            		Object instance = constructors[i].newInstance(param);
-                	answer.add(instance);
-            	}
-            	else {
-            		Object instance = cls.newInstance();
-            		Method[] methods = cls.getMethods();
-            		i=0;
-            		for (i=0; i<methods.length; i++) {
-            			Class[] paramTypes = methods[i].getParameterTypes();
-            			if (paramTypes.length!=0 && methods[i].getName().equals("setName") && paramTypes[0].equals(paramClass[0])) break;
-            		}
-                		
-                	if (i < methods.length) {
-                		methods[i].invoke(instance, param);
-                    	answer.add(instance);
-                	}
-                	else throw new NoSuchMethodException();
-            	}
+                Class cls = Class.forName(groupClass);
+
+                Constructor[] constructors = cls.getConstructors();
+                int i;
+                for (i = 0; i < constructors.length; i++) {
+                    Class[] paramTypes = constructors[i].getParameterTypes();
+                    if (paramTypes.length != 0 && paramTypes[0].equals(paramClass[0])) {
+                        break;
+                    }
+                }
+                if (i < constructors.length) {
+                    Object instance = constructors[i].newInstance(param);
+                    answer.add(instance);
+                } else {
+                    Object instance = cls.newInstance();
+                    Method[] methods = cls.getMethods();
+                    i = 0;
+                    for (i = 0; i < methods.length; i++) {
+                        Class[] paramTypes = methods[i].getParameterTypes();
+                        if (paramTypes.length != 0 && methods[i].getName().equals("setName") && paramTypes[0].equals(paramClass[0])) {
+                            break;
+                        }
+                    }
+
+                    if (i < methods.length) {
+                        methods[i].invoke(instance, param);
+                        answer.add(instance);
+                    } else {
+                        throw new NoSuchMethodException();
+                    }
+                }
+            } catch (Exception e) {
+                throw e;
             }
-            catch (Exception e) { throw e; }
         }
         return answer;
     }
-    
+
     public void afterPropertiesSet() throws Exception {
         super.afterPropertiesSet();
-        
-        if(adminRoles!=null) {
-        	setAdminACLs(parseACLs(adminRoles));
+
+        if (adminRoles != null) {
+            setAdminACLs(parseACLs(adminRoles));
         }
 
-        if(writeRoles!=null) {
-        	setWriteACLs(parseACLs(writeRoles));
+        if (writeRoles != null) {
+            setWriteACLs(parseACLs(writeRoles));
         }
-        
-        if(readRoles!=null) {
-        	setReadACLs(parseACLs(readRoles));
+
+        if (readRoles != null) {
+            setReadACLs(parseACLs(readRoles));
         }
-        
-    }    
+
+    }
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/DefaultAuthorizationMap.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/DefaultAuthorizationMap.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/DefaultAuthorizationMap.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/DefaultAuthorizationMap.java Wed Aug  8 11:56:59 2007
@@ -27,7 +27,8 @@
 /**
  * Represents a destination based configuration of policies so that individual
  * destinations or wildcard hierarchies of destinations can be configured using
- * different policies. Each entry in the map represents the authorization ACLs for each operation.
+ * different policies. Each entry in the map represents the authorization ACLs
+ * for each operation.
  * 
  * @org.apache.xbean.XBean element="authorizationMap"
  * 
@@ -36,53 +37,53 @@
 public class DefaultAuthorizationMap extends DestinationMap implements AuthorizationMap {
 
     private AuthorizationEntry defaultEntry;
-    
+
     private TempDestinationAuthorizationEntry tempDestinationAuthorizationEntry;
-    
+
     public DefaultAuthorizationMap() {
     }
 
     public DefaultAuthorizationMap(List authorizationEntries) {
         setAuthorizationEntries(authorizationEntries);
-       
+
     }
 
-  
-    public void setTempDestinationAuthorizationEntry(TempDestinationAuthorizationEntry tempDestinationAuthorizationEntry) {
+    public void setTempDestinationAuthorizationEntry(
+                                                     TempDestinationAuthorizationEntry tempDestinationAuthorizationEntry) {
         this.tempDestinationAuthorizationEntry = tempDestinationAuthorizationEntry;
-    }    
-    
+    }
+
     public TempDestinationAuthorizationEntry getTempDestinationAuthorizationEntry() {
         return this.tempDestinationAuthorizationEntry;
-    }    
-    
+    }
+
     public Set getTempDestinationAdminACLs() {
-        if(tempDestinationAuthorizationEntry != null)    
-        	return tempDestinationAuthorizationEntry.getAdminACLs();
+        if (tempDestinationAuthorizationEntry != null)
+            return tempDestinationAuthorizationEntry.getAdminACLs();
         else
-        	return null;
+            return null;
     }
-    
+
     public Set getTempDestinationReadACLs() {
-    	if(tempDestinationAuthorizationEntry != null)  
-           	return tempDestinationAuthorizationEntry.getReadACLs();
-    	else
-    		return null;
+        if (tempDestinationAuthorizationEntry != null)
+            return tempDestinationAuthorizationEntry.getReadACLs();
+        else
+            return null;
     }
-    
+
     public Set getTempDestinationWriteACLs() {
-    	if(tempDestinationAuthorizationEntry != null)
-           	return tempDestinationAuthorizationEntry.getWriteACLs();
-    	else
-    		return null;
-    }    
-    
+        if (tempDestinationAuthorizationEntry != null)
+            return tempDestinationAuthorizationEntry.getWriteACLs();
+        else
+            return null;
+    }
+
     public Set getAdminACLs(ActiveMQDestination destination) {
         Set entries = getAllEntries(destination);
         Set answer = new HashSet();
-        // now lets go through each entry adding individual 
+        // now lets go through each entry adding individual
         for (Iterator iter = entries.iterator(); iter.hasNext();) {
-            AuthorizationEntry entry = (AuthorizationEntry) iter.next();
+            AuthorizationEntry entry = (AuthorizationEntry)iter.next();
             answer.addAll(entry.getAdminACLs());
         }
         return answer;
@@ -91,10 +92,10 @@
     public Set getReadACLs(ActiveMQDestination destination) {
         Set entries = getAllEntries(destination);
         Set answer = new HashSet();
-        
-        // now lets go through each entry adding individual 
+
+        // now lets go through each entry adding individual
         for (Iterator iter = entries.iterator(); iter.hasNext();) {
-            AuthorizationEntry entry = (AuthorizationEntry) iter.next();
+            AuthorizationEntry entry = (AuthorizationEntry)iter.next();
             answer.addAll(entry.getReadACLs());
         }
         return answer;
@@ -103,17 +104,17 @@
     public Set getWriteACLs(ActiveMQDestination destination) {
         Set entries = getAllEntries(destination);
         Set answer = new HashSet();
-        
-        // now lets go through each entry adding individual 
+
+        // now lets go through each entry adding individual
         for (Iterator iter = entries.iterator(); iter.hasNext();) {
-            AuthorizationEntry entry = (AuthorizationEntry) iter.next();
+            AuthorizationEntry entry = (AuthorizationEntry)iter.next();
             answer.addAll(entry.getWriteACLs());
         }
         return answer;
     }
 
     public AuthorizationEntry getEntryFor(ActiveMQDestination destination) {
-        AuthorizationEntry answer = (AuthorizationEntry) chooseValue(destination);
+        AuthorizationEntry answer = (AuthorizationEntry)chooseValue(destination);
         if (answer == null) {
             answer = getDefaultEntry();
         }
@@ -140,13 +141,13 @@
     protected Class getEntryClass() {
         return AuthorizationEntry.class;
     }
+
     protected Set getAllEntries(ActiveMQDestination destination) {
         Set entries = get(destination);
         if (defaultEntry != null) {
-        entries.add(defaultEntry);
+            entries.add(defaultEntry);
         }
         return entries;
     }
-
 
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/JaasAuthenticationBroker.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/JaasAuthenticationBroker.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/JaasAuthenticationBroker.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/JaasAuthenticationBroker.java Wed Aug  8 11:56:59 2007
@@ -31,7 +31,6 @@
 
 import java.util.concurrent.CopyOnWriteArrayList;
 
-
 /**
  * Logs a user in using JAAS.
  * 
@@ -46,7 +45,7 @@
         super(next);
         this.jassConfiguration = jassConfiguration;
     }
-    
+
     static class JaasSecurityContext extends SecurityContext {
 
         private final Subject subject;
@@ -59,28 +58,31 @@
         public Set getPrincipals() {
             return subject.getPrincipals();
         }
-        
+
     }
-    
+
     public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception {
 
-        if( context.getSecurityContext()==null ) {
-            // Set the TCCL since it seems JAAS needs it to find the login module classes.
+        if (context.getSecurityContext() == null) {
+            // Set the TCCL since it seems JAAS needs it to find the login
+            // module classes.
             ClassLoader original = Thread.currentThread().getContextClassLoader();
             Thread.currentThread().setContextClassLoader(JaasAuthenticationBroker.class.getClassLoader());
             try {
                 // Do the login.
                 try {
-                    JassCredentialCallbackHandler callback = new JassCredentialCallbackHandler(info.getUserName(), info.getPassword());
+                    JassCredentialCallbackHandler callback = new JassCredentialCallbackHandler(info
+                        .getUserName(), info.getPassword());
                     LoginContext lc = new LoginContext(jassConfiguration, callback);
                     lc.login();
                     Subject subject = lc.getSubject();
-                    
+
                     SecurityContext s = new JaasSecurityContext(info.getUserName(), subject);
                     context.setSecurityContext(s);
                     securityContexts.add(s);
                 } catch (Exception e) {
-                    throw (SecurityException)new SecurityException("User name or password is invalid.").initCause(e);
+                    throw (SecurityException)new SecurityException("User name or password is invalid.")
+                        .initCause(e);
                 }
             } finally {
                 Thread.currentThread().setContextClassLoader(original);
@@ -88,21 +90,22 @@
         }
         super.addConnection(context, info);
     }
-    
-    public void removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error) throws Exception {
+
+    public void removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error)
+        throws Exception {
         super.removeConnection(context, info, error);
-        if( securityContexts.remove(context.getSecurityContext()) ) {
+        if (securityContexts.remove(context.getSecurityContext())) {
             context.setSecurityContext(null);
         }
     }
-    
+
     /**
-     * Previously logged in users may no longer have the same access anymore.  Refresh
-     * all the logged into users. 
+     * Previously logged in users may no longer have the same access anymore.
+     * Refresh all the logged into users.
      */
     public void refresh() {
         for (Iterator iter = securityContexts.iterator(); iter.hasNext();) {
-            SecurityContext sc = (SecurityContext) iter.next();
+            SecurityContext sc = (SecurityContext)iter.next();
             sc.getAuthorizedReadDests().clear();
             sc.getAuthorizedWriteDests().clear();
         }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SecurityContext.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SecurityContext.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SecurityContext.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SecurityContext.java Wed Aug  8 11:56:59 2007
@@ -40,7 +40,7 @@
     };
 
     final String userName;
-    
+
     final ConcurrentHashMap authorizedReadDests = new ConcurrentHashMap();
     final ConcurrentHashMap authorizedWriteDests = new ConcurrentHashMap();
 
@@ -51,11 +51,11 @@
     public boolean isInOneOf(Set allowedPrincipals) {
         HashSet set = new HashSet(getPrincipals());
         set.retainAll(allowedPrincipals);
-        return set.size()>0;
+        return set.size() > 0;
     }
 
     abstract public Set getPrincipals();
-    
+
     public String getUserName() {
         return userName;
     }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationBroker.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationBroker.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationBroker.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationBroker.java Wed Aug  8 11:56:59 2007
@@ -27,62 +27,62 @@
 
 import java.util.concurrent.CopyOnWriteArrayList;
 
-
 /**
  * Handles authenticating a users against a simple user name/password map.
  * 
  * @version $Revision$
  */
 public class SimpleAuthenticationBroker extends BrokerFilter {
-    
+
     private final Map userPasswords;
     private final Map userGroups;
     private final CopyOnWriteArrayList securityContexts = new CopyOnWriteArrayList();
-    
+
     public SimpleAuthenticationBroker(Broker next, Map userPasswords, Map userGroups) {
         super(next);
         this.userPasswords = userPasswords;
         this.userGroups = userGroups;
     }
-    
+
     public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception {
 
-        if( context.getSecurityContext()==null ) {
+        if (context.getSecurityContext() == null) {
             // Check the username and password.
-            String pw = (String) userPasswords.get(info.getUserName());
-            if( pw == null || !pw.equals(info.getPassword()) )
+            String pw = (String)userPasswords.get(info.getUserName());
+            if (pw == null || !pw.equals(info.getPassword()))
                 throw new SecurityException("User name or password is invalid.");
-        
+
             final Set groups = (Set)userGroups.get(info.getUserName());
             SecurityContext s = new SecurityContext(info.getUserName()) {
                 public Set getPrincipals() {
                     return groups;
                 }
             };
-            
+
             context.setSecurityContext(s);
             securityContexts.add(s);
         }
         super.addConnection(context, info);
     }
-    
-    public void removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error) throws Exception {
+
+    public void removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error)
+        throws Exception {
         super.removeConnection(context, info, error);
-        if( securityContexts.remove(context.getSecurityContext()) ) {
+        if (securityContexts.remove(context.getSecurityContext())) {
             context.setSecurityContext(null);
         }
     }
-    
+
     /**
-     * Previously logged in users may no longer have the same access anymore.  Refresh
-     * all the logged into users. 
+     * Previously logged in users may no longer have the same access anymore.
+     * Refresh all the logged into users.
      */
     public void refresh() {
         for (Iterator iter = securityContexts.iterator(); iter.hasNext();) {
-            SecurityContext sc = (SecurityContext) iter.next();
+            SecurityContext sc = (SecurityContext)iter.next();
             sc.getAuthorizedReadDests().clear();
             sc.getAuthorizedWriteDests().clear();
         }
     }
-    
+
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationPlugin.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationPlugin.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationPlugin.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthenticationPlugin.java Wed Aug  8 11:56:59 2007
@@ -33,9 +33,11 @@
 
 /**
  * A simple authentication plugin
- *  
- * @org.apache.xbean.XBean element="simpleAuthenticationPlugin" description="Provides a simple authentication
- * plugin configured with a map of user-passwords and a map of user-groups or a list of authentication users"
+ * 
+ * @org.apache.xbean.XBean element="simpleAuthenticationPlugin"
+ *                         description="Provides a simple authentication plugin
+ *                         configured with a map of user-passwords and a map of
+ *                         user-groups or a list of authentication users"
  * 
  * @version $Revision$
  */
@@ -43,10 +45,11 @@
     private Map userPasswords;
     private Map userGroups;
 
-    public SimpleAuthenticationPlugin() {}
+    public SimpleAuthenticationPlugin() {
+    }
 
     public SimpleAuthenticationPlugin(List users) {
-    	setUsers(users);
+        setUsers(users);
     }
 
     public Broker installPlugin(Broker broker) {
@@ -56,30 +59,31 @@
     public Map getUserGroups() {
         return userGroups;
     }
-    
+
     /**
      * Sets individual users for authentication
      * 
      * @org.apache.xbean.ElementType class="org.apache.activemq.security.AuthenticationUser"
      */
     public void setUsers(List users) {
-    	userPasswords = new HashMap();
-    	userGroups = new HashMap();
-    	for (Iterator it = users.iterator(); it.hasNext();) {
-    	    AuthenticationUser user = (AuthenticationUser)it.next();
-    	    userPasswords.put(user.getUsername(), user.getPassword());
+        userPasswords = new HashMap();
+        userGroups = new HashMap();
+        for (Iterator it = users.iterator(); it.hasNext();) {
+            AuthenticationUser user = (AuthenticationUser)it.next();
+            userPasswords.put(user.getUsername(), user.getPassword());
             Set groups = new HashSet();
             StringTokenizer iter = new StringTokenizer(user.getGroups(), ",");
             while (iter.hasMoreTokens()) {
                 String name = iter.nextToken().trim();
                 groups.add(new GroupPrincipal(name));
             }
-    	    userGroups.put(user.getUsername(), groups);
-    	}
-    }    
+            userGroups.put(user.getUsername(), groups);
+        }
+    }
 
     /**
-     * Sets the groups a user is in. The key is the user name and the value is a Set of groups
+     * Sets the groups a user is in. The key is the user name and the value is a
+     * Set of groups
      */
     public void setUserGroups(Map userGroups) {
         this.userGroups = userGroups;

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthorizationMap.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthorizationMap.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthorizationMap.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/SimpleAuthorizationMap.java Wed Aug  8 11:56:59 2007
@@ -36,7 +36,7 @@
     private DestinationMap adminACLs;
 
     private TempDestinationAuthorizationEntry tempDestinationAuthorizationEntry;
-    
+
     public SimpleAuthorizationMap() {
     }
 
@@ -47,41 +47,43 @@
     }
 
     /*
-     * Need to think how to retrieve the ACLs for temporary destinations since they are not map 
-     * to a specific destination. For now we'll just retrieve it from a TempDestinationAuthorizationEntry 
-     * same way as the DefaultAuthorizationMap. The ACLs retrieved here will be map to all temp destinations
+     * Need to think how to retrieve the ACLs for temporary destinations since
+     * they are not map to a specific destination. For now we'll just retrieve
+     * it from a TempDestinationAuthorizationEntry same way as the
+     * DefaultAuthorizationMap. The ACLs retrieved here will be map to all temp
+     * destinations
      */
-    
-    public void setTempDestinationAuthorizationEntry(TempDestinationAuthorizationEntry tempDestinationAuthorizationEntry) {
+
+    public void setTempDestinationAuthorizationEntry(
+                                                     TempDestinationAuthorizationEntry tempDestinationAuthorizationEntry) {
         this.tempDestinationAuthorizationEntry = tempDestinationAuthorizationEntry;
-    }    
-    
+    }
+
     public TempDestinationAuthorizationEntry getTempDestinationAuthorizationEntry() {
         return this.tempDestinationAuthorizationEntry;
-    }    
+    }
 
-    
     public Set getTempDestinationAdminACLs() {
-        if(tempDestinationAuthorizationEntry != null)    
-        	return tempDestinationAuthorizationEntry.getAdminACLs();
+        if (tempDestinationAuthorizationEntry != null)
+            return tempDestinationAuthorizationEntry.getAdminACLs();
         else
-        	return null;
+            return null;
     }
-    
+
     public Set getTempDestinationReadACLs() {
-    	if(tempDestinationAuthorizationEntry != null)  
-           	return tempDestinationAuthorizationEntry.getReadACLs();
-    	else
-    		return null;
+        if (tempDestinationAuthorizationEntry != null)
+            return tempDestinationAuthorizationEntry.getReadACLs();
+        else
+            return null;
     }
-    
+
     public Set getTempDestinationWriteACLs() {
-    	if(tempDestinationAuthorizationEntry != null)
-           	return tempDestinationAuthorizationEntry.getWriteACLs();
-    	else
-    		return null;
-    }       
-        
+        if (tempDestinationAuthorizationEntry != null)
+            return tempDestinationAuthorizationEntry.getWriteACLs();
+        else
+            return null;
+    }
+
     public Set getAdminACLs(ActiveMQDestination destination) {
         return adminACLs.get(destination);
     }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitor.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitor.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitor.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitor.java Wed Aug  8 11:56:59 2007
@@ -47,45 +47,71 @@
 public interface CommandVisitor {
 
     Response processAddConnection(ConnectionInfo info) throws Exception;
+
     Response processAddSession(SessionInfo info) throws Exception;
+
     Response processAddProducer(ProducerInfo info) throws Exception;
+
     Response processAddConsumer(ConsumerInfo info) throws Exception;
-    
+
     Response processRemoveConnection(ConnectionId id) throws Exception;
+
     Response processRemoveSession(SessionId id) throws Exception;
+
     Response processRemoveProducer(ProducerId id) throws Exception;
+
     Response processRemoveConsumer(ConsumerId id) throws Exception;
-    
+
     Response processAddDestination(DestinationInfo info) throws Exception;
+
     Response processRemoveDestination(DestinationInfo info) throws Exception;
+
     Response processRemoveSubscription(RemoveSubscriptionInfo info) throws Exception;
-    
+
     Response processMessage(Message send) throws Exception;
+
     Response processMessageAck(MessageAck ack) throws Exception;
+
     Response processMessagePull(MessagePull pull) throws Exception;
 
     Response processBeginTransaction(TransactionInfo info) throws Exception;
+
     Response processPrepareTransaction(TransactionInfo info) throws Exception;
+
     Response processCommitTransactionOnePhase(TransactionInfo info) throws Exception;
+
     Response processCommitTransactionTwoPhase(TransactionInfo info) throws Exception;
+
     Response processRollbackTransaction(TransactionInfo info) throws Exception;
 
     Response processWireFormat(WireFormatInfo info) throws Exception;
+
     Response processKeepAlive(KeepAliveInfo info) throws Exception;
+
     Response processShutdown(ShutdownInfo info) throws Exception;
+
     Response processFlush(FlushCommand command) throws Exception;
 
     Response processBrokerInfo(BrokerInfo info) throws Exception;
+
     Response processRecoverTransactions(TransactionInfo info) throws Exception;
+
     Response processForgetTransaction(TransactionInfo info) throws Exception;
+
     Response processEndTransaction(TransactionInfo info) throws Exception;
+
     Response processMessageDispatchNotification(MessageDispatchNotification notification) throws Exception;
-	Response processProducerAck(ProducerAck ack) throws Exception;
-	Response processMessageDispatch(MessageDispatch dispatch) throws Exception;
-	Response processControlCommand(ControlCommand command) throws Exception;
-	Response processConnectionError(ConnectionError error) throws Exception;
-	Response processConnectionControl(ConnectionControl control) throws Exception;
-	Response processConsumerControl(ConsumerControl control) throws Exception;
-    
-}
 
+    Response processProducerAck(ProducerAck ack) throws Exception;
+
+    Response processMessageDispatch(MessageDispatch dispatch) throws Exception;
+
+    Response processControlCommand(ControlCommand command) throws Exception;
+
+    Response processConnectionError(ConnectionError error) throws Exception;
+
+    Response processConnectionControl(ConnectionControl control) throws Exception;
+
+    Response processConsumerControl(ConsumerControl control) throws Exception;
+
+}

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitorAdapter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitorAdapter.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitorAdapter.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/CommandVisitorAdapter.java Wed Aug  8 11:56:59 2007
@@ -46,140 +46,141 @@
 
 public class CommandVisitorAdapter implements CommandVisitor {
 
-	public Response processAddConnection(ConnectionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processAddConsumer(ConsumerInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processAddDestination(DestinationInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processAddProducer(ProducerInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processAddSession(SessionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processBeginTransaction(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processBrokerInfo(BrokerInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processCommitTransactionOnePhase(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processCommitTransactionTwoPhase(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processEndTransaction(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processFlush(FlushCommand command) throws Exception {
-		return null;
-	}
-
-	public Response processForgetTransaction(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processKeepAlive(KeepAliveInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processMessage(Message send) throws Exception {
-		return null;
-	}
-
-	public Response processMessageAck(MessageAck ack) throws Exception {
-		return null;
-	}
-
-	public Response processMessageDispatchNotification(MessageDispatchNotification notification) throws Exception {
-		return null;
-	}
-
-	public Response processMessagePull(MessagePull pull) throws Exception {
-		return null;
-	}
-
-	public Response processPrepareTransaction(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processProducerAck(ProducerAck ack) throws Exception {
-		return null;
-	}
-
-	public Response processRecoverTransactions(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processRemoveConnection(ConnectionId id) throws Exception {
-		return null;
-	}
-
-	public Response processRemoveConsumer(ConsumerId id) throws Exception {
-		return null;
-	}
-
-	public Response processRemoveDestination(DestinationInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processRemoveProducer(ProducerId id) throws Exception {
-		return null;
-	}
-
-	public Response processRemoveSession(SessionId id) throws Exception {
-		return null;
-	}
-
-	public Response processRemoveSubscription(RemoveSubscriptionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processRollbackTransaction(TransactionInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processShutdown(ShutdownInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processWireFormat(WireFormatInfo info) throws Exception {
-		return null;
-	}
-
-	public Response processMessageDispatch(MessageDispatch dispatch) throws Exception {
-		return null;
-	}
-
-	public Response processControlCommand(ControlCommand command) throws Exception {
-		return null;
-	}
-
-	public Response processConnectionControl(ConnectionControl control) throws Exception {
-		return null;
-	}
-
-	public Response processConnectionError(ConnectionError error) throws Exception {
-		return null;
-	}
-
-	public Response processConsumerControl(ConsumerControl control) throws Exception {
-		return null;
-	}
+    public Response processAddConnection(ConnectionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processAddConsumer(ConsumerInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processAddDestination(DestinationInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processAddProducer(ProducerInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processAddSession(SessionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processBeginTransaction(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processBrokerInfo(BrokerInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processCommitTransactionOnePhase(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processCommitTransactionTwoPhase(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processEndTransaction(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processFlush(FlushCommand command) throws Exception {
+        return null;
+    }
+
+    public Response processForgetTransaction(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processKeepAlive(KeepAliveInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processMessage(Message send) throws Exception {
+        return null;
+    }
+
+    public Response processMessageAck(MessageAck ack) throws Exception {
+        return null;
+    }
+
+    public Response processMessageDispatchNotification(MessageDispatchNotification notification)
+        throws Exception {
+        return null;
+    }
+
+    public Response processMessagePull(MessagePull pull) throws Exception {
+        return null;
+    }
+
+    public Response processPrepareTransaction(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processProducerAck(ProducerAck ack) throws Exception {
+        return null;
+    }
+
+    public Response processRecoverTransactions(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processRemoveConnection(ConnectionId id) throws Exception {
+        return null;
+    }
+
+    public Response processRemoveConsumer(ConsumerId id) throws Exception {
+        return null;
+    }
+
+    public Response processRemoveDestination(DestinationInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processRemoveProducer(ProducerId id) throws Exception {
+        return null;
+    }
+
+    public Response processRemoveSession(SessionId id) throws Exception {
+        return null;
+    }
+
+    public Response processRemoveSubscription(RemoveSubscriptionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processRollbackTransaction(TransactionInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processShutdown(ShutdownInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processWireFormat(WireFormatInfo info) throws Exception {
+        return null;
+    }
+
+    public Response processMessageDispatch(MessageDispatch dispatch) throws Exception {
+        return null;
+    }
+
+    public Response processControlCommand(ControlCommand command) throws Exception {
+        return null;
+    }
+
+    public Response processConnectionControl(ConnectionControl control) throws Exception {
+        return null;
+    }
+
+    public Response processConnectionError(ConnectionError error) throws Exception {
+        return null;
+    }
+
+    public Response processConsumerControl(ConsumerControl control) throws Exception {
+        return null;
+    }
 
 }

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/ConnectionState.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/ConnectionState.java?view=diff&rev=563982&r1=563981&r2=563982
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/ConnectionState.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/state/ConnectionState.java Wed Aug  8 11:56:59 2007
@@ -34,71 +34,75 @@
 import org.apache.activemq.command.TransactionId;
 
 public class ConnectionState {
-    
+
     ConnectionInfo info;
     private final ConcurrentHashMap transactions = new ConcurrentHashMap();
     private final ConcurrentHashMap sessions = new ConcurrentHashMap();
     private final List tempDestinations = Collections.synchronizedList(new ArrayList());
     private final AtomicBoolean shutdown = new AtomicBoolean(false);
-    
+
     public ConnectionState(ConnectionInfo info) {
         this.info = info;
         // Add the default session id.
         addSession(new SessionInfo(info, -1));
     }
-    
+
     public String toString() {
         return info.toString();
     }
-    
-	public void reset(ConnectionInfo info) {
-		this.info=info;
-		transactions.clear();
-		sessions.clear();
-		tempDestinations.clear();
-		shutdown.set(false);
-	}
 
+    public void reset(ConnectionInfo info) {
+        this.info = info;
+        transactions.clear();
+        sessions.clear();
+        tempDestinations.clear();
+        shutdown.set(false);
+    }
 
     public void addTempDestination(DestinationInfo info) {
-    	checkShutdown();
+        checkShutdown();
         tempDestinations.add(info);
     }
 
-	public void removeTempDestination(ActiveMQDestination destination) {
+    public void removeTempDestination(ActiveMQDestination destination) {
         for (Iterator iter = tempDestinations.iterator(); iter.hasNext();) {
-            DestinationInfo di = (DestinationInfo) iter.next();
-            if( di.getDestination().equals(destination) ) {
+            DestinationInfo di = (DestinationInfo)iter.next();
+            if (di.getDestination().equals(destination)) {
                 iter.remove();
             }
         }
     }
-	
+
     public void addTransactionState(TransactionId id) {
-    	checkShutdown();
-    	transactions.put(id, new TransactionState(id));
-    }        
+        checkShutdown();
+        transactions.put(id, new TransactionState(id));
+    }
+
     public TransactionState getTransactionState(TransactionId id) {
         return (TransactionState)transactions.get(id);
     }
+
     public Collection getTransactionStates() {
         return transactions.values();
     }
+
     public TransactionState removeTransactionState(TransactionId id) {
-        return (TransactionState) transactions.remove(id);
+        return (TransactionState)transactions.remove(id);
     }
 
     public void addSession(SessionInfo info) {
-    	checkShutdown();
-        sessions.put(info.getSessionId(), new SessionState(info));            
-    }        
+        checkShutdown();
+        sessions.put(info.getSessionId(), new SessionState(info));
+    }
+
     public SessionState removeSession(SessionId id) {
         return (SessionState)sessions.remove(id);
     }
+
     public SessionState getSessionState(SessionId id) {
         return (SessionState)sessions.get(id);
     }
-    
+
     public ConnectionInfo getInfo() {
         return info;
     }
@@ -114,18 +118,18 @@
     public Collection getSessionStates() {
         return sessions.values();
     }
-    
+
     private void checkShutdown() {
-		if( shutdown.get() )
-			throw new IllegalStateException("Disposed");
-	}
-    
+        if (shutdown.get())
+            throw new IllegalStateException("Disposed");
+    }
+
     public void shutdown() {
-    	if( shutdown.compareAndSet(false, true) ) {
-    		for (Iterator iter = sessions.values().iterator(); iter.hasNext();) {
-				SessionState ss = (SessionState) iter.next();
-				ss.shutdown();
-			}
-    	}
+        if (shutdown.compareAndSet(false, true)) {
+            for (Iterator iter = sessions.values().iterator(); iter.hasNext();) {
+                SessionState ss = (SessionState)iter.next();
+                ss.shutdown();
+            }
+        }
     }
 }