Author: rgodfrey
Date: Thu Nov 17 19:20:52 2016
New Revision: 1770262

URL: http://svn.apache.org/viewvc?rev=1770262&view=rev
Log:
QPID-7496 : Introduce a base class for non-connection accepting virtual hosts

Added:
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractNonConnectionAcceptingVirtualHost.java
   (with props)
Modified:
    
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java

Modified: 
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java?rev=1770262&r1=1770261&r2=1770262&view=diff
==============================================================================
--- 
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
 (original)
+++ 
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
 Thu Nov 17 19:20:52 2016
@@ -19,55 +19,29 @@
 
 package org.apache.qpid.server.virtualhost.berkeleydb;
 
-import java.security.Principal;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.common.util.concurrent.ListenableFuture;
-
-import org.apache.qpid.server.message.MessageDestination;
-import org.apache.qpid.server.message.MessageSource;
-import org.apache.qpid.server.model.AbstractConfiguredObject;
-import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Connection;
 import org.apache.qpid.server.model.ManagedObject;
 import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
-import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.VirtualHostNode;
-import org.apache.qpid.server.model.port.AmqpPort;
-import org.apache.qpid.server.protocol.LinkRegistry;
-import org.apache.qpid.server.store.MessageStore;
-import org.apache.qpid.server.transport.AMQPConnection;
-import org.apache.qpid.server.txn.DtxRegistry;
-import org.apache.qpid.server.virtualhost.VirtualHostPrincipal;
+import 
org.apache.qpid.server.virtualhost.AbstractNonConnectionAcceptingVirtualHost;
 
 /**
   Object that represents the VirtualHost whilst the VirtualHostNode is in the 
replica role.  The
   real virtualhost will be elsewhere in the group.
  */
 @ManagedObject( category = false, type = "BDB_HA_REPLICA", register = false )
-public class BDBHAReplicaVirtualHostImpl extends 
AbstractConfiguredObject<BDBHAReplicaVirtualHostImpl> implements 
BDBHAReplicaVirtualHost<BDBHAReplicaVirtualHostImpl>
+public class BDBHAReplicaVirtualHostImpl extends 
AbstractNonConnectionAcceptingVirtualHost<BDBHAReplicaVirtualHostImpl>
+        implements BDBHAReplicaVirtualHost<BDBHAReplicaVirtualHostImpl>
 {
-    private final VirtualHostPrincipal _principal;
 
     @ManagedObjectFactoryConstructor(conditionallyAvailable = true, condition 
= "org.apache.qpid.server.JECheck#isAvailable()")
     public BDBHAReplicaVirtualHostImpl(final Map<String, Object> attributes, 
VirtualHostNode<?> virtualHostNode)
     {
         super(parentsMap(virtualHostNode), attributes);
 
-        _principal = new VirtualHostPrincipal(this);
-        setState(State.UNAVAILABLE);
-    }
-
-    @Override
-    public boolean isActive()
-    {
-        return false;
     }
 
     @Override
@@ -75,128 +49,7 @@ public class BDBHAReplicaVirtualHostImpl
     {
         super.validateChange(proxyForValidation, changedAttributes);
 
-        throwUnsupportedForReplica();
-    }
-
-    @Override
-    public String getModelVersion()
-    {
-        return BrokerModel.MODEL_VERSION;
-    }
-
-    @Override
-    protected <C extends ConfiguredObject> ListenableFuture<C> 
addChildAsync(final Class<C> childClass,
-                                                                             
final Map<String, Object> attributes,
-                                                                             
final ConfiguredObject... otherParents)
-    {
-        throwUnsupportedForReplica();
-        return null;
-    }
-
-    @Override
-    public MessageDestination getAttainedMessageDestination(final String name)
-    {
-        return null;
-    }
-
-    @Override
-    public String getRedirectHost(final AmqpPort<?> port)
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<? extends Connection<?>> getConnections()
-    {
-        return Collections.emptyList();
-    }
-
-
-    @Override
-    public MessageSource getAttainedMessageSource(final String name)
-    {
-        return null;
-    }
-
-    @Override
-    public MessageDestination getDefaultDestination()
-    {
-        return null;
-    }
-
-    @Override
-    public MessageStore getMessageStore()
-    {
-        return null;
-    }
-
-    @Override
-    public <T extends MessageSource> T createMessageSource(final Class<T> 
clazz, final Map<String, Object> attributes)
-    {
-        throwUnsupportedForReplica();
-        return null;
-    }
-
-    @Override
-    public <T extends MessageDestination> T createMessageDestination(final 
Class<T> clazz,
-                                                                     final 
Map<String, Object> attributes)
-    {
-        throwUnsupportedForReplica();
-        return null;
-    }
-
-    @Override
-    public boolean hasMessageSources()
-    {
-        return false;
-    }
-
-    @Override
-    public DtxRegistry getDtxRegistry()
-    {
-        return null;
-    }
-
-    @Override
-    public LinkRegistry getLinkRegistry(final String remoteContainerId)
-    {
-        return null;
-    }
-
-    @Override
-    public boolean authoriseCreateConnection(final AMQPConnection<?> 
connection)
-    {
-        return false;
-    }
-
-    @Override
-    public List<String> getGlobalAddressDomains()
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Principal getPrincipal()
-    {
-        return _principal;
-    }
-
-    @Override
-    public void registerConnection(final AMQPConnection<?> connection)
-    {
-        throwUnsupportedForReplica();
-    }
-
-    @Override
-    public void deregisterConnection(final AMQPConnection<?> connection)
-    {
-        throwUnsupportedForReplica();
-    }
-
-    private void throwUnsupportedForReplica()
-    {
-        throw new IllegalStateException("The virtual host state of " + 
getState()
-                                        + " does not permit this operation.");
+        throwUnsupported();
     }
 
 }

