You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/11/17 19:20:52 UTC

svn commit: r1770262 - in /qpid/java/trunk: bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/ broker-core/src/main/java/org/apache/qpid/server/virtualhost/ broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/

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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org