You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/04/14 19:56:52 UTC
svn commit: r1587262 - in /qpid/trunk/qpid/java:
broker-core/src/main/java/org/apache/qpid/server/binding/
broker-core/src/main/java/org/apache/qpid/server/exchange/
broker-core/src/main/java/org/apache/qpid/server/model/
broker-core/src/main/java/org/...
Author: rgodfrey
Date: Mon Apr 14 17:56:51 2014
New Revision: 1587262
URL: http://svn.apache.org/r1587262
Log:
QPID-5698 : [Java Broker] make the durable attribute automated, remove unused setters
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java Mon Apr 14 17:56:51 2014
@@ -82,7 +82,7 @@ public class BindingImpl
public BindingImpl(UUID id, Map<String, Object> attributes, AMQQueue queue, ExchangeImpl exchange)
{
- super(parentsMap(queue,exchange),combineIdWithAttributes(id,attributes),queue.getVirtualHost().getTaskExecutor());
+ super(parentsMap(queue,exchange),enhanceWithDurable(combineIdWithAttributes(id, attributes), queue, exchange),queue.getVirtualHost().getTaskExecutor());
_id = id;
_bindingKey = (String)attributes.get(org.apache.qpid.server.model.Binding.NAME);
_queue = queue;
@@ -101,6 +101,18 @@ public class BindingImpl
}
+ private static Map<String, Object> enhanceWithDurable(Map<String, Object> attributes,
+ final AMQQueue queue,
+ final ExchangeImpl exchange)
+ {
+ if(!attributes.containsKey(DURABLE))
+ {
+ attributes = new HashMap<String, Object>(attributes);
+ attributes.put(DURABLE, queue.isDurable() && exchange.isDurable());
+ }
+ return attributes;
+ }
+
public String getBindingKey()
{
return _bindingKey;
@@ -138,36 +150,12 @@ public class BindingImpl
return _matches.get();
}
- public boolean isDurable()
- {
- return _queue.isDurable() && _exchange.isDurable();
- }
-
- @Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- if(durable != isDurable())
- {
- throw new IllegalArgumentException("Cannot change the durability of a binding");
- }
- }
-
-
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- // TODO
- return null;
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz)
{
return Collections.emptySet();
@@ -232,14 +220,6 @@ public class BindingImpl
}
}
- @Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- // TODO
- return null;
- }
-
public State getState()
{
return _deleted.get() ? State.DELETED : State.ACTIVE;
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Mon Apr 14 17:56:51 2014
@@ -77,8 +77,6 @@ public abstract class AbstractExchange<T
private ExchangeImpl _alternateExchange;
- private boolean _durable;
-
private VirtualHostImpl _virtualHost;
private final List<Action<ExchangeImpl>> _closeTaskList = new CopyOnWriteArrayList<Action<ExchangeImpl>>();
@@ -112,7 +110,6 @@ public abstract class AbstractExchange<T
super(parentsMap(vhost), attributes, vhost.getTaskExecutor());
_virtualHost = vhost;
- _durable = MapValueConverter.getBooleanAttribute(org.apache.qpid.server.model.Exchange.DURABLE, attributes);
_lifetimePolicy = MapValueConverter.getEnumAttribute(LifetimePolicy.class,
org.apache.qpid.server.model.Exchange.LIFETIME_POLICY,
attributes,
@@ -168,8 +165,14 @@ public abstract class AbstractExchange<T
}
}
};
+ }
+
+ @Override
+ protected void onOpen()
+ {
+ super.onOpen();
// Log Exchange creation
- getEventLogger().message(ExchangeMessages.CREATED(getExchangeType().getType(), getName(), _durable));
+ getEventLogger().message(ExchangeMessages.CREATED(getExchangeType().getType(), getName(), isDurable()));
}
@Override
@@ -186,11 +189,6 @@ public abstract class AbstractExchange<T
return getExchangeType().getType();
}
- public boolean isDurable()
- {
- return _durable;
- }
-
public boolean isAutoDelete()
{
return _autoDelete;
@@ -726,44 +724,18 @@ public abstract class AbstractExchange<T
}
@Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null;
- }
-
- @Override
public State getState()
{
return _closed.get() ? State.DELETED : State.ACTIVE;
}
@Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- if(durable == isDurable())
- {
- return;
- }
- throw new IllegalArgumentException();
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return _lifetimePolicy;
}
@Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- // TODO
- return _lifetimePolicy;
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz)
{
if(org.apache.qpid.server.model.Binding.class.isAssignableFrom(clazz))
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java Mon Apr 14 17:56:51 2014
@@ -20,6 +20,10 @@
*/
package org.apache.qpid.server.exchange;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
import org.apache.log4j.Logger;
import org.apache.qpid.exchange.ExchangeDefaults;
@@ -29,10 +33,6 @@ import org.apache.qpid.server.util.MapVa
import org.apache.qpid.server.virtualhost.UnknownExchangeException;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
public class DefaultExchangeFactory implements ExchangeFactory
{
public static final String DEFAULT_DLE_NAME_SUFFIX = "_DLE";
@@ -99,6 +99,13 @@ public class DefaultExchangeFactory impl
public ExchangeImpl createExchange(final Map<String, Object> attributes)
throws AMQUnknownExchangeType, UnknownExchangeException
{
+ ExchangeImpl exchange = createExchangeInstance(attributes);
+ ((AbstractExchange)exchange).create();
+ return exchange;
+ }
+
+ private ExchangeImpl createExchangeInstance(final Map<String, Object> attributes)
+ {
String type = MapValueConverter.getStringAttribute(org.apache.qpid.server.model.Exchange.TYPE, attributes);
ExchangeType<? extends ExchangeImpl> exchType = _exchangeClassMap.get(type);
if (exchType == null)
@@ -106,13 +113,16 @@ public class DefaultExchangeFactory impl
throw new AMQUnknownExchangeType("Unknown exchange type: " + type,null);
}
return exchType.newInstance(_host, attributes);
+
}
@Override
public ExchangeImpl restoreExchange(Map<String,Object> attributes)
throws AMQUnknownExchangeType, UnknownExchangeException
{
- return createExchange(attributes);
+ ExchangeImpl exchange = createExchangeInstance(attributes);
+ exchange.open();
+ return exchange;
}
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Mon Apr 14 17:56:51 2014
@@ -132,6 +132,9 @@ public abstract class AbstractConfigured
@ManagedAttributeField
private Map<String,String> _context;
+ @ManagedAttributeField
+ private boolean _durable;
+
private final Map<String, ConfiguredObjectAttribute<?,?>> _attributeTypes;
private final Map<String, AutomatedField> _automatedFields;
@@ -212,6 +215,8 @@ public abstract class AbstractConfigured
}
_name = AttributeValueConverter.STRING_CONVERTER.convert(attributes.get(NAME),this);
+ Object durableObj = attributes.get(DURABLE);
+ _durable = AttributeValueConverter.BOOLEAN_CONVERTER.convert(durableObj == null ? _attributeTypes.get(DURABLE).getAnnotation().defaultValue() : durableObj, this);
Collection<String> names = getAttributeNames();
if(names!=null)
@@ -483,6 +488,12 @@ public abstract class AbstractConfigured
return _name;
}
+ public final boolean isDurable()
+ {
+ return _durable;
+ }
+
+
public Class<? extends ConfiguredObject> getCategoryClass()
{
return _category;
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java Mon Apr 14 17:56:51 2014
@@ -20,9 +20,6 @@
*/
package org.apache.qpid.server.model;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
@ManagedObject
@@ -30,7 +27,6 @@ public interface Binding<X extends Bindi
{
public String ARGUMENTS = "arguments";
- public String DURABLE = "durable";
public String LIFETIME_POLICY = "lifetimePolicy";
public String STATE = "state";
public String TIME_TO_LIVE = "timeToLive";
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java Mon Apr 14 17:56:51 2014
@@ -37,6 +37,7 @@ public interface ConfiguredObject<X exte
public static final String NAME = "name";
public static final String TYPE = "type";
public static final String DESCRIPTION = "description";
+ public static final String DURABLE = "durable";
public static final String CONTEXT = "context";
public static final String LAST_UPDATED_BY = "lastUpdatedBy";
public static final String LAST_UPDATED_TIME = "lastUpdatedTime";
@@ -83,23 +84,6 @@ public interface ConfiguredObject<X exte
@ManagedAttribute
long getCreatedTime();
- /**
- * Attempt to change the name of the object
- *
- * Request a change to the name of the object. The caller must pass in the name it believes the object currently
- * has. If the current name differs from this expected value, then no name change will occur
- *
- * @param currentName the name the caller believes the object to have
- * @param desiredName the name the caller would like the object to have
- * @return the new name for the object
- * @throws IllegalStateException if the name of the object may not be changed in in the current state
- * @throws AccessControlException if the current context does not have permission to change the name
- * @throws IllegalArgumentException if the provided name is not legal
- * @throws NullPointerException if the desired name is null
- */
- String setName(String currentName, String desiredName) throws IllegalStateException,
- AccessControlException;
-
/**
* Get the desired state of the object.
@@ -170,23 +154,10 @@ public interface ConfiguredObject<X exte
*
* @return the durability
*/
- @ManagedAttribute
+ @ManagedAttribute( automate = true, defaultValue = "true" )
boolean isDurable();
/**
- * Sets the durability of the object
- *
- * @param durable true iff the caller wishes the object to store its configuration durably
- *
- * @throws IllegalStateException if the durability cannot be changed in the current state
- * @throws AccessControlException if the current context does not have sufficient permission to change the durability
- * @throws IllegalArgumentException if the object does not support the requested durability
- */
- void setDurable(boolean durable) throws IllegalStateException,
- AccessControlException,
- IllegalArgumentException;
-
- /**
* Return the lifetime policy for the object
*
* @return the lifetime policy
@@ -195,20 +166,6 @@ public interface ConfiguredObject<X exte
LifetimePolicy getLifetimePolicy();
/**
- * Set the lifetime policy of the object
- *
- * @param expected The lifetime policy the caller believes the object currently has
- * @param desired The lifetime policy the caller desires the object to have
- * @return the new lifetime policy
- * @throws IllegalStateException if the lifetime policy cannot be changed in the current state
- * @throws AccessControlException if the caller does not have permission to change the lifetime policy
- * @throws IllegalArgumentException if the object does not support the requested lifetime policy
- */
- LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired) throws IllegalStateException,
- AccessControlException,
- IllegalArgumentException;
-
- /**
* Get the names of attributes that are set on this object
*
* Note that the returned collection is correct at the time the method is called, but will not reflect future
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java Mon Apr 14 17:56:51 2014
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.server.model;
-import java.security.AccessControlException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -208,45 +207,18 @@ public class SystemContextImpl extends A
}
@Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null;
- }
-
- @Override
public State getState()
{
return State.ACTIVE;
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalArgumentException("Cannot change the durability of the SystemContext object");
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalArgumentException("Cannot change the lifetime of the SystemContext object");
- }
-
- @Override
public ConfiguredObjectFactory getObjectFactory()
{
return _objectFactory;
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java Mon Apr 14 17:56:51 2014
@@ -48,27 +48,29 @@ public abstract class AbstractPluginAdap
@Override
- public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException
+ public void validate()
{
- throw new UnsupportedOperationException();
- }
-
- @Override
- public State getState()
- {
- return null;
+ super.validate();
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public boolean isDurable()
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
{
- return true;
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public void setDurable(boolean durable) throws IllegalStateException, AccessControlException, IllegalArgumentException
+ public State getState()
{
- throw new UnsupportedOperationException();
+ return null;
}
@Override
@@ -78,13 +80,6 @@ public abstract class AbstractPluginAdap
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired) throws IllegalStateException,
- AccessControlException, IllegalArgumentException
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz)
{
return Collections.emptyList();
@@ -99,18 +94,10 @@ public abstract class AbstractPluginAdap
@Override
public Object getAttribute(String name)
{
- if (ID.equals(name))
- {
- return getId();
- }
- else if (STATE.equals(name))
+ if (STATE.equals(name))
{
return getState();
}
- else if (DURABLE.equals(name))
- {
- return isDurable();
- }
else if (LIFETIME_POLICY.equals(name))
{
return getLifetimePolicy();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Mon Apr 14 17:56:51 2014
@@ -185,6 +185,20 @@ public class BrokerAdapter extends Abstr
+ "' in configuration is incompatible with the broker model version '" + Model.MODEL_VERSION + "'");
}
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
protected void onOpen()
@@ -436,41 +450,17 @@ public class BrokerAdapter extends Abstr
return true;
}
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null; //TODO
- }
-
public State getState()
{
return null; //TODO
}
-
- public boolean isDurable()
- {
- return true;
- }
-
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
public long getTimeToLive()
{
return 0;
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java Mon Apr 14 17:56:51 2014
@@ -77,6 +77,7 @@ public final class ConnectionAdapter ext
attributes.put(PORT, conn.getPort());
attributes.put(INCOMING, true);
attributes.put(REMOTE_ADDRESS, conn.getRemoteAddressString());
+ attributes.put(DURABLE, false);
return attributes;
}
@@ -173,50 +174,16 @@ public final class ConnectionAdapter ext
_connection.close(AMQConstant.CONNECTION_FORCED, "Connection closed by external action");
}
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null; //TODO
- }
-
public State getState()
{
return null; //TODO
}
- public boolean isDurable()
- {
- return false; //TODO
- }
-
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- //TODO
- }
-
public LifetimePolicy getLifetimePolicy()
{
return null; //TODO
}
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return null; //TODO
- }
-
- public long getTimeToLive()
- {
- return 0; //TODO
- }
-
- public long setTimeToLive(final long expected, final long desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return 0; //TODO
- }
-
@Override
public Object getAttribute(String name)
{
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java Mon Apr 14 17:56:51 2014
@@ -82,8 +82,21 @@ public class FileBasedGroupProviderImpl
}
}
}
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
+ @Override
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
protected void onOpen()
{
super.onOpen();
@@ -108,45 +121,18 @@ public class FileBasedGroupProviderImpl
}
@Override
- public String setName(String currentName, String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null;
- }
-
- @Override
public State getState()
{
return _state.get();
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(boolean durable) throws IllegalStateException,
- AccessControlException, IllegalArgumentException
- {
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected,
- LifetimePolicy desired) throws IllegalStateException,
- AccessControlException, IllegalArgumentException
- {
- return null;
- }
-
- @Override
public Collection<String> getAttributeNames()
{
return getAttributeNames(getClass());
@@ -353,29 +339,30 @@ public class FileBasedGroupProviderImpl
@Override
- public String setName(String currentName, String desiredName)
- throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException("Names cannot be updated");
- }
-
- @Override
public State getState()
{
return State.ACTIVE;
}
+
@Override
- public boolean isDurable()
+ public void validate()
{
- return true;
+ super.validate();
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public void setDurable(boolean durable) throws IllegalStateException,
- AccessControlException, IllegalArgumentException
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
{
- throw new IllegalStateException("Durability cannot be updated");
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
@@ -385,14 +372,6 @@ public class FileBasedGroupProviderImpl
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected,
- LifetimePolicy desired) throws IllegalStateException,
- AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException("LifetimePolicy cannot be updated");
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(
Class<C> clazz)
{
@@ -502,49 +481,42 @@ public class FileBasedGroupProviderImpl
super(parentsMap(GroupAdapter.this),attrMap, taskExecutor);
}
- @Override
- public Collection<String> getAttributeNames()
- {
- return getAttributeNames(GroupMember.class);
- }
-
@Override
- public String setName(String currentName, String desiredName)
- throws IllegalStateException, AccessControlException
+ public void validate()
{
- return null;
+ super.validate();
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public State getState()
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
{
- return null;
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public boolean isDurable()
+ public Collection<String> getAttributeNames()
{
- return false;
+ return getAttributeNames(GroupMember.class);
}
- @Override
- public void setDurable(boolean durable)
- throws IllegalStateException, AccessControlException,
- IllegalArgumentException
- {
- }
@Override
- public LifetimePolicy getLifetimePolicy()
+ public State getState()
{
return null;
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected,
- LifetimePolicy desired) throws IllegalStateException,
- AccessControlException, IllegalArgumentException
+ public LifetimePolicy getLifetimePolicy()
{
return null;
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java Mon Apr 14 17:56:51 2014
@@ -91,21 +91,25 @@ public class FileSystemPreferencesProvid
}
@Override
- public Collection<String> getAttributeNames()
+ public void validate()
{
- return getAttributeNames(FileSystemPreferencesProviderImpl.class);
+ super.validate();
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public String getPath()
+ public Collection<String> getAttributeNames()
{
- return (String) getAttribute(PATH);
+ return getAttributeNames(FileSystemPreferencesProviderImpl.class);
}
@Override
- public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException
+ public String getPath()
{
- throw new UnsupportedOperationException();
+ return (String) getAttribute(PATH);
}
@Override
@@ -115,31 +119,12 @@ public class FileSystemPreferencesProvid
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(boolean durable) throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired) throws IllegalStateException,
- AccessControlException, IllegalArgumentException
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz)
{
return Collections.emptySet();
@@ -338,6 +323,12 @@ public class FileSystemPreferencesProvid
{
throw new IllegalConfigurationException("Path to preferences file is not specified");
}
+
+ if(changedAttributes.contains(DURABLE) && !updated.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+
}
public void createStoreIfNotExist()
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java Mon Apr 14 17:56:51 2014
@@ -72,6 +72,7 @@ final class SessionAdapter extends Abstr
attributes.put(ID, UUID.randomUUID());
attributes.put(NAME, String.valueOf(session.getChannelId()));
attributes.put(CHANNEL_ID, session.getChannelId());
+ attributes.put(DURABLE, false);
return attributes;
}
@@ -97,39 +98,16 @@ final class SessionAdapter extends Abstr
return Collections.emptySet(); //TODO
}
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null; //TODO
- }
-
public State getState()
{
return null; //TODO
}
- public boolean isDurable()
- {
- return false; //TODO
- }
-
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- //TODO
- }
-
public LifetimePolicy getLifetimePolicy()
{
return null; //TODO
}
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return null; //TODO
- }
-
@Override
public Collection<String> getAttributeNames()
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java Mon Apr 14 17:56:51 2014
@@ -21,7 +21,6 @@
package org.apache.qpid.server.model.adapter;
-import java.security.AccessControlException;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -78,44 +77,18 @@ public class VirtualHostAliasAdapter ext
}
@Override
- public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException(); // TODO - Implement
- }
-
- @Override
public State getState()
{
return State.ACTIVE; // TODO - Implement
}
@Override
- public boolean isDurable()
- {
- return true; // TODO - Implement
- }
-
- @Override
- public void setDurable(boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT; // TODO - Implement
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException(); // TODO - Implement
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz)
{
return Collections.emptySet();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java Mon Apr 14 17:56:51 2014
@@ -108,6 +108,21 @@ abstract public class AbstractPort<X ext
{
throw new IllegalConfigurationException("Can't create a port which uses a secure transport but has no KeyStore");
}
+
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
@@ -199,44 +214,18 @@ abstract public class AbstractPort<X ext
protected abstract Set<Protocol> getDefaultProtocols();
@Override
- public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException();
- }
-
- @Override
public State getState()
{
return _state.get();
}
@Override
- public boolean isDurable()
- {
- return false;
- }
-
- @Override
- public void setDurable(boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz)
{
if(clazz == Connection.class)
@@ -252,18 +241,10 @@ abstract public class AbstractPort<X ext
@Override
public Object getAttribute(String name)
{
- if(ID.equals(name))
- {
- return getId();
- }
- else if(STATE.equals(name))
+ if(STATE.equals(name))
{
return getState();
}
- else if(DURABLE.equals(name))
- {
- return isDurable();
- }
else if(LIFETIME_POLICY.equals(name))
{
return getLifetimePolicy();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Mon Apr 14 17:56:51 2014
@@ -120,8 +120,6 @@ public abstract class AbstractQueue
private String _description;
- private boolean _durable;
-
private ExchangeImpl _alternateExchange;
@@ -301,9 +299,6 @@ public abstract class AbstractQueue
Map<String,Object> attributes = getActualAttributes();
- boolean durable = MapValueConverter.getBooleanAttribute(Queue.DURABLE, attributes, false);
-
-
_exclusive = MapValueConverter.getEnumAttribute(ExclusivityPolicy.class,
Queue.EXCLUSIVE,
attributes,
@@ -313,7 +308,6 @@ public abstract class AbstractQueue
attributes,
LifetimePolicy.PERMANENT);
- _durable = durable;
final LinkedHashMap<String, Object> arguments = new LinkedHashMap<String, Object>(attributes);
arguments.put(Queue.EXCLUSIVE, _exclusive);
@@ -432,8 +426,8 @@ public abstract class AbstractQueue
_entries.getPriorities(),
ownerString != null,
_lifetimePolicy != LifetimePolicy.PERMANENT,
- durable,
- !durable,
+ isDurable(),
+ !isDurable(),
_entries.getPriorities() > 0));
if(attributes != null && attributes.containsKey(Queue.MESSAGE_GROUP_KEY))
@@ -511,11 +505,6 @@ public abstract class AbstractQueue
_noLocal = nolocal;
}
- public boolean isDurable()
- {
- return _durable;
- }
-
public boolean isExclusive()
{
return _exclusive != ExclusivityPolicy.NONE;
@@ -596,10 +585,6 @@ public abstract class AbstractQueue
}
return "standard";
}
- else if(DURABLE.equals(name))
- {
- return isDurable();
- }
else if(LIFETIME_POLICY.equals(name))
{
return getLifetimePolicy();
@@ -2779,33 +2764,12 @@ public abstract class AbstractQueue
@Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null;
- }
-
- @Override
public State getState()
{
return isDeleted() ? State.DELETED : State.ACTIVE;
}
@Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
-
- }
-
- @Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return null;
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz)
{
if(clazz == Binding.class)
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java Mon Apr 14 17:56:51 2014
@@ -22,7 +22,6 @@ package org.apache.qpid.server.queue;
import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.SUBSCRIPTION_FORMAT;
-import java.security.AccessControlException;
import java.text.MessageFormat;
import java.util.Collection;
import java.util.Collections;
@@ -103,8 +102,6 @@ class QueueConsumerImpl
}
};
@ManagedAttributeField
- private boolean _durable;
- @ManagedAttributeField
private boolean _exclusive;
@ManagedAttributeField
private boolean _noLocal;
@@ -518,39 +515,12 @@ class QueueConsumerImpl
}
@Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null;
- }
-
- @Override
- public boolean isDurable()
- {
- return _durable;
- }
-
- @Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
-
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.DELETE_ON_SESSION_END;
}
@Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return null;
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz)
{
return Collections.<C>emptyList();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java Mon Apr 14 17:56:51 2014
@@ -105,11 +105,6 @@ public class FileKeyStoreImpl extends Ab
{
return getAttributeNames(getClass());
}
- @Override
- public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException();
- }
@Override
public State getState()
@@ -118,41 +113,18 @@ public class FileKeyStoreImpl extends Ab
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(boolean durable) throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired) throws IllegalStateException, AccessControlException,
- IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
- @Override
public Object getAttribute(String name)
{
if(KeyStore.STATE.equals(name))
{
return getState();
}
- else if(KeyStore.DURABLE.equals(name))
- {
- return isDurable();
- }
else if(KeyStore.LIFETIME_POLICY.equals(name))
{
return getLifetimePolicy();
@@ -260,6 +232,11 @@ public class FileKeyStoreImpl extends Ab
throw new IllegalConfigurationException("Unknown keyManagerFactoryAlgorithm: "
+ fileKeyStore.getKeyManagerFactoryAlgorithm());
}
+
+ if(!fileKeyStore.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java Mon Apr 14 17:56:51 2014
@@ -21,15 +21,12 @@
package org.apache.qpid.server.security;
import java.io.IOException;
-import java.lang.reflect.Type;
import java.security.AccessControlException;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
@@ -51,7 +48,6 @@ import org.apache.qpid.server.model.Stat
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.security.access.Operation;
import org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManagerFactory;
-import org.apache.qpid.server.util.MapValueConverter;
import org.apache.qpid.transport.network.security.ssl.QpidMultipleTrustManager;
import org.apache.qpid.transport.network.security.ssl.QpidPeersOnlyTrustManager;
import org.apache.qpid.transport.network.security.ssl.SSLUtil;
@@ -59,17 +55,6 @@ import org.apache.qpid.transport.network
public class FileTrustStoreImpl extends AbstractConfiguredObject<FileTrustStoreImpl> implements FileTrustStore<FileTrustStoreImpl>
{
-
- @SuppressWarnings("serial")
- public static final Map<String, Type> ATTRIBUTE_TYPES = Collections.unmodifiableMap(new HashMap<String, Type>(){{
- put(NAME, String.class);
- put(PATH, String.class);
- put(PASSWORD, String.class);
- put(TRUST_STORE_TYPE, String.class);
- put(PEERS_ONLY, Boolean.class);
- put(TRUST_MANAGER_FACTORY_ALGORITHM, String.class);
- }});
-
@ManagedAttributeField
private String _trustStoreType;
@ManagedAttributeField
@@ -95,7 +80,11 @@ public class FileTrustStoreImpl extends
public void validate()
{
super.validate();
- validateTrustStoreAttributes(_trustStoreType, _path, getPassword(), _trustManagerFactoryAlgorithm);
+ validateTrustStore(this);
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
@@ -103,11 +92,6 @@ public class FileTrustStoreImpl extends
{
return getAttributeNames(getClass());
}
- @Override
- public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException();
- }
@Override
public State getState()
@@ -116,31 +100,12 @@ public class FileTrustStoreImpl extends
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(boolean durable) throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired) throws IllegalStateException, AccessControlException,
- IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
- @Override
protected boolean setState(State currentState, State desiredState)
{
if(desiredState == State.DELETED)
@@ -206,56 +171,40 @@ public class FileTrustStoreImpl extends
}
@Override
- protected void changeAttributes(Map<String, Object> attributes)
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
{
- Map<String, Object> changedValues = MapValueConverter.convert(attributes, ATTRIBUTE_TYPES);
- if(changedValues.containsKey(TrustStore.NAME))
+ super.validateChange(proxyForValidation, changedAttributes);
+ FileTrustStore updated = (FileTrustStore) proxyForValidation;
+ if(changedAttributes.contains(TrustStore.NAME) && !getName().equals(updated.getName()))
{
- String newName = (String) changedValues.get(TrustStore.NAME);
- if(!getName().equals(newName))
- {
- throw new IllegalConfigurationException("Changing the trust store name is not allowed");
- }
+ throw new IllegalConfigurationException("Changing the trust store name is not allowed");
}
-
- Map<String, Object> merged = generateEffectiveAttributes(changedValues);
-
- String trustStorePath = changedValues.containsKey(PATH) ? (String) changedValues.get(PATH) : getPath();
- String trustStorePassword =
- changedValues.containsKey(PASSWORD) ? (String) changedValues.get(PASSWORD) : getPassword();
- String trustStoreType = changedValues.containsKey(TRUST_STORE_TYPE)
- ? (String) changedValues.get(TRUST_STORE_TYPE)
- : getTrustStoreType();
- String trustManagerFactoryAlgorithm =
- changedValues.containsKey(TRUST_MANAGER_FACTORY_ALGORITHM)
- ? (String) changedValues.get(TRUST_MANAGER_FACTORY_ALGORITHM)
- : getTrustManagerFactoryAlgorithm();
-
- validateTrustStoreAttributes(trustStoreType, trustStorePath,
- trustStorePassword, trustManagerFactoryAlgorithm);
-
- super.changeAttributes(changedValues);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ validateTrustStore(updated);
}
- private void validateTrustStoreAttributes(String type, String trustStorePath,
- String password, String trustManagerFactoryAlgorithm)
+
+ private static void validateTrustStore(FileTrustStore trustStore)
{
try
{
- SSLUtil.getInitializedKeyStore(trustStorePath, password, type);
+ SSLUtil.getInitializedKeyStore(trustStore.getPath(), trustStore.getPassword(), trustStore.getTrustStoreType());
}
catch (Exception e)
{
- throw new IllegalConfigurationException("Cannot instantiate trust store at " + trustStorePath, e);
+ throw new IllegalConfigurationException("Cannot instantiate trust store at " + trustStore.getPath(), e);
}
try
{
- TrustManagerFactory.getInstance(trustManagerFactoryAlgorithm);
+ TrustManagerFactory.getInstance(trustStore.getTrustManagerFactoryAlgorithm());
}
catch (NoSuchAlgorithmException e)
{
- throw new IllegalConfigurationException("Unknown trustManagerFactoryAlgorithm: " + trustManagerFactoryAlgorithm);
+ throw new IllegalConfigurationException("Unknown trustManagerFactoryAlgorithm: " + trustStore.getTrustManagerFactoryAlgorithm());
}
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java Mon Apr 14 17:56:51 2014
@@ -78,6 +78,21 @@ public abstract class AbstractAuthentica
{
throw new IllegalConfigurationException("Only one preference provider can be configured for an authentication provider");
}
+
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
protected final Broker getBroker()
@@ -132,44 +147,17 @@ public abstract class AbstractAuthentica
}
@Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null;
- }
-
- @Override
public State getState()
{
return _state.get();
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
-
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
- @Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return null;
- }
-
@SuppressWarnings("unchecked")
@Override
public <C extends ConfiguredObject> C addChild(Class<C> childClass, Map<String, Object> attributes, ConfiguredObject... otherParents)
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java Mon Apr 14 17:56:51 2014
@@ -357,6 +357,26 @@ public abstract class PrincipalDatabaseA
}
@Override
+ public void validate()
+ {
+ super.validate();
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+
+ @Override
public String getPassword()
{
return (String)getAttribute(PASSWORD);
@@ -377,45 +397,18 @@ public abstract class PrincipalDatabaseA
@Override
- public String setName(String currentName, String desiredName)
- throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException("Names cannot be updated");
- }
-
- @Override
public State getState()
{
return State.ACTIVE;
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException("Durability cannot be updated");
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException("LifetimePolicy cannot be updated");
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz)
{
return null;
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java Mon Apr 14 17:56:51 2014
@@ -32,6 +32,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
@@ -449,6 +450,25 @@ public class ScramSHA1AuthenticationMana
}
@Override
+ public void validate()
+ {
+ super.validate();
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+ @Override
protected boolean setState(final State currentState, final State desiredState)
{
if(desiredState == State.DELETED)
@@ -526,50 +546,18 @@ public class ScramSHA1AuthenticationMana
}
@Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException("Names cannot be updated");
- }
-
- @Override
public State getState()
{
return State.ACTIVE;
}
@Override
- public boolean isDurable()
- {
- return true;
- }
-
- @Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
-
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
@Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- if(expected == desired && expected == LifetimePolicy.PERMANENT)
- {
- return LifetimePolicy.PERMANENT;
- }
- throw new IllegalArgumentException("Cannot change lifetime policy of a user");
-
- }
-
- @Override
public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz)
{
return Collections.emptySet();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java Mon Apr 14 17:56:51 2014
@@ -212,6 +212,20 @@ public abstract class AbstractVirtualHos
{
throw new IllegalConfigurationException("Virtual host type must be specified");
}
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
+ }
+
+ @Override
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
+ {
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
protected void onOpen()
@@ -333,12 +347,6 @@ public abstract class AbstractVirtualHos
}
}
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- throw new IllegalStateException();
- }
-
public String setType(final String currentType, final String desiredType)
throws IllegalStateException, AccessControlException
{
@@ -373,28 +381,11 @@ public abstract class AbstractVirtualHos
}
- public boolean isDurable()
- {
- return true;
- }
-
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
public LifetimePolicy getLifetimePolicy()
{
return LifetimePolicy.PERMANENT;
}
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- throw new IllegalStateException();
- }
-
@Override
public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz)
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java Mon Apr 14 17:56:51 2014
@@ -178,6 +178,7 @@ public abstract class AbstractDurableCon
Map<String,Object> map = new HashMap<String, Object>();
map.put(Binding.NAME, ROUTING_KEY);
map.put(Binding.ARGUMENTS,_bindingArgs);
+ map.put(Binding.DURABLE,true);
Map<String,UUID> parents = new HashMap<String, UUID>();
@@ -417,6 +418,7 @@ public abstract class AbstractDurableCon
when(queue.getId()).thenReturn(_queueId);
when(queue.getAlternateExchange()).thenReturn(alternateExchange);
when(queue.getCategoryClass()).thenReturn((Class)Queue.class);
+ when(queue.isDurable()).thenReturn(true);
final VirtualHostImpl vh = mock(VirtualHostImpl.class);
when(vh.getSecurityManager()).thenReturn(mock(SecurityManager.class));
when(queue.getVirtualHost()).thenReturn(vh);
@@ -469,6 +471,7 @@ public abstract class AbstractDurableCon
when(exchange.isAutoDelete()).thenReturn(true);
when(exchange.getId()).thenReturn(_exchangeId);
when(exchange.getCategoryClass()).thenReturn(Exchange.class);
+ when(exchange.isDurable()).thenReturn(true);
ConfiguredObjectRecord exchangeRecord = mock(ConfiguredObjectRecord.class);
when(exchangeRecord.getId()).thenReturn(_exchangeId);
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java Mon Apr 14 17:56:51 2014
@@ -149,13 +149,6 @@ public class MockVirtualHost implements
}
@Override
- public String setName(final String currentName, final String desiredName)
- throws IllegalStateException, AccessControlException
- {
- return null;
- }
-
- @Override
public State getDesiredState()
{
return null;
@@ -493,26 +486,12 @@ public class MockVirtualHost implements
}
@Override
- public void setDurable(final boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
-
- }
-
- @Override
public LifetimePolicy getLifetimePolicy()
{
return null;
}
@Override
- public LifetimePolicy setLifetimePolicy(final LifetimePolicy expected, final LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return null;
- }
-
- @Override
public Collection<String> getAttributeNames()
{
return null;
Modified: qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java Mon Apr 14 17:56:51 2014
@@ -72,40 +72,42 @@ public class ACLFileAccessControlProvide
}
@Override
- protected void onOpen()
+ public void validate()
{
- super.onOpen();
- _accessControl = new DefaultAccessControl(getPath(), _broker);
- }
-
- @Override
- public String getPath()
- {
- return _path;
+ super.validate();
+ if(!isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException
+ protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
{
- return null;
+ super.validateChange(proxyForValidation, changedAttributes);
+ if(changedAttributes.contains(DURABLE) && !proxyForValidation.isDurable())
+ {
+ throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
+ }
}
@Override
- public State getState()
+ protected void onOpen()
{
- return _state.get();
+ super.onOpen();
+ _accessControl = new DefaultAccessControl(getPath(), _broker);
}
@Override
- public boolean isDurable()
+ public String getPath()
{
- return true;
+ return _path;
}
@Override
- public void setDurable(boolean durable)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
+ public State getState()
{
+ return _state.get();
}
@Override
@@ -115,13 +117,6 @@ public class ACLFileAccessControlProvide
}
@Override
- public LifetimePolicy setLifetimePolicy(LifetimePolicy expected, LifetimePolicy desired)
- throws IllegalStateException, AccessControlException, IllegalArgumentException
- {
- return null;
- }
-
- @Override
public Collection<String> getAttributeNames()
{
return getAttributeNames(getClass());
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java?rev=1587262&r1=1587261&r2=1587262&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java Mon Apr 14 17:56:51 2014
@@ -258,7 +258,7 @@ public class Asserts
public static void assertPortAttributes(Map<String, Object> port, State state)
{
assertNotNull("Unexpected value of attribute " + Port.ID, port.get(Port.ID));
- assertEquals("Unexpected value of attribute " + Port.DURABLE, Boolean.FALSE, port.get(Port.DURABLE));
+ assertEquals("Unexpected value of attribute " + Port.DURABLE, Boolean.TRUE, port.get(Port.DURABLE));
assertEquals("Unexpected value of attribute " + Port.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
port.get(Broker.LIFETIME_POLICY));
assertEquals("Unexpected value of attribute " + Port.STATE, state.name(), port.get(Port.STATE));
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org