Added: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractNonConnectionAcceptingVirtualHost.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractNonConnectionAcceptingVirtualHost.java?rev=1770262&view=auto
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractNonConnectionAcceptingVirtualHost.java
 (added)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractNonConnectionAcceptingVirtualHost.java
 Thu Nov 17 19:20:52 2016
@@ -0,0 +1,183 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.virtualhost;
+
+import java.security.Principal;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.util.concurrent.ListenableFuture;
+
+import org.apache.qpid.server.message.MessageDestination;
+import org.apache.qpid.server.message.MessageSource;
+import org.apache.qpid.server.model.AbstractConfiguredObject;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.Connection;
+import org.apache.qpid.server.model.State;
+import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.port.AmqpPort;
+import org.apache.qpid.server.protocol.LinkRegistry;
+import org.apache.qpid.server.store.MessageStore;
+import org.apache.qpid.server.transport.AMQPConnection;
+import org.apache.qpid.server.txn.DtxRegistry;
+
+public abstract class AbstractNonConnectionAcceptingVirtualHost<X extends 
AbstractNonConnectionAcceptingVirtualHost<X>>
+        extends AbstractConfiguredObject<X> implements VirtualHost<X>
+{
+    private final VirtualHostPrincipal _principal;
+
+    public AbstractNonConnectionAcceptingVirtualHost(final Map<Class<? extends 
ConfiguredObject>, ConfiguredObject<?>> parents,
+                                                     final Map<String, Object> 
attributes)
+    {
+        super(parents, attributes);
+
+        _principal = new VirtualHostPrincipal(this);
+        setState(State.UNAVAILABLE);
+    }
+
+    @Override
+    public String getRedirectHost(final AmqpPort<?> port)
+    {
+        return null;
+    }
+
+    @Override
+    public Principal getPrincipal()
+    {
+        return _principal;
+    }
+
+    @Override
+    public void registerConnection(final AMQPConnection<?> connection)
+    {
+        throwUnsupported();
+    }
+
+    @Override
+    public void deregisterConnection(final AMQPConnection<?> connection)
+    {
+        throwUnsupported();
+    }
+
+    protected void throwUnsupported()
+    {
+        throw new IllegalStateException("The virtual host '" + getName() + "' 
does not permit this operation.");
+    }
+
+    @Override
+    public Collection<? extends Connection<?>> getConnections()
+    {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public MessageSource getAttainedMessageSource(final String name)
+    {
+        return null;
+    }
+
+    @Override
+    public MessageDestination getDefaultDestination()
+    {
+        return null;
+    }
+
+    @Override
+    public MessageStore getMessageStore()
+    {
+        return null;
+    }
+
+    @Override
+    public <T extends MessageSource> T createMessageSource(final Class<T> 
clazz, final Map<String, Object> attributes)
+    {
+        throwUnsupported();
+        return null;
+    }
+
+    @Override
+    public <T extends MessageDestination> T createMessageDestination(final 
Class<T> clazz,
+                                                                     final 
Map<String, Object> attributes)
+    {
+        throwUnsupported();
+        return null;
+    }
+
+    @Override
+    public boolean hasMessageSources()
+    {
+        return false;
+    }
+
+    @Override
+    public DtxRegistry getDtxRegistry()
+    {
+        return null;
+    }
+
+    @Override
+    public LinkRegistry getLinkRegistry(final String remoteContainerId)
+    {
+        return null;
+    }
+
+    @Override
+    public boolean authoriseCreateConnection(final AMQPConnection<?> 
connection)
+    {
+        return false;
+    }
+
+    @Override
+    public List<String> getGlobalAddressDomains()
+    {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public boolean isActive()
+    {
+        return false;
+    }
+
+    @Override
+    public String getModelVersion()
+    {
+        return BrokerModel.MODEL_VERSION;
+    }
+
+    @Override
+    protected <C extends ConfiguredObject> ListenableFuture<C> 
addChildAsync(final Class<C> childClass,
+                                                                             
final Map<String, Object> attributes,
+                                                                             
final ConfiguredObject... otherParents)
+    {
+        throwUnsupported();
+        return null;
+    }
+
+    @Override
+    public MessageDestination getAttainedMessageDestination(final String name)
+    {
+        return null;
+    }
+}

Propchange: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractNonConnectionAcceptingVirtualHost.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java?rev=1770262&r1=1770261&r2=1770262&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
 Thu Nov 17 19:20:52 2016
@@ -20,56 +20,31 @@
  */
 package org.apache.qpid.server.virtualhostnode;
 
-import java.security.Principal;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.common.util.concurrent.ListenableFuture;
-
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.message.MessageDestination;
-import org.apache.qpid.server.message.MessageSource;
-import org.apache.qpid.server.model.AbstractConfiguredObject;
-import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Connection;
 import org.apache.qpid.server.model.ManagedObject;
 import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
 import org.apache.qpid.server.model.State;
+import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.VirtualHostNode;
 import org.apache.qpid.server.model.port.AmqpPort;
-import org.apache.qpid.server.protocol.LinkRegistry;
-import org.apache.qpid.server.store.MessageStore;
-import org.apache.qpid.server.transport.AMQPConnection;
-import org.apache.qpid.server.txn.DtxRegistry;
-import org.apache.qpid.server.virtualhost.VirtualHostPrincipal;
+import 
org.apache.qpid.server.virtualhost.AbstractNonConnectionAcceptingVirtualHost;
 
 @ManagedObject( category = false, type = 
RedirectingVirtualHostImpl.VIRTUAL_HOST_TYPE, register = false,
-                description = RedirectingVirtualHostImpl.CLASS_DESCRIPTION)
+                description = VirtualHost.CLASS_DESCRIPTION)
 class RedirectingVirtualHostImpl
-    extends AbstractConfiguredObject<RedirectingVirtualHostImpl>
+        extends 
AbstractNonConnectionAcceptingVirtualHost<RedirectingVirtualHostImpl>
         implements RedirectingVirtualHost<RedirectingVirtualHostImpl>
 {
     public static final String VIRTUAL_HOST_TYPE = "REDIRECTOR";
 
-    private final VirtualHostPrincipal _principal;
-
     @ManagedObjectFactoryConstructor
     public RedirectingVirtualHostImpl(final Map<String, Object> attributes, 
VirtualHostNode<?> virtualHostNode)
     {
         super(parentsMap(virtualHostNode), attributes);
-
-        _principal = new VirtualHostPrincipal(this);
-        setState(State.UNAVAILABLE);
-    }
-
-    @Override
-    public boolean isActive()
-    {
-        return false;
     }
 
     @Override
@@ -89,27 +64,6 @@ class RedirectingVirtualHostImpl
         }
     }
 
-    @Override
-    public String getModelVersion()
-    {
-        return BrokerModel.MODEL_VERSION;
-    }
-
-
-    @Override
-    protected <C extends ConfiguredObject> ListenableFuture<C> 
addChildAsync(final Class<C> childClass,
-                                                                             
final Map<String, Object> attributes,
-                                                                             
final ConfiguredObject... otherParents)
-    {
-        throwUnsupportedForRedirector();
-        return null;
-    }
-
-    @Override
-    public MessageDestination getAttainedMessageDestination(final String name)
-    {
-        return null;
-    }
 
     @Override
     public String getRedirectHost(final AmqpPort<?> port)
@@ -118,98 +72,4 @@ class RedirectingVirtualHostImpl
     }
 
 
