Author: kwall
Date: Sat May 30 17:56:06 2015
New Revision: 1682631
URL: http://svn.apache.org/r1682631
Log:
QPID-6443: [Java Broker] Replace the defaultVirtualHost (at Broker) with
defaultVirtualHostNode flag (at VHN)
* Moved attribute from Broker to VirtualHostNode
* Updated broker store upgrader to upgrade older config (if possible)
* Updated the UI - user now uses Edit VHN function to update the flag. VHN/VH
table on the Broker tab now shows the default VHN
Added:
qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js
- copied, changed from r1682487,
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js
Modified:
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java
qpid/java/trunk/broker-core/src/main/resources/initial-config.json
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNodeTest.java
qpid/java/trunk/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showVirtualHostNode.html
qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js
qpid/java/trunk/systests/etc/config-systests.json
qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
Modified:
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
(original)
+++
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
Sat May 30 17:56:06 2015
@@ -514,7 +514,7 @@ public class BDBHAVirtualHostNodeImpl ex
}
@Override
- public void validateOnCreate()
+ protected void validateOnCreate()
{
super.validateOnCreate();
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
Sat May 30 17:56:06 2015
@@ -37,7 +37,6 @@ public interface Broker<X extends Broker
String PLATFORM = "platform";
String PROCESS_PID = "processPid";
String PRODUCT_VERSION = "productVersion";
- String DEFAULT_VIRTUAL_HOST = "defaultVirtualHost";
String STATISTICS_REPORTING_PERIOD = "statisticsReportingPeriod";
String STATISTICS_REPORTING_RESET_ENABLED =
"statisticsReportingResetEnabled";
String STORE_PATH = "storePath";
@@ -103,9 +102,6 @@ public interface Broker<X extends Broker
@DerivedAttribute
String getProductVersion();
- @ManagedAttribute
- String getDefaultVirtualHost();
-
@ManagedAttribute( defaultValue = "256" )
int getConnection_sessionCountLimit();
@@ -175,6 +171,8 @@ public interface Broker<X extends Broker
VirtualHost<?,?,?> findVirtualHostByName(String name);
+ VirtualHostNode findDefautVirtualHostNode();
+
Collection<KeyStore<?>> getKeyStores();
Collection<TrustStore<?>> getTrustStores();
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
Sat May 30 17:56:06 2015
@@ -47,6 +47,7 @@ public final class BrokerModel extends M
* supportedPreferencesProviderTypes,
VH#supportedExchangeTypes, VH#supportedQueueTypes
* Renamed FileTrustStore/FileKeyStore.path =>
FileTrustStore/FileKeyStore.storeUrl
* 3.1 Add BrokerLogger as a child of Broker
+ * Replace the defaultVirtualHost (at Broker) with
defaultVirtualHostNode flag (at VHN)
*/
public static final int MODEL_MAJOR_VERSION = 3;
public static final int MODEL_MINOR_VERSION = 1;
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
Sat May 30 17:56:06 2015
@@ -31,6 +31,7 @@ public interface VirtualHostNode<X exten
@ManagedContextDefault(name = QPID_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR)
String DEFAULT_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR = "{ \"type\" :
\"DERBY\" }";
+ String DEFAULT_VIRTUAL_HOST_NODE = "defaultVirtualHostNode";
String VIRTUALHOST_INITIAL_CONFIGURATION =
"virtualHostInitialConfiguration";
@@ -39,6 +40,9 @@ public interface VirtualHostNode<X exten
@ManagedContextDefault(name = VIRTUALHOST_BLUEPRINT_CONTEXT_VAR)
String DEFAULT_INITIAL_CONFIGURATION = "{}";
+ @ManagedAttribute( defaultValue = "false")
+ boolean isDefaultVirtualHostNode();
+
@ManagedAttribute( defaultValue = "${" + VIRTUALHOST_BLUEPRINT_CONTEXT_VAR
+ "}")
String getVirtualHostInitialConfiguration();
@@ -52,4 +56,5 @@ public interface VirtualHostNode<X exten
void stop();
void start();
+
}
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
Sat May 30 17:56:06 2015
@@ -22,6 +22,7 @@ package org.apache.qpid.server.model.ada
import java.security.AccessControlException;
import java.security.PrivilegedAction;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -33,7 +34,6 @@ import java.util.regex.Pattern;
import javax.security.auth.Subject;
-import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.FileAppender;
@@ -94,8 +94,6 @@ public class BrokerAdapter extends Abstr
private boolean _totalMessageSizeExceedThresholdReported = false,
_totalMessageSizeWithinThresholdReported = true;
@ManagedAttributeField
- private String _defaultVirtualHost;
- @ManagedAttributeField
private int _connection_sessionCountLimit;
@ManagedAttributeField
private int _connection_heartBeatDelay;
@@ -246,20 +244,6 @@ public class BrokerAdapter extends Abstr
throw new IllegalConfigurationException("Cannot change the model
version");
}
- if(changedAttributes.contains(DEFAULT_VIRTUAL_HOST))
- {
- String defaultVirtualHost = updated.getDefaultVirtualHost();
- if (defaultVirtualHost != null)
- {
- VirtualHost foundHost =
findVirtualHostByName(defaultVirtualHost);
- if (foundHost == null)
- {
- throw new IllegalConfigurationException("Virtual host with
name " + defaultVirtualHost
- + " cannot be set
as a default as it does not exist");
- }
- }
- }
-
for (String attributeName : POSITIVE_NUMERIC_ATTRIBUTES)
{
if(changedAttributes.contains(attributeName))
@@ -395,12 +379,6 @@ public class BrokerAdapter extends Abstr
}
@Override
- public String getDefaultVirtualHost()
- {
- return _defaultVirtualHost;
- }
-
- @Override
public int getConnection_sessionCountLimit()
{
return _connection_sessionCountLimit;
@@ -657,6 +635,22 @@ public class BrokerAdapter extends Abstr
}
@Override
+ public VirtualHostNode findDefautVirtualHostNode()
+ {
+ VirtualHostNode existingDefault = null;
+ Collection<VirtualHostNode<?>> virtualHostNodes = new
ArrayList<>(getVirtualHostNodes());
+ for(VirtualHostNode node : virtualHostNodes)
+ {
+ if (node.isDefaultVirtualHostNode())
+ {
+ existingDefault = node;
+ break;
+ }
+ }
+ return existingDefault;
+ }
+
+ @Override
public Collection<KeyStore<?>> getKeyStores()
{
Collection children = getChildren(KeyStore.class);
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
Sat May 30 17:56:06 2015
@@ -27,8 +27,12 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.UUID;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import
org.apache.qpid.server.configuration.store.StoreConfigurationChangeListener;
import org.apache.qpid.server.logging.LogLevel;
@@ -41,6 +45,8 @@ import org.apache.qpid.server.util.Actio
public class BrokerStoreUpgraderAndRecoverer
{
+ private static final Logger LOGGER =
LoggerFactory.getLogger(BrokerStoreUpgraderAndRecoverer.class);
+
public static final String VIRTUALHOSTS = "virtualhosts";
private final SystemConfig<?> _systemConfig;
private final Map<String, StoreUpgraderPhase> _upgraders = new
HashMap<String, StoreUpgraderPhase>();
@@ -314,6 +320,10 @@ public class BrokerStoreUpgraderAndRecov
}
private class Upgrader_3_0_to_3_1 extends StoreUpgraderPhase
{
+ private String _defaultVirtualHost;
+ private final Set<ConfiguredObjectRecord> _knownBdbHaVirtualHostNode =
new HashSet<>();
+ private final Map<String, ConfiguredObjectRecord>
_knownNonBdbHaVirtualHostNode = new HashMap<>();
+
public Upgrader_3_0_to_3_1()
{
super("modelVersion", "3.0", "3.1");
@@ -325,12 +335,37 @@ public class BrokerStoreUpgraderAndRecov
if (record.getType().equals("Broker"))
{
record = upgradeRootRecord(record);
+
+ Map<String, Object> brokerAttributes = new
HashMap<>(record.getAttributes());
+ _defaultVirtualHost =
(String)brokerAttributes.remove("defaultVirtualHost");
+
+ if (_defaultVirtualHost != null)
+ {
+ record = new ConfiguredObjectRecordImpl(record.getId(),
+ record.getType(),
+ brokerAttributes,
+
record.getParents());
+ getUpdateMap().put(record.getId(), record);
+ }
+
addMemoryLogger(record);
addFileLogger(record);
getNextUpgrader().configuredObject(record);
-
}
+ else if (record.getType().equals("VirtualHostNode"))
+ {
+ if ("BDB_HA".equals(record.getAttributes().get("type")))
+ {
+ _knownBdbHaVirtualHostNode.add(record);
+ }
+ else
+ {
+ String nodeName = (String)
record.getAttributes().get("name");
+ _knownNonBdbHaVirtualHostNode.put(nodeName, record);
+ }
+ getNextUpgrader().configuredObject(record);
+ }
}
private void addMemoryLogger(final ConfiguredObjectRecord record)
@@ -388,6 +423,42 @@ public class BrokerStoreUpgraderAndRecov
@Override
public void complete()
{
+ if (_defaultVirtualHost != null)
+ {
+ final ConfiguredObjectRecord defaultVirtualHostNode;
+ if
(_knownNonBdbHaVirtualHostNode.containsKey(_defaultVirtualHost))
+ {
+ defaultVirtualHostNode =
_knownNonBdbHaVirtualHostNode.get(_defaultVirtualHost);
+ }
+ else if (_knownBdbHaVirtualHostNode.size() == 1)
+ {
+ // We had a default VHN but it didn't match the
non-BDBHAVHNs and we have only one BDBHAVHN.
+ // It has to be the target.
+ defaultVirtualHostNode =
_knownBdbHaVirtualHostNode.iterator().next();
+
+ }
+ else
+ {
+ LOGGER.warn("Unable to identify the target virtual host
node for old default virtualhost name : '{}'",
+ _defaultVirtualHost);
+ defaultVirtualHostNode = null;
+ }
+
+ if (defaultVirtualHostNode != null)
+ {
+ final Map<String, Object> updatedAttributes = new
HashMap<>(defaultVirtualHostNode.getAttributes());
+ updatedAttributes.put("defaultVirtualHostNode", "true");
+
+ ConfiguredObjectRecordImpl updateRecord =
+ new
ConfiguredObjectRecordImpl(defaultVirtualHostNode.getId(),
+
defaultVirtualHostNode.getType(),
+ updatedAttributes,
+
defaultVirtualHostNode.getParents());
+ getUpdateMap().put(updateRecord.getId(), updateRecord);
+
+ }
+
+ }
getNextUpgrader().complete();
}
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
Sat May 30 17:56:06 2015
@@ -246,14 +246,7 @@ public abstract class AbstractVirtualHos
{
throw new IllegalArgumentException(getClass().getSimpleName() + "
must be durable");
}
- if (changedAttributes.contains(DESIRED_STATE))
- {
- if (State.DELETED == proxyForValidation.getDesiredState()
- && getName().equals(_broker.getDefaultVirtualHost()))
- {
- throw new IntegrityViolationException("Cannot delete default
virtual host '" + getName() + "'");
- }
- }
+
if(changedAttributes.contains(GLOBAL_ADDRESS_DOMAINS))
{
VirtualHost<?, ?, ?> virtualHost = (VirtualHost<?, ?, ?>)
proxyForValidation;
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java
Sat May 30 17:56:06 2015
@@ -26,7 +26,6 @@ import org.apache.qpid.server.model.Brok
import org.apache.qpid.server.model.DefaultVirtualHostAlias;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostNode;
public final class DefaultVirtualHostAliasImpl
@@ -46,17 +45,8 @@ public final class DefaultVirtualHostAli
if(name == null || name.trim().equals(""))
{
Broker<?> broker = getPort().getParent(Broker.class);
- String defaultHostName = broker.getDefaultVirtualHost();
- for(VirtualHostNode<?> vhn : broker.getVirtualHostNodes())
- {
- VirtualHost vh = vhn.getVirtualHost();
-
- if(vh != null && vh.getName().equals(defaultHostName))
- {
- return vhn;
- }
- }
-
+ VirtualHostNode defaultVirtualHostNode =
broker.findDefautVirtualHostNode();
+ return defaultVirtualHostNode != null &&
defaultVirtualHostNode.getVirtualHost() != null ? defaultVirtualHostNode : null;
}
return null;
}
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java
Sat May 30 17:56:06 2015
@@ -42,7 +42,6 @@ import org.apache.qpid.server.model.Brok
import org.apache.qpid.server.model.HostNameAlias;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.model.port.AmqpPort;
@@ -88,15 +87,8 @@ public class HostNameAliasImpl
if(node == null)
{
Broker<?> broker = getPort().getParent(Broker.class);
- String defaultHostName = broker.getDefaultVirtualHost();
- for (VirtualHostNode<?> vhn : broker.getVirtualHostNodes())
- {
- VirtualHost vh = vhn.getVirtualHost();
- if (vh != null && vh.getName().equals(defaultHostName))
- {
- return vhn;
- }
- }
+ VirtualHostNode defaultVirtualHostNode =
broker.findDefautVirtualHostNode();
+ return defaultVirtualHostNode != null &&
defaultVirtualHostNode.getVirtualHost() != null ? defaultVirtualHostNode : null;
}
}
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java
Sat May 30 17:56:06 2015
@@ -181,7 +181,7 @@ public abstract class AbstractStandardVi
}
@Override
- public void validateOnCreate()
+ protected void validateOnCreate()
{
super.validateOnCreate();
DurableConfigurationStore store = createConfigurationStore();
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
Sat May 30 17:56:06 2015
@@ -55,6 +55,7 @@ import org.apache.qpid.server.model.Brok
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectTypeRegistry;
import org.apache.qpid.server.model.Exchange;
+import org.apache.qpid.server.model.IntegrityViolationException;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.ManagedAttributeField;
import org.apache.qpid.server.model.ManagedObject;
@@ -93,6 +94,10 @@ public abstract class AbstractVirtualHos
private MessageStoreLogSubject _configurationStoreLogSubject;
private TaskExecutor _virtualHostExecutor;
+
+ @ManagedAttributeField
+ private boolean _defaultVirtualHostNode;
+
@ManagedAttributeField
private String _virtualHostInitialConfiguration;
@@ -107,7 +112,6 @@ public abstract class AbstractVirtualHos
_eventLogger = systemConfig.getEventLogger();
}
-
@Override
public void onOpen()
{
@@ -206,6 +210,42 @@ public abstract class AbstractVirtualHos
}
@Override
+ protected void validateOnCreate()
+ {
+ super.validateOnCreate();
+
+ if (isDefaultVirtualHostNode())
+ {
+ VirtualHostNode existingDefault =
_broker.findDefautVirtualHostNode();
+
+ if (existingDefault != null)
+ {
+ throw new IllegalConfigurationException("The existing virtual
host node '" + existingDefault.getName()
+ + "' is already the
default for the Broker.");
+ }
+ }
+
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?>
proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ VirtualHostNode updated = (VirtualHostNode) proxyForValidation;
+ if (changedAttributes.contains(DEFAULT_VIRTUAL_HOST_NODE) &&
updated.isDefaultVirtualHostNode())
+ {
+ VirtualHostNode existingDefault =
_broker.findDefautVirtualHostNode();
+
+ if (existingDefault != null && existingDefault != this)
+ {
+ throw new IntegrityViolationException("Cannot make '" +
getName() + "' the default virtual host node for"
+ + " the Broker as
virtual host node '" + existingDefault.getName()
+ + "' is already the
default.");
+ }
+ }
+ }
+
+ @Override
public DurableConfigurationStore getConfigurationStore()
{
return _durableConfigurationStore;
@@ -350,12 +390,16 @@ public abstract class AbstractVirtualHos
return _virtualHostInitialConfiguration;
}
+ @Override
+ public boolean isDefaultVirtualHostNode()
+ {
+ return _defaultVirtualHostNode;
+ }
+
protected abstract DurableConfigurationStore createConfigurationStore();
protected abstract ListenableFuture<Void> activate();
-
-
protected abstract ConfiguredObjectRecord
enrichInitialVirtualHostRootRecord(final ConfiguredObjectRecord vhostRecord);
protected final ConfiguredObjectRecord[] getInitialRecords() throws
IOException
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java
Sat May 30 17:56:06 2015
@@ -23,6 +23,7 @@ package org.apache.qpid.server.virtualho
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
+import java.util.Set;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
@@ -32,6 +33,7 @@ import org.slf4j.LoggerFactory;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.IntegrityViolationException;
import org.apache.qpid.server.model.ManagedAttributeField;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.Port;
@@ -39,6 +41,7 @@ import org.apache.qpid.server.model.Remo
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.StateTransition;
import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.store.DurableConfigurationStore;
@@ -47,12 +50,15 @@ public class RedirectingVirtualHostNodeI
{
private static final Logger LOGGER =
LoggerFactory.getLogger(RedirectingVirtualHostImpl.class);
public static final String VIRTUAL_HOST_NODE_TYPE = "Redirector";
-
+ private final Broker<?> _broker;
@ManagedAttributeField
private String _virtualHostInitialConfiguration;
@ManagedAttributeField
+ private boolean _defaultVirtualHostNode;
+
+ @ManagedAttributeField
private Map<Port<?>,String> _redirects;
private RedirectingVirtualHostImpl _virtualHost;
@@ -62,6 +68,8 @@ public class RedirectingVirtualHostNodeI
{
super(Collections.<Class<? extends
ConfiguredObject>,ConfiguredObject<?>>singletonMap(Broker.class, parent),
attributes);
+ _broker = parent;
+
}
@StateTransition( currentState = {State.UNINITIALIZED, State.STOPPED,
State.ERRORED }, desiredState = State.ACTIVE )
@@ -95,6 +103,12 @@ public class RedirectingVirtualHostNodeI
}
@Override
+ public boolean isDefaultVirtualHostNode()
+ {
+ return _defaultVirtualHostNode;
+ }
+
+ @Override
public VirtualHost<?, ?, ?> getVirtualHost()
{
return _virtualHost;
@@ -118,6 +132,43 @@ public class RedirectingVirtualHostNodeI
return _redirects;
}
+
+ @Override
+ protected void validateOnCreate()
+ {
+ super.validateOnCreate();
+
+ if (isDefaultVirtualHostNode())
+ {
+ VirtualHostNode existingDefault =
_broker.findDefautVirtualHostNode();
+
+ if (existingDefault != null)
+ {
+ throw new IntegrityViolationException("The existing virtual
host node '" + existingDefault.getName()
+ + "' is already the
default for the Broker.");
+ }
+ }
+
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?>
proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ VirtualHostNode updated = (VirtualHostNode) proxyForValidation;
+ if (changedAttributes.contains(DEFAULT_VIRTUAL_HOST_NODE) &&
updated.isDefaultVirtualHostNode())
+ {
+ VirtualHostNode existingDefault =
_broker.findDefautVirtualHostNode();
+
+ if (existingDefault != null && existingDefault != this)
+ {
+ throw new IntegrityViolationException("Cannot make '" +
getName() + "' the default virtual host node for"
+ + " the Broker as
virtual host node '" + existingDefault.getName()
+ + "' is already the
default.");
+ }
+ }
+ }
+
public static Map<String, Collection<String>> getSupportedChildTypes()
{
Collection<String> validVhostTypes =
Collections.singleton(RedirectingVirtualHostImpl.TYPE);
Modified: qpid/java/trunk/broker-core/src/main/resources/initial-config.json
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/resources/initial-config.json?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/resources/initial-config.json
(original)
+++ qpid/java/trunk/broker-core/src/main/resources/initial-config.json Sat May
30 17:56:06 2015
@@ -21,7 +21,6 @@
{
"name": "${broker.name}",
"modelVersion": "3.1",
- "defaultVirtualHost" : "default",
"authenticationproviders" : [ {
"name" : "passwordFile",
"type" : "PlainPasswordFile",
@@ -91,6 +90,7 @@
"virtualhostnodes" : [ {
"name" : "default",
"type" : "JSON",
+ "defaultVirtualHostNode" : "true",
"virtualHostInitialConfiguration" :
"${qpid.initial_config_virtualhost_config}"
} ],
"plugins" : [ {
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
Sat May 30 17:56:06 2015
@@ -55,7 +55,6 @@ import org.apache.qpid.server.configurat
import
org.apache.qpid.server.connection.IConnectionRegistry.RegistryChangeListener;
import org.apache.qpid.server.protocol.AMQConnectionModel;
import org.apache.qpid.server.security.SecurityManager;
-import org.apache.qpid.server.security.access.Operation;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
@@ -152,27 +151,6 @@ public class VirtualHostTest extends Qpi
verify(_configStore).remove(matchesRecord(virtualHost.getId(),
virtualHost.getType()));
}
- public void testDeleteDefaultVirtualHostIsDisallowed()
- {
- String virtualHostName = getName();
- when(_broker.getDefaultVirtualHost()).thenReturn(virtualHostName);
-
- VirtualHost<?,?,?> virtualHost = createVirtualHost(virtualHostName);
-
- try
- {
- virtualHost.delete();
- fail("Exception not thrown");
- }
- catch(IntegrityViolationException ive)
- {
- // PASS
- }
-
- assertEquals("Unexpected state", State.ACTIVE, virtualHost.getState());
- verify(_configStore,
never()).remove(matchesRecord(virtualHost.getId(), virtualHost.getType()));
- }
-
public void testStopAndStartVirtualHost()
{
String virtualHostName = getName();
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
Sat May 30 17:56:06 2015
@@ -99,7 +99,6 @@ public class BrokerRecovererTest extends
{
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(Broker.NAME, getName());
- attributes.put(Broker.DEFAULT_VIRTUAL_HOST, "test");
attributes.put(Broker.CONNECTION_SESSION_COUNT_LIMIT, 1000);
attributes.put(Broker.CONNECTION_HEART_BEAT_DELAY, 2000);
attributes.put(Broker.STATISTICS_REPORTING_PERIOD, 4000);
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
Sat May 30 17:56:06 2015
@@ -117,6 +117,7 @@ public class BrokerStoreUpgraderAndRecov
expectedAttributes.put("createdTime", VIRTUALHOST_CREATE_TIME);
expectedAttributes.put("name", VIRTUALHOST_NAME);
expectedAttributes.put("type", "JDBC");
+ expectedAttributes.put("defaultVirtualHostNode", "true");
final Map<String, Object> context = new HashMap<>();
context.put("qpid.jdbcstore.bigIntType", "mybigint");
@@ -166,6 +167,8 @@ public class BrokerStoreUpgraderAndRecov
expectedAttributes.put("createdTime", VIRTUALHOST_CREATE_TIME);
expectedAttributes.put("name", VIRTUALHOST_NAME);
expectedAttributes.put("type", "JDBC");
+ expectedAttributes.put("defaultVirtualHostNode", "true");
+
final Map<String, Object> context = new HashMap<>();
context.put("qpid.jdbcstore.bigIntType", "mybigint");
@@ -205,6 +208,8 @@ public class BrokerStoreUpgraderAndRecov
expectedAttributes.put("createdTime", VIRTUALHOST_CREATE_TIME);
expectedAttributes.put("name", VIRTUALHOST_NAME);
expectedAttributes.put("type", "DERBY");
+ expectedAttributes.put("defaultVirtualHostNode", "true");
+
assertEquals("Unexpected attributes", expectedAttributes,
upgradedVirtualHostNodeRecord.getAttributes());
assertBrokerRecord(records);
}
@@ -237,6 +242,7 @@ public class BrokerStoreUpgraderAndRecov
expectedAttributes.put("createdTime", VIRTUALHOST_CREATE_TIME);
expectedAttributes.put("name", VIRTUALHOST_NAME);
expectedAttributes.put("type", "BDB");
+ expectedAttributes.put("defaultVirtualHostNode", "true");
expectedAttributes.put("context",
Collections.singletonMap("je.stats.collect", "false"));
assertEquals("Unexpected attributes", expectedAttributes,
upgradedVirtualHostNodeRecord.getAttributes());
assertBrokerRecord(records);
@@ -285,6 +291,7 @@ public class BrokerStoreUpgraderAndRecov
expectedAttributes.put("helperAddress", "localhost:7000");
expectedAttributes.put("name", "n1");
expectedAttributes.put("context", expectedContext);
+ expectedAttributes.put("defaultVirtualHostNode", "true");
assertEquals("Unexpected attributes", expectedAttributes,
upgradedVirtualHostNodeRecord.getAttributes());
assertBrokerRecord(records);
@@ -314,6 +321,8 @@ public class BrokerStoreUpgraderAndRecov
expectedAttributes.put("createdTime", VIRTUALHOST_CREATE_TIME);
expectedAttributes.put("name", VIRTUALHOST_NAME);
expectedAttributes.put("type", "Memory");
+ expectedAttributes.put("defaultVirtualHostNode", "true");
+
assertEquals("Unexpected attributes", expectedAttributes,
upgradedVirtualHostNodeRecord.getAttributes());
assertBrokerRecord(records);
}
@@ -453,11 +462,11 @@ public class BrokerStoreUpgraderAndRecov
DurableConfigurationStore dcs = new
DurableConfigurationStoreStub(_brokerRecord);
List<ConfiguredObjectRecord> records = new
BrokerStoreUpgraderAndRecoverer(_systemConfig).upgrade(dcs);
- assertVirtualHost(records);
+ assertVirtualHost(records, true);
assertBrokerRecord(records);
}
- private void assertVirtualHost(List<ConfiguredObjectRecord> records)
+ private void assertVirtualHost(List<ConfiguredObjectRecord> records, final
boolean isDefaultVHN)
{
ConfiguredObjectRecord upgradedVirtualHostNodeRecord =
findRecordById(_hostId, records);
assertEquals("Unexpected type", "VirtualHostNode",
upgradedVirtualHostNodeRecord.getType());
@@ -466,6 +475,7 @@ public class BrokerStoreUpgraderAndRecov
expectedAttributes.put("createdTime", VIRTUALHOST_CREATE_TIME);
expectedAttributes.put("name", VIRTUALHOST_NAME);
expectedAttributes.put("type", "Memory");
+ expectedAttributes.put("defaultVirtualHostNode",
Boolean.toString(isDefaultVHN));
assertEquals("Unexpected attributes", expectedAttributes,
upgradedVirtualHostNodeRecord.getAttributes());
}
@@ -474,7 +484,6 @@ public class BrokerStoreUpgraderAndRecov
ConfiguredObjectRecord upgradedBrokerRecord =
findRecordById(_brokerId, records);
assertEquals("Unexpected type", "Broker",
upgradedBrokerRecord.getType());
Map<String,Object> expectedAttributes = new HashMap<>();
- expectedAttributes.put("defaultVirtualHost", "test");
expectedAttributes.put("name", "Broker");
expectedAttributes.put("modelVersion", BrokerModel.MODEL_VERSION);
expectedAttributes.put("createdTime", 1401385808828l);
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
Sat May 30 17:56:06 2015
@@ -115,11 +115,11 @@ public class BrokerTestHelper
{
Broker<?> broker = createBrokerMock();
- return createVirtualHost(attributes, broker);
+ return createVirtualHost(attributes, broker, false);
}
private static VirtualHostImpl<?, ?, ?> createVirtualHost(final
Map<String, Object> attributes,
- final
Broker<?> broker)
+ final
Broker<?> broker, boolean defaultVHN)
{
ConfiguredObjectFactory objectFactory = broker.getObjectFactory();
@@ -128,6 +128,7 @@ public class BrokerTestHelper
when(virtualHostNode.getName()).thenReturn( virtualHostNodeName);
when(virtualHostNode.getTaskExecutor()).thenReturn(TASK_EXECUTOR);
when(virtualHostNode.getChildExecutor()).thenReturn(TASK_EXECUTOR);
+
when(virtualHostNode.isDefaultVirtualHostNode()).thenReturn(defaultVHN);
when(virtualHostNode.getParent(eq(Broker.class))).thenReturn(broker);
@@ -152,19 +153,18 @@ public class BrokerTestHelper
return host;
}
-
public static VirtualHostImpl<?,?,?> createVirtualHost(String name) throws
Exception
{
- return createVirtualHost(name, createBrokerMock());
+ return createVirtualHost(name, createBrokerMock(), false);
}
- public static VirtualHostImpl<?,?,?> createVirtualHost(String name,
Broker<?> broker) throws Exception
+ public static VirtualHostImpl<?,?,?> createVirtualHost(String name,
Broker<?> broker, boolean defaultVHN) throws Exception
{
- Map<String,Object> attributes = new HashMap<String, Object>();
+ Map<String,Object> attributes = new HashMap<>();
attributes.put(org.apache.qpid.server.model.VirtualHost.TYPE,
TestMemoryVirtualHost.VIRTUAL_HOST_TYPE);
attributes.put(org.apache.qpid.server.model.VirtualHost.NAME, name);
- return createVirtualHost(attributes, broker);
+ return createVirtualHost(attributes, broker, defaultVHN);
}
public static AMQSessionModel<?,?> createSession(int channelId,
AMQConnectionModel<?,?> connection)
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java
Sat May 30 17:56:06 2015
@@ -45,8 +45,8 @@ import org.apache.qpid.test.utils.QpidTe
public class VirtualHostAliasTest extends QpidTestCase
{
+ private final Map<String, VirtualHost<?,?,?>> _vhosts = new HashMap<>();
private Broker<?> _broker;
- private Map<String, VirtualHost<?,?,?>> _vhosts;
private AmqpPort _port;
@Override
@@ -60,16 +60,20 @@ public class VirtualHostAliasTest extend
when(dummyAuthProvider.getId()).thenReturn(UUID.randomUUID());
when(dummyAuthProvider.getMechanisms()).thenReturn(Arrays.asList("PLAIN"));
when(_broker.getChildren(eq(AuthenticationProvider.class))).thenReturn(Collections.singleton(dummyAuthProvider));
- _vhosts = new HashMap<>();
for(String name : new String[] { "red", "blue", "purple", "black" })
{
- VirtualHostImpl<?, ?, ?> virtualHost =
BrokerTestHelper.createVirtualHost(name, _broker);
+ boolean defaultVHN = "black".equals(name);
+ VirtualHostImpl<?, ?, ?> virtualHost =
BrokerTestHelper.createVirtualHost(name, _broker, defaultVHN);
VirtualHostNode vhn = virtualHost.getParent(VirtualHostNode.class);
assertNotSame(vhn.getName(), virtualHost.getName());
_vhosts.put(name, virtualHost);
+
+ if (defaultVHN)
+ {
+ when(_broker.findDefautVirtualHostNode()).thenReturn(vhn);
+ }
}
ConfiguredObjectFactory objectFactory = _broker.getObjectFactory();
- when(_broker.getDefaultVirtualHost()).thenReturn("black");
final Map<String, Object> attributes = new HashMap<>();
attributes.put(Port.NAME, getTestName());
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNodeTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNodeTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNodeTest.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNodeTest.java
Sat May 30 17:56:06 2015
@@ -24,6 +24,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -354,19 +355,19 @@ public class AbstractStandardVirtualHost
assertEquals("Virtual host node state changed unexpectedly",
State.ACTIVE, node.getState());
}
- public void testValidateOnCreateFails() throws Exception
+ public void testValidateOnCreateFails_StoreFails() throws Exception
{
String nodeName = getTestName();
Map<String, Object> attributes = Collections.<String,
Object>singletonMap(TestVirtualHostNode.NAME, nodeName);
final DurableConfigurationStore store =
mock(DurableConfigurationStore.class);
doThrow(new RuntimeException("Cannot open
store")).when(store).openConfigurationStore(any(ConfiguredObject.class),
any(boolean.class));
- AbstractStandardVirtualHostNode node =
createAbstractStandardVirtualHostNode(attributes, store);
+ AbstractStandardVirtualHostNode node =
createTestStandardVirtualHostNode(attributes, store);
try
{
- node.validateOnCreate();
- fail("Cannot create node");
+ node.create();
+ fail("Exception not thrown");
}
catch (IllegalConfigurationException e)
{
@@ -374,17 +375,43 @@ public class AbstractStandardVirtualHost
}
}
+ public void testValidateOnCreateFails_ExistingDefaultVHN() throws Exception
+ {
+ String nodeName = getTestName();
+ Map<String, Object> attributes = new HashMap<>();
+ attributes.put(TestVirtualHostNode.NAME, nodeName);
+ attributes.put(TestVirtualHostNode.DEFAULT_VIRTUAL_HOST_NODE,
Boolean.TRUE);
+
+ VirtualHostNode existingDefault = mock(VirtualHostNode.class);
+ when(existingDefault.getName()).thenReturn("existingDefault");
+
+ when(_broker.findDefautVirtualHostNode()).thenReturn(existingDefault);
+
+ final DurableConfigurationStore store =
mock(DurableConfigurationStore.class);
+ AbstractStandardVirtualHostNode node =
createTestStandardVirtualHostNode(attributes, store);
+
+ try
+ {
+ node.create();
+ fail("Exception not thrown");
+ }
+ catch (IllegalConfigurationException e)
+ {
+ assertTrue("Unexpected exception " + e.getMessage(),
e.getMessage().startsWith("The existing virtual host node 'existingDefault' is
already the default for the Broker"));
+ }
+ }
+
public void testValidateOnCreateSucceeds() throws Exception
{
String nodeName = getTestName();
Map<String, Object> attributes = Collections.<String,
Object>singletonMap(TestVirtualHostNode.NAME, nodeName);
final DurableConfigurationStore store =
mock(DurableConfigurationStore.class);
- AbstractStandardVirtualHostNode node =
createAbstractStandardVirtualHostNode(attributes, store);
+ AbstractStandardVirtualHostNode node =
createTestStandardVirtualHostNode(attributes, store);
- node.validateOnCreate();
- verify(store).openConfigurationStore(node, false);
- verify(store).closeConfigurationStore();
+ node.create();
+ verify(store, times(2)).openConfigurationStore(node, false); // once
of validation, once for real
+ verify(store, times(1)).closeConfigurationStore();
}
public void testOpenFails() throws Exception
@@ -440,7 +467,7 @@ public class AbstractStandardVirtualHost
final DurableConfigurationStore store =
mock(DurableConfigurationStore.class);
doThrow(new RuntimeException("Cannot open
store")).when(store).openConfigurationStore(any(ConfiguredObject.class),
any(boolean.class));
- AbstractStandardVirtualHostNode node =
createAbstractStandardVirtualHostNode(attributes, store);
+ AbstractStandardVirtualHostNode node =
createTestStandardVirtualHostNode(attributes, store);
node.open();
assertEquals("Unexpected node state", State.ERRORED, node.getState());
@@ -455,7 +482,7 @@ public class AbstractStandardVirtualHost
DurableConfigurationStore store =
mock(DurableConfigurationStore.class);
doThrow(new RuntimeException("Cannot open
store")).when(store).openConfigurationStore(any(ConfiguredObject.class),
any(boolean.class));
- AbstractVirtualHostNode node =
createAbstractStandardVirtualHostNode(attributes, store);
+ AbstractVirtualHostNode node =
createTestStandardVirtualHostNode(attributes, store);
node.open();
assertEquals("Unexpected node state", State.ERRORED, node.getState());
doNothing().when(store).openConfigurationStore(any(ConfiguredObject.class),
any(boolean.class));
@@ -471,7 +498,7 @@ public class AbstractStandardVirtualHost
DurableConfigurationStore store =
mock(DurableConfigurationStore.class);
doThrow(new RuntimeException("Cannot open
store")).when(store).openConfigurationStore(any(ConfiguredObject.class),
any(boolean.class));
- AbstractVirtualHostNode node =
createAbstractStandardVirtualHostNode(attributes, store);
+ AbstractVirtualHostNode node =
createTestStandardVirtualHostNode(attributes, store);
node.open();
assertEquals("Unexpected node state", State.ERRORED, node.getState());
doNothing().when(store).openConfigurationStore(any(ConfiguredObject.class),
any(boolean.class));
@@ -517,7 +544,8 @@ public class AbstractStandardVirtualHost
}
- private AbstractStandardVirtualHostNode
createAbstractStandardVirtualHostNode(final Map<String, Object> attributes,
final DurableConfigurationStore store)
+ private AbstractStandardVirtualHostNode
createTestStandardVirtualHostNode(final Map<String, Object> attributes,
+
final DurableConfigurationStore store)
{
return new AbstractStandardVirtualHostNode(attributes, _broker){
Modified:
qpid/java/trunk/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js
(original)
+++
qpid/java/trunk/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js
Sat May 30 17:56:06 2015
@@ -31,6 +31,7 @@ define(["qpid/common/util", "dojo/domRea
DerbyNode.prototype.update=function(data)
{
+ this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED" ||
data.state == "ERRORED"));
util.updateUI(data, fields, this);
};
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html
Sat May 30 17:56:06 2015
@@ -37,18 +37,6 @@
</div>
</div>
<div class="clear">
- <div class="formLabel-labelCell
tableContainer-labelCell">Default Virtual Host*:</div>
- <div class="formLabel-controlCell tableContainer-valueCell">
- <input type="text" id="editBroker.defaultVirtualHost"
- data-dojo-type="dijit/form/FilteringSelect"
- data-dojo-props="
- name: 'defaultVirtualHost',
- required: true,
- promptMessage: 'Default virtual host used for
clients that do not specify one when connecting.',
- title: 'Select default virtual host' " />
- </div>
- </div>
- <div class="clear">
<div class="formLabel-labelCell
tableContainer-labelCell">Statistics reporting period (ms):</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text"
id="editBroker.statisticsReportingPeriod"
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html
Sat May 30 17:56:06 2015
@@ -36,8 +36,18 @@
title: 'Enter virtual host name'" />
</div>
</div>
-
<div id="editVirtualHostNode.typeFields"></div>
+ <div class="clear">
+ <div class="formLabel-labelCell
tableContainer-labelCell">Default Virtual Host Node: </div>
+ <div class="formLabel-controlCell
tableContainer-valueCell">
+ <input type="checkbox"
id="editVirtualHostNode.defaultVirtualHostNode" checked="checked"
+ data-dojo-type="dijit/form/CheckBox"
+ data-dojo-props="
+ name: 'defaultVirtualHostNode',
+ required: false,
+ title: 'Make this virtual host node
default. Clients connecting without providing a virtualhost will connect to the
virtual host beneath this node.'" />
+ </div>
+ </div>
<div class="clear"></div>
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
Sat May 30 17:56:06 2015
@@ -55,7 +55,7 @@ define(["dojo/parser",
addAuthenticationProvider, addVirtualHostNodeAndVirtualHost, addPort,
addStore, addGroupProvider, addAccessControlProvider, editBroker, template) {
var brokerAttributeNames = ["name", "operatingSystem", "platform",
"productVersion", "modelVersion",
- "defaultVirtualHost",
"statisticsReportingPeriod", "statisticsReportingResetEnabled",
+ "statisticsReportingPeriod",
"statisticsReportingResetEnabled",
"connection.sessionCountLimit",
"connection.heartBeatDelay"];
function Broker(name, parent, controller) {
@@ -282,10 +282,15 @@ define(["dojo/parser",
that.vhostsGrid =
new
UpdatableStore(that.brokerData.virtualhostnodes,
query(".broker-virtualhosts")[0],
[
- { name: "Node Name", field:
"name", width: "10%"},
- { name: "Node State", field:
"state", width: "10%"},
- { name: "Node Type", field:
"type", width: "10%"},
- { name: "Host Name", field:
"_item", width: "10%",
+ { name: "Node Name", field:
"name", width: "8%"},
+ { name: "Node State", field:
"state", width: "8%"},
+ { name: "Node Type", field:
"type", width: "8%"},
+ { name: "Default", field:
"defaultVirtualHostNode", width: "8%",
+ formatter: function(item){
+ return "<input
type='checkbox' disabled='disabled' "+(item?"checked='checked'": "")+" />";
+ }
+ },
+ { name: "Host Name", field:
"_item", width: "8%",
formatter: function(item){
return item &&
item.virtualhosts? item.virtualhosts[0].name: "N/A";
}
@@ -314,13 +319,6 @@ define(["dojo/parser",
formatter: function(item){
return
isActiveVH(item)? item.virtualhosts[0].statistics.exchangeCount: "N/A";
}
- },
- {
- name: "Default", field:
"_item", width: "6%",
- formatter: function(item){
- var val = item &&
item.virtualhosts? item.virtualhosts[0].name: null;
- return "<input
type='radio' disabled='disabled' "+(val == that.brokerData.defaultVirtualHost ?
"checked='checked'": "")+" />";
- }
}
], function(obj) {
connect.connect(obj.grid, "onRowDblClick", obj.grid,
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
Sat May 30 17:56:06 2015
@@ -162,7 +162,7 @@ define(["dojo/parser",
}
}
- storeNodes(["name", "state", "type"]);
+ storeNodes(["name", "state", "type", "defaultVirtualHostNode"]);
this.detailsDiv = findNode("virtualhostnodedetails");
}
@@ -192,12 +192,19 @@ define(["dojo/parser",
Updater.prototype.updateUI = function(data)
{
+ function showBoolean(val)
+ {
+ return "<input type='checkbox' disabled='disabled' "+(val ?
"checked='checked'": "")+" />" ;
+ }
+
this.tabObject.startNodeButton.set("disabled", !(data.state ==
"STOPPED" || data.state == "ERRORED"));
this.tabObject.stopNodeButton.set("disabled", data.state !=
"ACTIVE");
this.name.innerHTML = entities.encode(String(data[ "name" ]));
this.state.innerHTML = entities.encode(String(data[ "state" ]));
this.type.innerHTML = entities.encode(String(data[ "type" ]));
+ this.defaultVirtualHostNode.innerHTML = showBoolean(data[
"defaultVirtualHostNode" ]);
+
if (!this.details)
{
var that = this;
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js
Sat May 30 17:56:06 2015
@@ -45,7 +45,7 @@ define(["dojox/html/entities",
"dojo/domReady!"],
function (entities, array, event, lang, win, dom, domConstruct, registry,
parser, json, query, Memory, ObjectStore, util, template)
{
- var fields = [ "name", "defaultVirtualHost", "statisticsReportingPeriod",
"statisticsReportingResetEnabled", "connection.sessionCountLimit",
"connection.heartBeatDelay"];
+ var fields = [ "name", "statisticsReportingPeriod",
"statisticsReportingResetEnabled", "connection.sessionCountLimit",
"connection.heartBeatDelay"];
var numericFieldNames = ["statisticsReportingPeriod",
"connection.sessionCountLimit", "connection.heartBeatDelay"];
var brokerEditor =
@@ -130,21 +130,6 @@ define(["dojox/html/entities",
_show:function(actualData, effectiveData)
{
this.initialData = actualData;
- var nodes = effectiveData.virtualhostnodes
- var data = [];
- if (nodes)
- {
- for (var i=0; i< nodes.length; i++)
- {
- if (nodes[i].virtualhosts)
- {
- data.push({id: nodes[i].virtualhosts[0].name, name:
nodes[i].virtualhosts[0].name});
- }
- }
- }
- var hostsStore = new dojo.store.Memory({ data: data });
- this["defaultVirtualHost"].set("store", hostsStore);
-
for(var i = 0; i < fields.length; i++)
{
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js
Sat May 30 17:56:06 2015
@@ -26,11 +26,13 @@
function JSON(data)
{
+ this.parent = data.parent;
util.buildUI(data.containerNode, data.parent,
"virtualhostnode/json/show.html", fields, this);
}
JSON.prototype.update = function(data)
{
+ this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED"
|| data.state == "ERRORED"));
util.updateUI(data, fields, this);
}
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html
Sat May 30 17:56:06 2015
@@ -41,10 +41,6 @@
<div class="formLabel-labelCell">Broker model version:</div>
<div id="brokerAttribute.modelVersion"></div>
</div>
- <div id="brokerAttribute.defaultVirtualHost.container"
class="hidden clear">
- <div class="formLabel-labelCell">Default virtual host:</div>
- <div id="brokerAttribute.defaultVirtualHost"></div>
- </div>
<div id="brokerAttribute.statisticsReportingPeriod.container"
class="hidden clear">
<div class="formLabel-labelCell">Statistics reporting period
(ms):</div>
<div id="brokerAttribute.statisticsReportingPeriod"></div>
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showVirtualHostNode.html
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showVirtualHostNode.html?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showVirtualHostNode.html
(original)
+++
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showVirtualHostNode.html
Sat May 30 17:56:06 2015
@@ -34,6 +34,10 @@
<div class="formLabel-labelCell">State:</div>
<div class="state"></div>
</div>
+ <div class="clear">
+ <div class="formLabel-labelCell">Default Virtual Host Node:</div>
+ <div class="defaultVirtualHostNode"></div>
+ </div>
<div class="clear virtualhostnodedetails">
</div>
<div class="clear"></div>
Copied:
qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js
(from r1682487,
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js)
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js?p2=qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js&p1=qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js&r1=1682487&r2=1682631&rev=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/show.js
(original)
+++
qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js
Sat May 30 17:56:06 2015
@@ -1,5 +1,4 @@
/*
- *
* 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
@@ -16,24 +15,14 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
- define(["qpid/common/util",
- "dojo/domReady!"],
- function (util)
+define(["dojo/domReady!"],
+ function (util, registry)
{
- var fields = ["storePath"];
-
- function JSON(data)
- {
- util.buildUI(data.containerNode, data.parent,
"virtualhostnode/json/show.html", fields, this);
- }
-
- JSON.prototype.update = function(data)
- {
- util.updateUI(data, fields, this);
- }
-
- return JSON;
+ return {
+ show: function(data)
+ {
+ }
+ };
}
- );
+);
Modified:
qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js
(original)
+++
qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js
Sat May 30 17:56:06 2015
@@ -17,20 +17,17 @@
* under the License.
*/
-define([],
+define(["dojo/domReady!"],
function ()
{
function Memory(data)
{
this.parent = data.parent;
- this.parent.editNodeButton.set("disabled",true);
- this.parent.editNodeButton.domNode.style.display = "none";
}
Memory.prototype.update = function(data)
{
- this.parent.editNodeButton.set("disabled", true);
- this.parent.editNodeButton.domNode.style.display = "none";
+ this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED" ||
data.state == "ERRORED"));
}
return Memory;
Modified: qpid/java/trunk/systests/etc/config-systests.json
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/etc/config-systests.json?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
--- qpid/java/trunk/systests/etc/config-systests.json (original)
+++ qpid/java/trunk/systests/etc/config-systests.json Sat May 30 17:56:06 2015
@@ -20,7 +20,7 @@
*/
{
"name": "Broker",
- "defaultVirtualHost" : "test",
+ "defaultVirtualHostNode" : "test",
"modelVersion": "3.1",
"authenticationproviders" : [ {
"name" : "plain",
@@ -102,6 +102,7 @@
"virtualhostnodes" : [ {
"name" : "test",
"type" : "${virtualhostnode.type}",
+ "defaultVirtualHostNode" : "true",
"storePath" :
"${QPID_WORK}${file.separator}${test.port}${file.separator}test${file.separator}config",
"context" : {
"virtualhostBlueprint" : "${virtualhostnode.context.blueprint}"
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java
Sat May 30 17:56:06 2015
@@ -41,7 +41,6 @@ import org.apache.qpid.server.model.Prot
import org.apache.qpid.server.model.port.AmqpPort;
import org.apache.qpid.server.security.SubjectCreator;
import org.apache.qpid.server.util.BrokerTestHelper;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.transport.ByteBufferSender;
import org.apache.qpid.transport.network.NetworkConnection;
@@ -56,8 +55,7 @@ public class MultiVersionProtocolEngineF
super.setUp();
BrokerTestHelper.setUp();
_broker = BrokerTestHelper.createBrokerMock();
-
when(_broker.getAttribute(Broker.DEFAULT_VIRTUAL_HOST)).thenReturn("default");
- when(_broker.getDefaultVirtualHost()).thenReturn("default");
+
when(_broker.getContextValue(eq(Integer.class),
eq(Broker.BROKER_FRAME_SIZE))).thenReturn(0xffff);
}
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
Sat May 30 17:56:06 2015
@@ -24,6 +24,8 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import javax.servlet.http.HttpServletResponse;
+
import org.apache.qpid.server.management.plugin.HttpManagement;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
@@ -79,15 +81,15 @@ public class AnonymousAccessRestTest ext
startBrokerNow();
Map<String, Object> brokerAttributes = new HashMap<String, Object>();
- brokerAttributes.put(Broker.DEFAULT_VIRTUAL_HOST, TEST3_VIRTUALHOST);
+ String newBrokerName = getName();
+ brokerAttributes.put(Broker.NAME, newBrokerName);
- int response = getRestTestHelper().submitRequest("broker", "PUT",
brokerAttributes);
- assertEquals("Unexpected update response", 200, response);
+ getRestTestHelper().submitRequest("broker", "PUT", brokerAttributes,
HttpServletResponse.SC_OK);
Map<String, Object> brokerDetails =
getRestTestHelper().getJsonAsSingletonList("broker");
assertNotNull("Unexpected broker attributes", brokerDetails);
assertNotNull("Unexpected value of attribute " + Broker.ID,
brokerDetails.get(Broker.ID));
- assertEquals("Unexpected default virtual host", TEST3_VIRTUALHOST,
brokerDetails.get(Broker.DEFAULT_VIRTUAL_HOST));
+ assertEquals("Unexpected default virtual host", newBrokerName,
brokerDetails.get(Broker.NAME));
}
public void testGetWithPasswordAuthProvider() throws Exception
@@ -96,20 +98,19 @@ public class AnonymousAccessRestTest ext
TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
startBrokerNow();
- int response = getRestTestHelper().submitRequest("broker", "GET");
- assertEquals("Anonymous access should be denied", 401, response);
+ getRestTestHelper().submitRequest("broker", "GET",
HttpServletResponse.SC_UNAUTHORIZED);
}
public void testPutWithPasswordAuthProvider() throws Exception
{
+ String newBrokerName = getName();
getBrokerConfiguration().setObjectAttribute(Port.class,
TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT, Port.AUTHENTICATION_PROVIDER,
TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
startBrokerNow();
Map<String, Object> brokerAttributes = new HashMap<String, Object>();
- brokerAttributes.put(Broker.DEFAULT_VIRTUAL_HOST, TEST3_VIRTUALHOST);
+ brokerAttributes.put(Broker.NAME, newBrokerName);
- int response = getRestTestHelper().submitRequest("broker", "PUT",
brokerAttributes);
- assertEquals("Anonymous access should be denied", 401, response);
+ getRestTestHelper().submitRequest("broker", "PUT", brokerAttributes,
HttpServletResponse.SC_UNAUTHORIZED);
}
}
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
Sat May 30 17:56:06 2015
@@ -154,7 +154,7 @@ public class AuthenticationProviderRestT
getRestTestHelper().setUsernameAndPassword(userName, userPassword);
ConnectionURL connectionURL = new AMQConnectionURL("amqp://"+
userName + ":" + userPassword +
- "@/?brokerlist='tcp://localhost:"+getFailingPort()+"'");
+ "@/" + TEST1_VIRTUALHOST +
"?brokerlist='tcp://localhost:"+getFailingPort()+"'");
Connection connection = getConnection(connectionURL);
try
{
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
Sat May 30 17:56:06 2015
@@ -135,7 +135,6 @@ public class BrokerRestTest extends Qpid
public void testPutToUpdateWithInvalidAttributeValues() throws Exception
{
Map<String, Object> invalidAttributes = new HashMap<String, Object>();
- invalidAttributes.put(Broker.DEFAULT_VIRTUAL_HOST,
"non-existing-host");
invalidAttributes.put(Broker.CONNECTION_SESSION_COUNT_LIMIT, -10);
invalidAttributes.put(Broker.CONNECTION_HEART_BEAT_DELAY, -11000);
invalidAttributes.put(Broker.STATISTICS_REPORTING_PERIOD, -12000);
@@ -181,7 +180,6 @@ public class BrokerRestTest extends Qpid
private Map<String, Object> getValidBrokerAttributes()
{
Map<String, Object> brokerAttributes = new HashMap<String, Object>();
- brokerAttributes.put(Broker.DEFAULT_VIRTUAL_HOST, TEST3_VIRTUALHOST);
brokerAttributes.put(Broker.CONNECTION_SESSION_COUNT_LIMIT, 10);
brokerAttributes.put(Broker.CONNECTION_HEART_BEAT_DELAY, 11000);
brokerAttributes.put(Broker.STATISTICS_REPORTING_PERIOD, 12000);
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java?rev=1682631&r1=1682630&r2=1682631&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
Sat May 30 17:56:06 2015
@@ -181,11 +181,6 @@ public class VirtualHostRestTest extends
assertEquals("Host should be deleted", 0, hosts.size());
}
- public void testDeleteDefaultHostFails() throws Exception
- {
- getRestTestHelper().submitRequest("virtualhost/" + TEST1_VIRTUALHOST,
"DELETE", HttpServletResponse.SC_CONFLICT);
- }
-
public void testUpdateByPut() throws Exception
{
assertVirtualHostUpdate("PUT");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]