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