-
-    @Override
-    public Collection<? extends Connection<?>> getConnections()
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public MessageSource getAttainedMessageSource(final String name)
-    {
-        return null;
-    }
-
-    @Override
-    public MessageDestination getDefaultDestination()
-    {
-        return null;
-    }
-
-    @Override
-    public MessageStore getMessageStore()
-    {
-        return null;
-    }
-
-    @Override
-    public <T extends MessageSource> T createMessageSource(final Class<T> 
clazz, final Map<String, Object> attributes)
-    {
-        throwUnsupportedForRedirector();
-        return null;
-    }
-
-    @Override
-    public <T extends MessageDestination> T createMessageDestination(final 
Class<T> clazz,
-                                                                     final 
Map<String, Object> attributes)
-    {
-        throwUnsupportedForRedirector();
-        return null;
-    }
-
-    @Override
-    public boolean hasMessageSources()
-    {
-        return false;
-    }
-
-    @Override
-    public DtxRegistry getDtxRegistry()
-    {
-        return null;
-    }
-
-    @Override
-    public LinkRegistry getLinkRegistry(final String remoteContainerId)
-    {
-        return null;
-    }
-
-    @Override
-    public boolean authoriseCreateConnection(final AMQPConnection<?> 
connection)
-    {
-        return false;
-    }
-
-    @Override
-    public List<String> getGlobalAddressDomains()
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Principal getPrincipal()
-    {
-        return _principal;
-    }
-
-    @Override
-    public void registerConnection(final AMQPConnection<?> connection)
-    {
-        throwUnsupportedForRedirector();
-    }
-
-    @Override
-    public void deregisterConnection(final AMQPConnection<?> connection)
-    {
-        throwUnsupportedForRedirector();
-    }
-
-    private void throwUnsupportedForRedirector()
-    {
-        throw new IllegalStateException("The virtual host state of " + 
getState()
-                                        + " does not permit this operation.");
-    }
-
-}
+  }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to