You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2013/01/07 11:28:27 UTC
svn commit: r1429738 - in
/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration:
ConfigurationEntry.java store/CommandLineOptionsHandler.java
Author: orudyy
Date: Mon Jan 7 10:28:27 2013
New Revision: 1429738
URL: http://svn.apache.org/viewvc?rev=1429738&view=rev
Log:
QPID-4390: Improve the configuration handling of command line options
Modified:
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java?rev=1429738&r1=1429737&r2=1429738&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java Mon Jan 7 10:28:27 2013
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
@@ -195,4 +196,13 @@ public class ConfigurationEntry
+ _childrenIds + "]";
}
+ public Object setAttribute(String name, Object value)
+ {
+ return _attributes.put(name, value);
+ }
+
+ public ConfigurationEntry clone()
+ {
+ return new ConfigurationEntry(_id, _type, new HashMap<String, Object>(_attributes), new HashSet<UUID>(_childrenIds), _store);
+ }
}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java?rev=1429738&r1=1429737&r2=1429738&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java Mon Jan 7 10:28:27 2013
@@ -54,8 +54,9 @@ public class CommandLineOptionsHandler i
Protocol.AMQP_0_10, Protocol.AMQP_1_0);
private final ConfigurationEntryStore _store;
- private final Map<UUID, MutableConfigurationEntry> _cliEntries;
+ private final Map<UUID, ConfigurationEntry> _cliEntries;
private final ConfigurationEntry _root;
+ private final Set<UUID> _originalStorePortIds;
public CommandLineOptionsHandler(BrokerOptions options, ConfigurationEntryStore store)
{
@@ -67,24 +68,23 @@ public class CommandLineOptionsHandler i
ConfigurationEntry root = store.getRootEntry();
Set<UUID> rootChildren = new HashSet<UUID>(root.getChildrenIds());
Collection<ConfigurationEntry> storePorts = root.getChildren().get(PORT_TYPE_NAME);
- Collection<MutableConfigurationEntry> mutableConfigurationEntries = new ArrayList<MutableConfigurationEntry>();
+ Collection<ConfigurationEntry> mutableConfigurationEntries = new ArrayList<ConfigurationEntry>();
+ _originalStorePortIds = new HashSet<UUID>();
for (ConfigurationEntry configurationEntry : storePorts)
{
- mutableConfigurationEntries.add(new PortMutableConfigurationEntry(configurationEntry));
+ mutableConfigurationEntries.add(configurationEntry.clone());
rootChildren.remove(configurationEntry.getId());
+ _originalStorePortIds.add(configurationEntry.getId());
}
for (ConfigurationAction configurationAction : configActions)
{
mutableConfigurationEntries = configurationAction.apply(mutableConfigurationEntries);
}
- _cliEntries = new HashMap<UUID, MutableConfigurationEntry>();
- for (MutableConfigurationEntry mutableConfigurationEntry : mutableConfigurationEntries)
+ _cliEntries = new HashMap<UUID, ConfigurationEntry>();
+ for (ConfigurationEntry mutableConfigurationEntry : mutableConfigurationEntries)
{
_cliEntries.put(mutableConfigurationEntry.getId(), mutableConfigurationEntry);
- if (!mutableConfigurationEntry.isDisabled())
- {
- rootChildren.add(mutableConfigurationEntry.getId());
- }
+ rootChildren.add(mutableConfigurationEntry.getId());
}
_root = new ConfigurationEntry(root.getId(), root.getType(), root.getAttributes(), rootChildren, this);
}
@@ -92,6 +92,7 @@ public class CommandLineOptionsHandler i
{
_root = null;
_cliEntries = null;
+ _originalStorePortIds = null;
}
}
@@ -198,10 +199,10 @@ public class CommandLineOptionsHandler i
{
return _root;
}
- MutableConfigurationEntry entry = _cliEntries.get(id);
- if (entry != null && !entry.isDisabled())
+ ConfigurationEntry entry = _cliEntries.get(id);
+ if (entry != null)
{
- return entry.toConfigurationEntry();
+ return entry;
}
}
return _store.getEntry(id);
@@ -224,29 +225,26 @@ public class CommandLineOptionsHandler i
{
// remove command line ports from broker children
Set<UUID> childrenIds = new HashSet<UUID>(entry.getChildrenIds());
- for (MutableConfigurationEntry substitutedEntry : _cliEntries.values())
+ for (ConfigurationEntry substitutedEntry : _cliEntries.values())
{
- ConfigurationEntry original = substitutedEntry.getOriginal();
- if (original == null)
+ ConfigurationEntryStore entryStore = substitutedEntry.getStore();
+ if (entryStore == this)
{
childrenIds.remove(substitutedEntry.getId());
}
- else
- {
- childrenIds.add(substitutedEntry.getId());
- }
}
+ childrenIds.addAll(_originalStorePortIds);
entry = new ConfigurationEntry(_root.getId(), _root.getType(), _root.getAttributes(), childrenIds, _store);
storeEntries.add(entry);
}
- MutableConfigurationEntry override = _cliEntries.get(entry.getId());
+ ConfigurationEntry override = _cliEntries.get(entry.getId());
if (override == null)
{
storeEntries.add(entry);
}
- if (override != null)
+ if (override != null)
{
- if (override.isDisabled())
+ if (override.getStore() == _store)
{
throw new IllegalConfigurationException("Cannot store entry which was overridden by command line options: " + entry);
}
@@ -256,8 +254,12 @@ public class CommandLineOptionsHandler i
_store.save(storeEntries.toArray(new ConfigurationEntry[storeEntries.size()]));
for (ConfigurationEntry entry : nonStoreEntries)
{
- MutableConfigurationEntry override = _cliEntries.get(entry.getId());
- override.setAttributes(entry.getAttributes());
+ ConfigurationEntry override = _cliEntries.get(entry.getId());
+ Map<String, Object> attributes = entry.getAttributes();
+ for (Map.Entry<String, Object> entryAttribute : attributes.entrySet())
+ {
+ override.setAttribute(entryAttribute.getKey(), entryAttribute.getValue());
+ }
}
}
}
@@ -280,8 +282,8 @@ public class CommandLineOptionsHandler i
{
throw new IllegalConfigurationException("Cannot remove root entry");
}
- MutableConfigurationEntry override = _cliEntries.get(entryId);
- if (override == null || override.isDisabled())
+ ConfigurationEntry override = _cliEntries.get(entryId);
+ if (override == null || override.getStore() == _store)
{
storeEntries.add(entryId);
}
@@ -297,139 +299,24 @@ public class CommandLineOptionsHandler i
}
for (UUID entryId : nonStoreEntries)
{
- MutableConfigurationEntry entry = _cliEntries.remove(entryId);
+ ConfigurationEntry entry = _cliEntries.remove(entryId);
if (entry != null)
{
deleted.add(entryId);
}
}
- return deleted.toArray(new UUID[deleted.size()]);
- }
- }
-
- public static class MutableConfigurationEntry
- {
- private final UUID _id;
- private final String _type;
- private final Map<String, Object> _attributes;
- private final ConfigurationEntryStore _store;
- private final ConfigurationEntry _original;
- private boolean _disabled;
-
- private MutableConfigurationEntry(ConfigurationEntry original, UUID id, String type, ConfigurationEntryStore store)
- {
- super();
- _original = original;
- _attributes = new HashMap<String, Object>();
- _id = id;
- _type = type;
- _store = store;
- if (original != null)
+ for (UUID entryId : storeEntries)
{
- Map<String, Object> originalAttributes = original.getAttributes();
- if (originalAttributes != null)
- {
- _attributes.putAll(originalAttributes);
- }
+ _originalStorePortIds.remove(entryId);
}
+ return deleted.toArray(new UUID[deleted.size()]);
}
-
- public MutableConfigurationEntry(ConfigurationEntry original)
- {
- this(original, original.getId(), original.getType(), original.getStore());
- }
-
- public MutableConfigurationEntry(UUID id, String type, ConfigurationEntryStore store)
- {
- this(null, id, type, store);
- }
-
- public ConfigurationEntry getOriginal()
- {
- return _original;
- }
-
- public void setAttribute(String name, Object value)
- {
- _attributes.put(name, value);
- }
-
- public void setAttributes(Map<String, Object> attributes)
- {
- for (Map.Entry<String, Object> attribute : attributes.entrySet())
- {
- _attributes.put(attribute.getKey(), attribute.getValue());
- }
- }
-
- public Map<String, Object> getAttributes()
- {
- return _attributes;
- }
-
- public ConfigurationEntry toConfigurationEntry()
- {
- if (_original == null)
- {
- return new ConfigurationEntry(_id, _type, _attributes, Collections.<UUID> emptySet(), _store);
- }
- return new ConfigurationEntry(_original.getId(), _original.getType(), _attributes, _original.getChildrenIds(),
- _original.getStore());
- }
-
- public String getType()
- {
- return _type;
- }
-
- public void disable()
- {
- _disabled = true;
- }
-
- public boolean isDisabled()
- {
- return _disabled;
- }
-
- public UUID getId()
- {
- return _id;
- }
-
- @Override
- public String toString()
- {
- return "MutableConfigurationEntry [_id=" + _id + ", _type=" + _type + ", _attributes=" + _attributes + ", _disabled="
- + _disabled + ", _store=" + _store + ", _original=" + _original + "]";
- }
-
-
}
- public static class PortMutableConfigurationEntry extends MutableConfigurationEntry
+ public static class ConfigurationEntryHelper
{
- public PortMutableConfigurationEntry(ConfigurationEntry original)
+ public static int getPortAttribute(Map<String, Object> attributes)
{
- super(original);
- if (!PORT_TYPE_NAME.equals(original.getType()))
- {
- throw new IllegalConfigurationException("Not a valid port entry");
- }
- }
-
- public PortMutableConfigurationEntry(UUID id, String type, ConfigurationEntryStore store)
- {
- super(id, type, store);
- if (!PORT_TYPE_NAME.equals(type))
- {
- throw new IllegalConfigurationException("Not a valid port entry");
- }
- }
-
- public int getPortAttribute()
- {
- Map<String, Object> attributes = getAttributes();
Object portAttribute = attributes.get(Port.PORT);
if (portAttribute == null || "".equals(portAttribute))
{
@@ -454,9 +341,8 @@ public class CommandLineOptionsHandler i
return port;
}
- public Set<Protocol> getProtocolsAttribute()
+ public static Set<Protocol> getProtocolsAttribute(Map<String, Object> attributes)
{
- Map<String, Object> attributes = getAttributes();
Set<Protocol> protocols = MapValueConverter.getEnumSetAttribute(Port.PROTOCOLS, attributes, Protocol.class);
if (protocols == null || protocols.isEmpty())
{
@@ -465,9 +351,8 @@ public class CommandLineOptionsHandler i
return protocols;
}
- public Set<Transport> getTransportsAttribute()
+ public static Set<Transport> getTransportsAttribute(Map<String, Object> attributes)
{
- Map<String, Object> attributes = getAttributes();
Set<Transport> transports = MapValueConverter.getEnumSetAttribute(Port.TRANSPORTS, attributes, Transport.class);
if (transports == null || transports.isEmpty())
{
@@ -476,33 +361,29 @@ public class CommandLineOptionsHandler i
return transports;
}
- public void setProtocolsAttribute(Set<Protocol> protocols)
- {
- setAttribute(Port.PROTOCOLS, protocols);
- }
}
public interface ConfigurationAction
{
- Collection<MutableConfigurationEntry> apply(Collection<MutableConfigurationEntry> entries);
+ Collection<ConfigurationEntry> apply(Collection<ConfigurationEntry> entries);
}
public static abstract class PortConfigurationAction implements ConfigurationAction
{
@Override
- public Collection<MutableConfigurationEntry> apply(Collection<MutableConfigurationEntry> entries)
+ public Collection<ConfigurationEntry> apply(Collection<ConfigurationEntry> entries)
{
- for (MutableConfigurationEntry configurationEntry : entries)
+ for (ConfigurationEntry configurationEntry : entries)
{
- if (!configurationEntry.isDisabled() && configurationEntry instanceof PortMutableConfigurationEntry)
+ if (PORT_TYPE_NAME.equals(configurationEntry.getType()))
{
- onPortConfigurationEntry((PortMutableConfigurationEntry)configurationEntry);
+ onConfigurationEntry((ConfigurationEntry) configurationEntry);
}
}
return entries;
}
- public abstract void onPortConfigurationEntry(PortMutableConfigurationEntry configurationEntry);
+ public abstract void onConfigurationEntry(ConfigurationEntry configurationEntry);
}
@@ -525,9 +406,10 @@ public class CommandLineOptionsHandler i
}
@Override
- public void onPortConfigurationEntry(PortMutableConfigurationEntry configurationEntry)
+ public void onConfigurationEntry(ConfigurationEntry configurationEntry)
{
- Set<Protocol> protocols = configurationEntry.getProtocolsAttribute();
+ Map<String, Object> attributes = configurationEntry.getAttributes();
+ Set<Protocol> protocols = ConfigurationEntryHelper.getProtocolsAttribute(attributes);
if (protocols.size() > 0)
{
Protocol protocol = protocols.iterator().next();
@@ -552,16 +434,18 @@ public class CommandLineOptionsHandler i
}
@Override
- public void onPortConfigurationEntry(PortMutableConfigurationEntry configurationEntry)
+ public void onConfigurationEntry(ConfigurationEntry configurationEntry)
{
- int port = configurationEntry.getPortAttribute();
+ Map<String, Object> attributes = configurationEntry.getAttributes();
+ int port = ConfigurationEntryHelper.getPortAttribute(attributes);
if (_excludedPorts.contains(port))
{
- Set<Protocol> protocols = configurationEntry.getProtocolsAttribute();
+ Set<Protocol> protocols = ConfigurationEntryHelper.getProtocolsAttribute(attributes);
if (protocols.contains(_protocol))
{
- protocols.remove(_protocol);
- configurationEntry.setProtocolsAttribute(protocols);
+ Set<Protocol> newProtocols = new HashSet<Protocol>(protocols);
+ newProtocols.remove(_protocol);
+ configurationEntry.setAttribute(Port.PROTOCOLS, newProtocols);
}
}
}
@@ -580,33 +464,31 @@ public class CommandLineOptionsHandler i
}
@Override
- public void onPortConfigurationEntry(PortMutableConfigurationEntry configurationEntry)
+ public void onConfigurationEntry(ConfigurationEntry configurationEntry)
{
- if (!configurationEntry.isDisabled())
+ Map<String, Object> attributes = configurationEntry.getAttributes();
+ int port = ConfigurationEntryHelper.getPortAttribute(attributes);
+ if (_includedPorts.contains(port))
{
- int port = configurationEntry.getPortAttribute();
- if (_includedPorts.contains(port))
+ Set<Protocol> protocols = ConfigurationEntryHelper.getProtocolsAttribute(attributes);
+ if (!protocols.contains(_protocol))
{
- Set<Protocol> protocols = configurationEntry.getProtocolsAttribute();
- if (!protocols.contains(_protocol))
- {
- protocols.add(_protocol);
- configurationEntry.setProtocolsAttribute(protocols);
- }
+ Set<Protocol> newProtocols = new HashSet<Protocol>(protocols);
+ newProtocols.add(_protocol);
+ configurationEntry.setAttribute(Port.PROTOCOLS, newProtocols);
}
}
}
}
- public static class AddAmqpPortAction extends PortConfigurationAction
+ public static class AddAmqpPortAction implements ConfigurationAction
{
private int _port;
private Transport _transport;
private Set<Protocol> _protocols;
private ConfigurationEntryStore _store;
- public AddAmqpPortAction(int port, Transport transport, Set<Protocol> protocols,
- ConfigurationEntryStore store)
+ public AddAmqpPortAction(int port, Transport transport, Set<Protocol> protocols, ConfigurationEntryStore store)
{
super();
_port = port;
@@ -616,43 +498,61 @@ public class CommandLineOptionsHandler i
}
@Override
- public Collection<MutableConfigurationEntry> apply(Collection<MutableConfigurationEntry> entries)
+ public Collection<ConfigurationEntry> apply(Collection<ConfigurationEntry> entries)
{
- MutableConfigurationEntry entry = findPortEntryWithTheSamePort(entries, _port);
- if (entry == null)
- {
- // disable all store port entries with the same protocol type
- // and transport
- super.apply(entries);
- }
- else
- {
- entry.disable();
- }
+ ConfigurationEntry entry = findPortEntryWithTheSamePort(entries, _port);
String portName = getPortName(_port);
UUID id = UUIDGenerator.generateBrokerChildUUID(PORT_TYPE_NAME, portName);
- PortMutableConfigurationEntry newEntry = new PortMutableConfigurationEntry(id, PORT_TYPE_NAME, _store);
+ Map<String, Object> attributes = new HashMap<String, Object>();
if (entry != null)
{
- newEntry.setAttributes(entry.getAttributes());
+ attributes.putAll(entry.getAttributes());
}
- newEntry.setAttribute(Port.NAME, portName);
- newEntry.setAttribute(Port.TRANSPORTS, Collections.singleton(_transport));
- newEntry.setAttribute(Port.PROTOCOLS, _protocols);
- newEntry.setAttribute(Port.PORT, _port);
- List<MutableConfigurationEntry> newEntries = new ArrayList<MutableConfigurationEntry>(entries);
+ attributes.put(Port.NAME, portName);
+ attributes.put(Port.TRANSPORTS, Collections.singleton(_transport));
+ attributes.put(Port.PROTOCOLS, _protocols);
+ attributes.put(Port.PORT, _port);
+ ConfigurationEntry newEntry = new ConfigurationEntry(id, PORT_TYPE_NAME, attributes, Collections.<UUID> emptySet(), _store);
+ List<ConfigurationEntry> newEntries = new ArrayList<ConfigurationEntry>();
newEntries.add(newEntry);
+
+ for (ConfigurationEntry configurationEntry : entries)
+ {
+ boolean isEntryFromOriginalStoreAndHasTheSameTransportAndProtocolType = false;
+ if (PORT_TYPE_NAME.equals(configurationEntry.getType()) && configurationEntry.getStore() != _store)
+ {
+ Map<String, Object> entryAttributes = configurationEntry.getAttributes();
+ Set<Transport> transports = ConfigurationEntryHelper.getTransportsAttribute(entryAttributes);
+ if (transports.contains(_transport))
+ {
+ Set<Protocol> protocols = ConfigurationEntryHelper.getProtocolsAttribute(entryAttributes);
+ for (Protocol protocol : protocols)
+ {
+ if (protocol.getProtocolType() == ProtocolType.AMQP)
+ {
+ isEntryFromOriginalStoreAndHasTheSameTransportAndProtocolType = true;
+ break;
+ }
+ }
+ }
+
+ }
+ if (!isEntryFromOriginalStoreAndHasTheSameTransportAndProtocolType)
+ {
+ newEntries.add(configurationEntry);
+ }
+ }
return newEntries;
}
- private MutableConfigurationEntry findPortEntryWithTheSamePort(Collection<MutableConfigurationEntry> entries, int port)
+ private ConfigurationEntry findPortEntryWithTheSamePort(Collection<ConfigurationEntry> entries, int port)
{
- MutableConfigurationEntry entry = null;
- for (MutableConfigurationEntry configurationEntry : entries)
+ ConfigurationEntry entry = null;
+ for (ConfigurationEntry configurationEntry : entries)
{
- if (configurationEntry instanceof PortMutableConfigurationEntry)
+ if (PORT_TYPE_NAME.equals(configurationEntry.getType()))
{
- int entryPort = ((PortMutableConfigurationEntry)configurationEntry).getPortAttribute();
+ int entryPort = ConfigurationEntryHelper.getPortAttribute(configurationEntry.getAttributes());
if (port == entryPort)
{
entry = configurationEntry;
@@ -668,33 +568,9 @@ public class CommandLineOptionsHandler i
return "cliAmqpPort" + amqpPort;
}
- @Override
- public void onPortConfigurationEntry(PortMutableConfigurationEntry configurationEntry)
- {
- // disable only configuration entry if it has original attached
- if (!configurationEntry.isDisabled() && configurationEntry.getOriginal() != null)
- {
- Set<Transport> transports = configurationEntry.getTransportsAttribute();
-
- // disable only configuration entry with the same transports
- if (transports.contains(_transport))
- {
- Set<Protocol> protocols = configurationEntry.getProtocolsAttribute();
- for (Protocol protocol : protocols)
- {
- if (protocol.getProtocolType() == ProtocolType.AMQP)
- {
- // disable only configuration entry with the same protocol type
- configurationEntry.disable();
- break;
- }
- }
- }
- }
- }
}
- public static class AddJmxPortAction extends PortConfigurationAction
+ public static class AddJmxPortAction implements ConfigurationAction
{
private int _port;
private ConfigurationEntryStore _store;
@@ -709,37 +585,36 @@ public class CommandLineOptionsHandler i
}
@Override
- public Collection<MutableConfigurationEntry> apply(Collection<MutableConfigurationEntry> entries)
+ public Collection<ConfigurationEntry> apply(Collection<ConfigurationEntry> entries)
{
- Collection<MutableConfigurationEntry> sameProtocolEntries = findPortEntriesWithTheSameProtocol(entries, _protocol);
- super.apply(sameProtocolEntries);
String portName = getPortName(_port);
UUID id = UUIDGenerator.generateBrokerChildUUID(PORT_TYPE_NAME, portName);
- PortMutableConfigurationEntry newEntry = new PortMutableConfigurationEntry(id, PORT_TYPE_NAME, _store);
- newEntry.setAttribute(Port.NAME, portName);
- newEntry.setAttribute(Port.TRANSPORTS, Collections.singleton(Transport.TCP));
- newEntry.setAttribute(Port.PROTOCOLS, Collections.singleton(_protocol));
- newEntry.setAttribute(Port.PORT, _port);
- List<MutableConfigurationEntry> newEntries = new ArrayList<MutableConfigurationEntry>(entries);
+ Map<String, Object> attributes = new HashMap<String, Object>();
+ attributes.put(Port.NAME, portName);
+ attributes.put(Port.TRANSPORTS, Collections.singleton(Transport.TCP));
+ attributes.put(Port.PROTOCOLS, Collections.singleton(_protocol));
+ attributes.put(Port.PORT, _port);
+ ConfigurationEntry newEntry = new ConfigurationEntry(id, PORT_TYPE_NAME, attributes,
+ Collections.<UUID> emptySet(), _store);
+ List<ConfigurationEntry> newEntries = new ArrayList<ConfigurationEntry>();
newEntries.add(newEntry);
- return newEntries;
- }
-
- private Collection<MutableConfigurationEntry> findPortEntriesWithTheSameProtocol(Collection<MutableConfigurationEntry> entries, Protocol protocol)
- {
- List<MutableConfigurationEntry> foundEntries = new ArrayList<MutableConfigurationEntry>();
- for (MutableConfigurationEntry configurationEntry : entries)
+ for (ConfigurationEntry configurationEntry : entries)
{
- if (configurationEntry instanceof PortMutableConfigurationEntry)
+ boolean isEntryFromOriginalStoreAndHasTheSameProtocol = false;
+ if (PORT_TYPE_NAME.equals(configurationEntry.getType()) && configurationEntry.getStore() != _store)
{
- Set<Protocol> protocols = ((PortMutableConfigurationEntry)configurationEntry).getProtocolsAttribute();
- if (protocols.contains(protocol))
+ Set<Protocol> protocols = ConfigurationEntryHelper.getProtocolsAttribute(configurationEntry.getAttributes());
+ if (protocols.contains(_protocol))
{
- foundEntries.add(configurationEntry);
+ isEntryFromOriginalStoreAndHasTheSameProtocol = true;
}
}
+ if (!isEntryFromOriginalStoreAndHasTheSameProtocol)
+ {
+ newEntries.add(configurationEntry);
+ }
}
- return foundEntries;
+ return newEntries;
}
private String getPortName(Integer amqpPort)
@@ -747,13 +622,5 @@ public class CommandLineOptionsHandler i
return "cliJmxPort" + amqpPort;
}
- @Override
- public void onPortConfigurationEntry(PortMutableConfigurationEntry configurationEntry)
- {
- if (!configurationEntry.isDisabled())
- {
- configurationEntry.disable();
- }
- }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org