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/05/02 22:32:19 UTC
svn commit: r1592030 [1/3] - in /qpid/trunk/qpid/java:
bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/
bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/
broker-codegen/src/main/java/org/apache/qpid/server/model/ ...
Author: rgodfrey
Date: Fri May 2 20:32:16 2014
New Revision: 1592030
URL: http://svn.apache.org/r1592030
Log:
QPID-5746 : [Java Broker] Split attribute annotations into separate annotations for derived and automated, and allow derived attributes to be persisted
Added:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java
Removed:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/PluginFactory.java
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNode.java
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java
qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java
qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectRegistrationGenerator.java
qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java
qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableProcessor.java
qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableService.java
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/configuration/updater/TaskExecutor.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutorImpl.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/model/AbstractConfiguredObject.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractUnresolvedObject.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/Broker.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/ConfiguredObjectAttribute.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Consumer.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Exchange.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ExternalFileBasedAuthenticationManager.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttributeField.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedContextDefault.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedStatistic.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Session.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/State.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContext.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/TrustStore.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/User.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.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/FileBasedGroupProvider.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/FileSystemPreferencesProvider.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/model/port/AbstractPortWithAuthProvider.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/JmxPort.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/JmxPortImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/RmiPort.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/LastValueQueue.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.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/queue/SortedQueue.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.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/FileTrustStore.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/ExternalAuthenticationManager.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/ScramAuthUser.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/security/auth/manager/SimpleLDAPAuthenticationManager.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/FileBasedVirtualHostNode.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/updater/CurrentThreadTaskExecutor.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/updater/TaskExecutorTest.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategoryImpl.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.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/util/BrokerTestHelper.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostQueueCreationTest.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNodeTest.java
qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProvider.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/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNode.java
qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementConfiguration.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/action/AbstractSpecialisedAttributeLister.java
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPlugin.java
qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PreferencesProviderRestTest.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/QueueRestTest.java
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNode.java Fri May 2 20:32:16 2014
@@ -20,6 +20,7 @@
*/
package org.apache.qpid.server.virtualhostnode.berkeleydb;
+import org.apache.qpid.server.model.DerivedAttribute;
import org.apache.qpid.server.model.ManagedAttribute;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.RemoteReplicationNode;
@@ -33,19 +34,19 @@ public interface BDBHARemoteReplicationN
String LAST_KNOWN_REPLICATION_TRANSACTION_ID = "lastKnownReplicationTransactionId";
String JOIN_TIME = "joinTime";
- @ManagedAttribute(derived = true)
+ @DerivedAttribute
String getGroupName();
- @ManagedAttribute(derived = true)
+ @DerivedAttribute
String getAddress();
- @ManagedAttribute(automate = true)
+ @ManagedAttribute(persist = false)
String getRole();
- @ManagedAttribute(derived = true)
+ @DerivedAttribute
long getJoinTime();
- @ManagedAttribute(derived = true)
+ @DerivedAttribute
long getLastKnownReplicationTransactionId();
}
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java Fri May 2 20:32:16 2014
@@ -25,7 +25,10 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
+import com.sleepycat.je.rep.MasterStateException;
+import com.sleepycat.je.rep.ReplicatedEnvironment;
import org.apache.log4j.Logger;
+
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -34,9 +37,6 @@ import org.apache.qpid.server.model.Mana
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade;
-import com.sleepycat.je.rep.MasterStateException;
-import com.sleepycat.je.rep.ReplicatedEnvironment;
-
public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDBHARemoteReplicationNodeImpl> implements BDBHARemoteReplicationNode<BDBHARemoteReplicationNodeImpl>
{
private static final Logger LOGGER = Logger.getLogger(BDBHARemoteReplicationNodeImpl.class);
@@ -125,7 +125,7 @@ public class BDBHARemoteReplicationNodeI
}
@Override
- protected boolean setState(State currentState, State desiredState)
+ protected boolean setState(State desiredState)
{
if (desiredState == State.DELETED)
{
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNode.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNode.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNode.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNode.java Fri May 2 20:32:16 2014
@@ -22,6 +22,7 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
+import org.apache.qpid.server.model.DerivedAttribute;
import org.apache.qpid.server.model.ManagedAttribute;
public interface BDBHAVirtualHostNode<X extends BDBHAVirtualHostNode<X>> extends BDBVirtualHostNode<X>
@@ -39,39 +40,39 @@ public interface BDBHAVirtualHostNode<X
public static final String LAST_KNOWN_REPLICATION_TRANSACTION_ID = "lastKnownReplicationTransactionId";
public static final String JOIN_TIME = "joinTime";
- @ManagedAttribute(automate = true, mandatory=true)
+ @ManagedAttribute(mandatory=true)
String getGroupName();
- @ManagedAttribute(automate = true, mandatory=true)
+ @ManagedAttribute(mandatory=true)
String getAddress();
- @ManagedAttribute(automate = true, mandatory=true)
+ @ManagedAttribute(mandatory=true)
String getHelperAddress();
- @ManagedAttribute(automate = true, defaultValue = "NO_SYNC,NO_SYNC,SIMPLE_MAJORITY")
+ @ManagedAttribute(defaultValue = "NO_SYNC,NO_SYNC,SIMPLE_MAJORITY")
String getDurability();
- @ManagedAttribute(automate = true, defaultValue = "true")
+ @ManagedAttribute(defaultValue = "true")
boolean isCoalescingSync();
- @ManagedAttribute(automate = true, defaultValue = "false")
+ @ManagedAttribute(defaultValue = "false")
boolean isDesignatedPrimary();
- @ManagedAttribute(automate = true, defaultValue = "1")
+ @ManagedAttribute(defaultValue = "1")
int getPriority();
- @ManagedAttribute(automate = true, defaultValue = "0")
+ @ManagedAttribute(defaultValue = "0")
int getQuorumOverride();
- @ManagedAttribute(automate = true, persist = false)
+ @ManagedAttribute(persist = false)
String getRole();
- @ManagedAttribute(automate = true)
+ @ManagedAttribute
Map<String, String> getReplicatedEnvironmentConfiguration();
- @ManagedAttribute(derived = true)
+ @DerivedAttribute
Long getLastKnownReplicationTransactionId();
- @ManagedAttribute(derived = true)
+ @DerivedAttribute
Long getJoinTime();
}
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java Fri May 2 20:32:16 2014
@@ -37,9 +37,8 @@ import com.sleepycat.je.rep.ReplicatedEn
import com.sleepycat.je.rep.ReplicationNode;
import com.sleepycat.je.rep.StateChangeEvent;
import com.sleepycat.je.rep.StateChangeListener;
-
import org.apache.log4j.Logger;
-import org.apache.qpid.server.configuration.IllegalConfigurationException;
+
import org.apache.qpid.server.logging.messages.ConfigStoreMessages;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.BrokerModel;
@@ -385,7 +384,7 @@ public class BDBHAVirtualHostNodeImpl ex
}
});
}
- host.setDesiredState(host.getState(), State.ACTIVE);
+ host.setDesiredState(State.ACTIVE);
}
catch (Exception e)
@@ -422,7 +421,7 @@ public class BDBHAVirtualHostNodeImpl ex
VirtualHost<?,?,?> virtualHost = getVirtualHost();
if (virtualHost!= null)
{
- virtualHost.setDesiredState(virtualHost.getState(), State.STOPPED);
+ virtualHost.setDesiredState(State.STOPPED);
}
}
@@ -655,13 +654,13 @@ public class BDBHAVirtualHostNodeImpl ex
}
@Override
- public boolean setState(State currentState, State desiredState)
+ public boolean setState(State desiredState)
{
if (desiredState != State.STOPPED)
{
throw new IllegalArgumentException("Unsupported state " + desiredState);
}
- return super.setState(currentState, desiredState);
+ return super.setState(desiredState);
}
}
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java Fri May 2 20:32:16 2014
@@ -29,6 +29,6 @@ public interface BDBVirtualHostNode<X ex
{
public static final String ENVIRONMENT_CONFIGURATION = "environmentConfiguration";
- @ManagedAttribute(mandatory=false, automate=true)
+ @ManagedAttribute(mandatory=false)
Map<String, String> getEnvironmentConfiguration();
-}
\ No newline at end of file
+}
Modified: qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java Fri May 2 20:32:16 2014
@@ -33,6 +33,9 @@ import java.util.UUID;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
+import com.sleepycat.je.rep.ReplicatedEnvironment;
+import com.sleepycat.je.rep.ReplicationConfig;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.configuration.updater.TaskExecutorImpl;
import org.apache.qpid.server.model.Broker;
@@ -52,9 +55,6 @@ import org.apache.qpid.server.virtualhos
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.util.FileUtils;
-import com.sleepycat.je.rep.ReplicatedEnvironment;
-import com.sleepycat.je.rep.ReplicationConfig;
-
public class BDBHAVirtualHostNodeTest extends QpidTestCase
{
@@ -89,7 +89,7 @@ public class BDBHAVirtualHostNodeTest ex
{
try
{
- node.setDesiredState(node.getState(), State.DELETED);
+ node.setDesiredState(State.DELETED);
}
catch(Exception e)
{
@@ -175,7 +175,7 @@ public class BDBHAVirtualHostNodeTest ex
{
}
});
- assertEquals(State.ACTIVE, node.setDesiredState(node.getState(), State.ACTIVE));
+ assertEquals(State.ACTIVE, node.setDesiredState(State.ACTIVE));
DurableConfigurationStore store = node.getConfigurationStore();
assertNotNull(store);
@@ -200,13 +200,13 @@ public class BDBHAVirtualHostNodeTest ex
assertEquals("Unexpected virtual host store", store, virtualHost.getMessageStore());
assertEquals("Unexpected virtual host state", State.ACTIVE, virtualHost.getState());
- State currentState = node.setDesiredState(State.ACTIVE, State.STOPPED);
+ State currentState = node.setDesiredState(State.STOPPED);
assertEquals("Unexpected state returned after stop", State.STOPPED, currentState);
assertEquals("Unexpected state", State.STOPPED, node.getState());
assertNull("Virtual host is not destroyed", node.getVirtualHost());
- currentState = node.setDesiredState(State.STOPPED, State.DELETED);
+ currentState = node.setDesiredState(State.DELETED);
assertEquals("Unexpected state returned after delete", State.DELETED, currentState);
assertEquals("Unexpected state", State.DELETED, node.getState());
assertFalse("Store still exists", _bdbStorePath.exists());
@@ -228,7 +228,7 @@ public class BDBHAVirtualHostNodeTest ex
BDBHAVirtualHostNode<?> node = createHaVHN(attributes);
- assertEquals("Failed to activate node", State.ACTIVE, node.setDesiredState(node.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node", State.ACTIVE, node.setDesiredState(State.ACTIVE));
BDBMessageStore bdbMessageStore = (BDBMessageStore) node.getConfigurationStore();
ReplicatedEnvironment environment = (ReplicatedEnvironment) bdbMessageStore.getEnvironmentFacade().getEnvironment();
@@ -265,7 +265,7 @@ public class BDBHAVirtualHostNodeTest ex
node1Attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath + File.separator + "1");
BDBHAVirtualHostNode<?> node1 = createHaVHN(node1Attributes);
- assertEquals("Failed to activate node", State.ACTIVE, node1.setDesiredState(node1.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node", State.ACTIVE, node1.setDesiredState(State.ACTIVE));
int node2PortNumber = getNextAvailable(node1PortNumber+1);
@@ -279,7 +279,7 @@ public class BDBHAVirtualHostNodeTest ex
node2Attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath + File.separator + "2");
BDBHAVirtualHostNode<?> node2 = createHaVHN(node2Attributes);
- assertEquals("Failed to activate node2", State.ACTIVE, node2.setDesiredState(node2.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node2", State.ACTIVE, node2.setDesiredState(State.ACTIVE));
int node3PortNumber = getNextAvailable(node2PortNumber+1);
Map<String, Object> node3Attributes = new HashMap<String, Object>();
@@ -291,7 +291,7 @@ public class BDBHAVirtualHostNodeTest ex
node3Attributes.put(BDBHAVirtualHostNode.HELPER_ADDRESS, helperAddress);
node3Attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath + File.separator + "3");
BDBHAVirtualHostNode<?> node3 = createHaVHN(node3Attributes);
- assertEquals("Failed to activate node3", State.ACTIVE, node3.setDesiredState(node3.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node3", State.ACTIVE, node3.setDesiredState(State.ACTIVE));
BDBHAVirtualHostNode<?> replica = null;
int findReplicaCount = 0;
@@ -335,7 +335,7 @@ public class BDBHAVirtualHostNodeTest ex
node1Attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath + File.separator + "1");
BDBHAVirtualHostNode<?> node1 = createHaVHN(node1Attributes);
- assertEquals("Failed to activate node", State.ACTIVE, node1.setDesiredState(node1.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node", State.ACTIVE, node1.setDesiredState(State.ACTIVE));
final CountDownLatch remoteNodeLatch = new CountDownLatch(2);
node1.addChangeListener(new ConfigurationChangeListener()
@@ -378,7 +378,7 @@ public class BDBHAVirtualHostNodeTest ex
node2Attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath + File.separator + "2");
BDBHAVirtualHostNode<?> node2 = createHaVHN(node2Attributes);
- assertEquals("Failed to activate node2", State.ACTIVE, node2.setDesiredState(node2.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node2", State.ACTIVE, node2.setDesiredState(State.ACTIVE));
int node3PortNumber = getNextAvailable(node2PortNumber+1);
Map<String, Object> node3Attributes = new HashMap<String, Object>();
@@ -390,7 +390,7 @@ public class BDBHAVirtualHostNodeTest ex
node3Attributes.put(BDBHAVirtualHostNode.HELPER_ADDRESS, helperAddress);
node3Attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath + File.separator + "3");
BDBHAVirtualHostNode<?> node3 = createHaVHN(node3Attributes);
- assertEquals("Failed to activate node3", State.ACTIVE, node3.setDesiredState(node3.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node3", State.ACTIVE, node3.setDesiredState(State.ACTIVE));
assertTrue("Replication nodes have not been seen during 5s", remoteNodeLatch.await(5, TimeUnit.SECONDS));
@@ -429,7 +429,7 @@ public class BDBHAVirtualHostNodeTest ex
node1Attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath + File.separator + "1");
BDBHAVirtualHostNode<?> node = createHaVHN(node1Attributes);
- assertEquals("Failed to activate node", State.ACTIVE, node.setDesiredState(node.getState(), State.ACTIVE));
+ assertEquals("Failed to activate node", State.ACTIVE, node.setDesiredState(State.ACTIVE));
assertNodeRole(node, "MASTER");
Modified: qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectRegistrationGenerator.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectRegistrationGenerator.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectRegistrationGenerator.java (original)
+++ qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectRegistrationGenerator.java Fri May 2 20:32:16 2014
@@ -87,7 +87,6 @@ public class ConfiguredObjectRegistratio
}
classNames.add(e.getSimpleName().toString());
}
- processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, e.getSimpleName());
}
for (Map.Entry<String, Set<String>> entry : _managedObjectClasses.entrySet())
{
Modified: qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java (original)
+++ qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java Fri May 2 20:32:16 2014
@@ -20,11 +20,13 @@
*/
package org.apache.qpid.server.model;
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
-
+@Target(ElementType.CONSTRUCTOR)
public @interface ManagedObjectFactoryConstructor
{
}
Modified: qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableProcessor.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableProcessor.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableProcessor.java (original)
+++ qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableProcessor.java Fri May 2 20:32:16 2014
@@ -142,7 +142,7 @@ public class PluggableProcessor extends
.printMessage(Diagnostic.Kind.NOTE, "Generating service file for " + serviceName);
String relativeName = "META-INF/services/" + serviceName;
-
+ loadExistingServicesFile(filer, serviceName);
try
{
FileObject serviceFile = filer.createResource(StandardLocation.CLASS_OUTPUT, "", relativeName);
Modified: qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableService.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableService.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableService.java (original)
+++ qpid/trunk/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/plugin/PluggableService.java Fri May 2 20:32:16 2014
@@ -19,10 +19,13 @@ package org.apache.qpid.server.plugin;/*
*
*/
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
+@Target(ElementType.TYPE)
public @interface PluggableService
{
}
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=1592030&r1=1592029&r2=1592030&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 Fri May 2 20:32:16 2014
@@ -190,7 +190,7 @@ public class BindingImpl
return result;
}
- protected boolean setState(final State currentState, final State desiredState)
+ protected boolean setState(final State desiredState)
{
if(desiredState == State.DELETED)
{
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutor.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutor.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutor.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutor.java Fri May 2 20:32:16 2014
@@ -22,11 +22,9 @@ package org.apache.qpid.server.configura
import java.util.concurrent.CancellationException;
-import org.apache.qpid.server.model.State;
-
public interface TaskExecutor
{
- State getState();
+ boolean isRunning();
void start();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutorImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutorImpl.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutorImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/updater/TaskExecutorImpl.java Fri May 2 20:32:16 2014
@@ -32,12 +32,12 @@ import java.util.concurrent.Future;
import java.util.concurrent.RunnableFuture;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicReference;
+import java.util.concurrent.atomic.AtomicBoolean;
import javax.security.auth.Subject;
import org.apache.log4j.Logger;
-import org.apache.qpid.server.model.State;
+
import org.apache.qpid.server.util.ServerScopedRuntimeException;
public class TaskExecutorImpl implements TaskExecutor
@@ -46,25 +46,20 @@ public class TaskExecutorImpl implements
private static final Logger LOGGER = Logger.getLogger(TaskExecutorImpl.class);
private volatile Thread _taskThread;
- private final AtomicReference<State> _state;
+ private final AtomicBoolean _running = new AtomicBoolean();
private volatile ExecutorService _executor;
- public TaskExecutorImpl()
- {
- _state = new AtomicReference<State>(State.INITIALISING);
- }
-
@Override
- public State getState()
+ public boolean isRunning()
{
- return _state.get();
+ return _running.get();
}
@Override
public void start()
{
- if (_state.compareAndSet(State.INITIALISING, State.ACTIVE))
+ if (_running.compareAndSet(false, true))
{
LOGGER.debug("Starting task executor");
_executor = Executors.newFixedThreadPool(1, new ThreadFactory()
@@ -83,7 +78,7 @@ public class TaskExecutorImpl implements
@Override
public void stopImmediately()
{
- if (_state.compareAndSet(State.ACTIVE, State.STOPPED))
+ if (_running.compareAndSet(true,false))
{
ExecutorService executor = _executor;
if (executor != null)
@@ -108,7 +103,7 @@ public class TaskExecutorImpl implements
@Override
public void stop()
{
- if (_state.compareAndSet(State.ACTIVE, State.STOPPED))
+ if (_running.compareAndSet(true,false))
{
ExecutorService executor = _executor;
if (executor != null)
@@ -288,7 +283,7 @@ public class TaskExecutorImpl implements
private void checkState()
{
- if (_state.get() != State.ACTIVE)
+ if (!_running.get())
{
throw new IllegalStateException("Task executor is not in ACTIVE state");
}
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=1592030&r1=1592029&r2=1592030&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 Fri May 2 20:32:16 2014
@@ -136,9 +136,9 @@ public abstract class AbstractExchange<T
}
@Override
- public void validate()
+ public void onValidate()
{
- super.validate();
+ super.onValidate();
if(!_virtualHost.getSecurityManager().isSystemProcess())
{
@@ -732,7 +732,7 @@ public abstract class AbstractExchange<T
final Map<String, Object> oldArguments);
@Override
- protected boolean setState(final State currentState, final State desiredState)
+ protected boolean setState(final State desiredState)
{
if(desiredState == State.DELETED)
{
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=1592030&r1=1592029&r2=1592030&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 Fri May 2 20:32:16 2014
@@ -148,6 +148,9 @@ public abstract class AbstractConfigured
private final OwnAttributeResolver _attributeResolver = new OwnAttributeResolver(this);
+ @ManagedAttributeField
+ private State _desiredState;
+
protected static Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parentsMap(ConfiguredObject<?>... parents)
{
final Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parentsMap =
@@ -237,7 +240,10 @@ public abstract class AbstractConfigured
}
Object durableObj = attributes.get(DURABLE);
- _durable = AttributeValueConverter.BOOLEAN_CONVERTER.convert(durableObj == null ? _attributeTypes.get(DURABLE).getAnnotation().defaultValue() : durableObj, this);
+ _durable = AttributeValueConverter.BOOLEAN_CONVERTER.convert(durableObj == null
+ ? ((ConfiguredAutomatedAttribute) (_attributeTypes
+ .get(DURABLE))).defaultValue()
+ : durableObj, this);
for (String name : getAttributeNames())
{
@@ -265,11 +271,18 @@ public abstract class AbstractConfigured
}
for(ConfiguredObjectAttribute<?,?> attr : _attributeTypes.values())
{
- if(attr.getAnnotation().mandatory() && !(_attributes.containsKey(attr.getName())
- || !"".equals(attr.getAnnotation().defaultValue())))
+ if(attr.isAutomated())
{
- deleted();
- throw new IllegalArgumentException("Mandatory attribute " + attr.getName() + " not supplied for instance of " + getClass().getName());
+ ConfiguredAutomatedAttribute<?,?> autoAttr = (ConfiguredAutomatedAttribute<?,?>)attr;
+ if (autoAttr.isMandatory() && !(_attributes.containsKey(attr.getName())
+ || !"".equals(autoAttr.defaultValue())))
+ {
+ deleted();
+ throw new IllegalArgumentException("Mandatory attribute "
+ + attr.getName()
+ + " not supplied for instance of "
+ + getClass().getName());
+ }
}
}
}
@@ -333,10 +346,10 @@ public abstract class AbstractConfigured
{
try
{
- final ConfiguredObjectAttribute attribute = _attributeTypes.get(name);
- if(value == null && !"".equals(attribute.getAnnotation().defaultValue()))
+ final ConfiguredAutomatedAttribute attribute = (ConfiguredAutomatedAttribute) _attributeTypes.get(name);
+ if(value == null && !"".equals(attribute.defaultValue()))
{
- value = attribute.getAnnotation().defaultValue();
+ value = attribute.defaultValue();
}
ConfiguredObjectTypeRegistry.AutomatedField field = _automatedFields.get(name);
@@ -436,7 +449,7 @@ public abstract class AbstractConfigured
}
}
});
- validate();
+ onValidate();
}
}
@@ -444,7 +457,7 @@ public abstract class AbstractConfigured
{
if(skipCheck || !_open.get())
{
- resolve();
+ onResolve();
applyToChildren(new Action<ConfiguredObject<?>>()
{
@Override
@@ -493,25 +506,25 @@ public abstract class AbstractConfigured
}
}
- public void validate()
+ public void onValidate()
{
}
- protected void resolve()
+ protected void onResolve()
{
for (ConfiguredObjectAttribute<?, ?> attr : _attributeTypes.values())
{
String attrName = attr.getName();
- ManagedAttribute attrAnnotation = attr.getAnnotation();
- if (attrAnnotation.automate())
+ if (attr.isAutomated())
{
+ ConfiguredAutomatedAttribute<?,?> autoAttr = (ConfiguredAutomatedAttribute<?,?>)attr;
if (_attributes.containsKey(attrName))
{
automatedSetValue(attrName, _attributes.get(attrName));
}
- else if (!"".equals(attrAnnotation.defaultValue()))
+ else if (!"".equals(autoAttr.defaultValue()))
{
- automatedSetValue(attrName, attrAnnotation.defaultValue());
+ automatedSetValue(attrName, autoAttr.defaultValue());
}
}
@@ -566,11 +579,11 @@ public abstract class AbstractConfigured
public State getDesiredState()
{
- return null; //TODO
+ return _desiredState;
}
@Override
- public final State setDesiredState(final State currentState, final State desiredState)
+ public final State setDesiredState(final State desiredState)
throws IllegalStateTransitionException, AccessControlException
{
@@ -580,10 +593,11 @@ public abstract class AbstractConfigured
@Override
public State execute()
{
- authoriseSetDesiredState(currentState, desiredState);
- if (setState(currentState, desiredState))
+ State state = getState();
+ authoriseSetDesiredState(desiredState);
+ if (setState(desiredState))
{
- notifyStateChanged(currentState, desiredState);
+ notifyStateChanged(state, desiredState);
return desiredState;
}
else
@@ -597,7 +611,7 @@ public abstract class AbstractConfigured
/**
* @return true when the state has been successfully updated to desiredState or false otherwise
*/
- protected abstract boolean setState(State currentState, State desiredState);
+ protected abstract boolean setState(State desiredState);
protected void notifyStateChanged(final State currentState, final State desiredState)
{
@@ -689,10 +703,10 @@ public abstract class AbstractConfigured
public Object getAttribute(String name)
{
ConfiguredObjectAttribute<X,?> attr = (ConfiguredObjectAttribute<X, ?>) _attributeTypes.get(name);
- if(attr != null && (attr.getAnnotation().automate() || attr.getAnnotation().derived()))
+ if(attr != null && (attr.isAutomated() || attr.isDerived()))
{
Object value = attr.getValue((X)this);
- if(value != null && attr.getAnnotation().secure() &&
+ if(value != null && attr.isSecure() &&
!SecurityManager.isSystemProcess())
{
return SECURE_VALUES.get(value.getClass());
@@ -702,11 +716,15 @@ public abstract class AbstractConfigured
return value;
}
}
- else
+ else if(attr != null)
{
Object value = getActualAttribute(name);
return value;
}
+ else
+ {
+ throw new IllegalArgumentException("Unknown attribute: '" + name + "'");
+ }
}
@Override
@@ -732,20 +750,9 @@ public abstract class AbstractConfigured
private Object getActualAttribute(final String name)
{
- if(CREATED_BY.equals(name))
- {
- return getCreatedBy();
- }
- else if(CREATED_TIME.equals(name))
- {
- return getCreatedTime();
- }
- else
+ synchronized (_attributes)
{
- synchronized (_attributes)
- {
- return _attributes.get(name);
- }
+ return _attributes.get(name);
}
}
@@ -784,7 +791,7 @@ public abstract class AbstractConfigured
//TODO: don't put nulls
_attributes.put(name, desired);
ConfiguredObjectAttribute<?,?> attr = _attributeTypes.get(name);
- if(attr != null && attr.getAnnotation().automate())
+ if(attr != null && attr.isAutomated())
{
automatedSetValue(name, desired);
}
@@ -846,25 +853,29 @@ public abstract class AbstractConfigured
@Override
public Map<String, Object> run()
{
- Map<String,Object> actualAttributes = new HashMap<String, Object>(getActualAttributes());
- Iterator<Map.Entry<String,Object>> attributeIterator = actualAttributes.entrySet().iterator();
-
- while(attributeIterator.hasNext())
+ Map<String,Object> attributes = new HashMap<String, Object>();
+ Map<String,Object> actualAttributes = getActualAttributes();
+ for(ConfiguredObjectAttribute<?,?> attr : _attributeTypes.values())
{
- Map.Entry<String, Object> entry = attributeIterator.next();
- ConfiguredObjectAttribute<?, ?> attributeDefinition =
- _attributeTypes.get(entry.getKey());
- if(attributeDefinition != null && !attributeDefinition.getAnnotation().persist())
- {
- attributeIterator.remove();
- }
- else if(entry.getValue() instanceof ConfiguredObject)
+ if(attr.isPersisted())
{
- entry.setValue(((ConfiguredObject)entry.getValue()).getId());
+ if(attr.isDerived())
+ {
+ attributes.put(attr.getName(), getAttribute(attr.getName()));
+ }
+ else if(actualAttributes.containsKey(attr.getName()))
+ {
+ Object value = actualAttributes.get(attr.getName());
+ if(value instanceof ConfiguredObject)
+ {
+ value = ((ConfiguredObject)value).getId();
+ }
+ attributes.put(attr.getName(), value);
+ }
}
}
- actualAttributes.remove(ID);
- return actualAttributes;
+ attributes.remove(ID);
+ return attributes;
}
});
}
@@ -1070,7 +1081,7 @@ public abstract class AbstractConfigured
new AttributeGettingHandler(attributes));
}
- protected void authoriseSetDesiredState(State currentState, State desiredState) throws AccessControlException
+ protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
{
// allowed by default
}
@@ -1337,11 +1348,11 @@ public abstract class AbstractConfigured
protected Object getValue(final ConfiguredObjectAttribute attribute)
{
- ManagedAttribute annotation = attribute.getAnnotation();
- if(annotation.automate())
+ if(attribute.isAutomated())
{
+ ConfiguredAutomatedAttribute autoAttr = (ConfiguredAutomatedAttribute)attribute;
Object value = _attributes.get(attribute.getName());
- return attribute.convert(value == null && !"".equals(annotation.defaultValue()) ? annotation.defaultValue() : value , AbstractConfiguredObject.this);
+ return attribute.convert(value == null && !"".equals(autoAttr.defaultValue()) ? autoAttr.defaultValue() : value , AbstractConfiguredObject.this);
}
else
{
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractUnresolvedObject.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractUnresolvedObject.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractUnresolvedObject.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractUnresolvedObject.java Fri May 2 20:32:16 2014
@@ -53,42 +53,47 @@ public abstract class AbstractUnresolved
ConfiguredObjectTypeRegistry.getAttributes(clazz);
for(ConfiguredObjectAttribute<? super C, ?> attribute : attributes)
{
- final Class<?> attributeType = attribute.getType();
- if(ConfiguredObject.class.isAssignableFrom(attributeType))
+ if(attribute.isPersisted())
{
- addUnresolvedObject((Class<? extends ConfiguredObject>) attributeType, attribute.getName(), attribute.getAnnotation().mandatory());
- }
- else if(Collection.class.isAssignableFrom(attributeType))
- {
- Type returnType = attribute.getGetter().getGenericReturnType();
- Class<? extends ConfiguredObject> attrClass = getMemberType(returnType);
- if(attrClass != null)
+ final Class<?> attributeType = attribute.getType();
+ if (ConfiguredObject.class.isAssignableFrom(attributeType))
+ {
+ addUnresolvedObject((Class<? extends ConfiguredObject>) attributeType,
+ attribute.getName(),
+ attribute.isAutomated() && ((ConfiguredAutomatedAttribute<? super C,?>)attribute).isMandatory());
+ }
+ else if (Collection.class.isAssignableFrom(attributeType))
{
- Object attrValue = _record.getAttributes().get(attribute.getName());
- if(attrValue != null)
+ Type returnType = attribute.getGetter().getGenericReturnType();
+ Class<? extends ConfiguredObject> attrClass = getMemberType(returnType);
+ if (attrClass != null)
{
- if (attrValue instanceof Collection)
+ Object attrValue = _record.getAttributes().get(attribute.getName());
+ if (attrValue != null)
{
- for (Object val : (Collection) attrValue)
+ if (attrValue instanceof Collection)
{
- addUnresolvedObject(attrClass, attribute.getName(), val);
+ for (Object val : (Collection) attrValue)
+ {
+ addUnresolvedObject(attrClass, attribute.getName(), val);
+ }
}
- }
- else if(attrValue instanceof Object[])
- {
- for (Object val : (Object[]) attrValue)
+ else if (attrValue instanceof Object[])
{
- addUnresolvedObject(attrClass, attribute.getName(), val);
+ for (Object val : (Object[]) attrValue)
+ {
+ addUnresolvedObject(attrClass, attribute.getName(), val);
+ }
+ }
+ else
+ {
+ addUnresolvedObject(attrClass, attribute.getName(), attrValue);
}
- }
- else
- {
- addUnresolvedObject(attrClass, attribute.getName(), attrValue);
}
}
- }
+ }
}
}
}
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=1592030&r1=1592029&r2=1592030&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 Fri May 2 20:32:16 2014
@@ -32,14 +32,14 @@ public interface Binding<X extends Bindi
public String EXCHANGE = "exchange";
// TODO - this is a hack
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Queue<?> getQueue();
// TODO - this is a hack
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Exchange<?> getExchange();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
Map<String,Object> getArguments();
@ManagedStatistic
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java Fri May 2 20:32:16 2014
@@ -74,52 +74,52 @@ public interface Broker<X extends Broker
@ManagedContextDefault(name = QPID_JMX_PORT)
public static final String DEFAULT_JMX_PORT_NUMBER = "9099";
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getBuildVersion();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getOperatingSystem();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getPlatform();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getProcessPid();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getProductVersion();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Collection<String> getSupportedVirtualHostStoreTypes();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Collection<String> getSupportedAuthenticationProviders();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Collection<String> getSupportedPreferencesProviderTypes();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Collection<String> getSupportedVirtualHostTypes();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
String getDefaultVirtualHost();
- @ManagedAttribute( automate = true, defaultValue = "256" )
+ @ManagedAttribute( defaultValue = "256" )
int getConnection_sessionCountLimit();
- @ManagedAttribute( automate = true, defaultValue = "0")
+ @ManagedAttribute( defaultValue = "0")
int getConnection_heartBeatDelay();
- @ManagedAttribute( automate = true, defaultValue = "true" )
+ @ManagedAttribute( defaultValue = "true" )
boolean getConnection_closeWhenNoRoute();
- @ManagedAttribute( automate = true, defaultValue = "0" )
+ @ManagedAttribute( defaultValue = "0" )
int getStatisticsReportingPeriod();
- @ManagedAttribute( automate = true, defaultValue = "false")
+ @ManagedAttribute( defaultValue = "false")
boolean getStatisticsReportingResetEnabled();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute( persist = true )
String getModelVersion();
@ManagedStatistic
Added: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java?rev=1592030&view=auto
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java (added)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java Fri May 2 20:32:16 2014
@@ -0,0 +1,72 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model;
+
+import java.lang.reflect.Method;
+
+public class ConfiguredAutomatedAttribute<C extends ConfiguredObject, T> extends ConfiguredObjectAttribute<C,T>
+{
+ private final ManagedAttribute _annotation;
+
+ ConfiguredAutomatedAttribute(final Class<C> clazz,
+ final Method getter,
+ final ManagedAttribute annotation)
+ {
+ super(clazz, getter);
+ _annotation = annotation;
+ }
+
+ public boolean isAutomated()
+ {
+ return true;
+ }
+
+ public boolean isDerived()
+ {
+ return false;
+ }
+
+ public String defaultValue()
+ {
+ return _annotation.defaultValue();
+ }
+
+ public boolean isSecure()
+ {
+ return _annotation.secure();
+ }
+
+ public boolean isMandatory()
+ {
+ return _annotation.mandatory();
+ }
+
+ public boolean isPersisted()
+ {
+ return _annotation.persist();
+ }
+
+ public String getDescription()
+ {
+ return _annotation.description();
+ }
+
+}
Added: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java?rev=1592030&view=auto
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java (added)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java Fri May 2 20:32:16 2014
@@ -0,0 +1,62 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model;
+
+import java.lang.reflect.Method;
+
+public class ConfiguredDerivedAttribute<C extends ConfiguredObject, T> extends ConfiguredObjectAttribute<C,T>
+{
+ private final DerivedAttribute _annotation;
+
+ ConfiguredDerivedAttribute(final Class<C> clazz,
+ final Method getter,
+ final DerivedAttribute annotation)
+ {
+ super(clazz, getter);
+ _annotation = annotation;
+ }
+
+ public boolean isAutomated()
+ {
+ return false;
+ }
+
+ public boolean isDerived()
+ {
+ return true;
+ }
+
+ public boolean isSecure()
+ {
+ return _annotation.secure();
+ }
+
+ public boolean isPersisted()
+ {
+ return _annotation.persist();
+ }
+
+ public String getDescription()
+ {
+ return _annotation.description();
+ }
+
+}
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=1592030&r1=1592029&r2=1592030&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 Fri May 2 20:32:16 2014
@@ -45,6 +45,7 @@ public interface ConfiguredObject<X exte
String LAST_UPDATED_BY = "lastUpdatedBy";
String LAST_UPDATED_TIME = "lastUpdatedTime";
String STATE = "state";
+ String DESIRED_STATE = "desiredState";
String CREATED_BY = "createdBy";
String CREATED_TIME = "createdTime";
@@ -54,7 +55,7 @@ public interface ConfiguredObject<X exte
*
* @return the objects id
*/
- @ManagedAttribute( automate = true, mandatory = true )
+ @ManagedAttribute( mandatory = true )
UUID getId();
/**
@@ -62,31 +63,31 @@ public interface ConfiguredObject<X exte
*
* @return the name of the object
*/
- @ManagedAttribute( automate = true, mandatory = true)
+ @ManagedAttribute( mandatory = true)
String getName();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
String getDescription();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
String getType();
- @ManagedAttribute(automate = true)
+ @ManagedAttribute
Map<String, String> getContext();
<T> T getContextValue(Class<T> clazz, String propertyName);
- @ManagedAttribute( derived = true )
+ @DerivedAttribute( persist = true )
String getLastUpdatedBy();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute( persist = true )
long getLastUpdatedTime();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute( persist = true )
String getCreatedBy();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute( persist = true )
long getCreatedTime();
@@ -99,6 +100,7 @@ public interface ConfiguredObject<X exte
*
* @return the desired state of the object
*/
+ @ManagedAttribute
State getDesiredState();
/**
@@ -107,13 +109,12 @@ public interface ConfiguredObject<X exte
* Request a change to the current state. The caller must pass in the state it believe the object to be in, if
* this differs from the current desired state when the object evaluates the request, then no state change will occur.
*
- * @param currentState the state the caller believes the object to be in
* @param desiredState the state the caller wishes the object to attain
* @return the new current state
* @throws IllegalStateTransitionException the requested state transition is invalid
* @throws AccessControlException the current context does not have sufficient permissions to change the state
*/
- State setDesiredState(State currentState, State desiredState) throws IllegalStateTransitionException,
+ State setDesiredState(State desiredState) throws IllegalStateTransitionException,
AccessControlException;
/**
@@ -125,7 +126,7 @@ public interface ConfiguredObject<X exte
*
* @return the actual state of the object
*/
- @ManagedAttribute( state = true )
+ @DerivedAttribute
State getState();
@@ -159,7 +160,7 @@ public interface ConfiguredObject<X exte
*
* @return the durability
*/
- @ManagedAttribute( automate = true, defaultValue = "true" )
+ @ManagedAttribute( defaultValue = "true" )
boolean isDurable();
/**
@@ -167,7 +168,7 @@ public interface ConfiguredObject<X exte
*
* @return the lifetime policy
*/
- @ManagedAttribute( automate = true, defaultValue = "PERMANENT" )
+ @ManagedAttribute( defaultValue = "PERMANENT" )
LifetimePolicy getLifetimePolicy();
/**
@@ -254,8 +255,6 @@ public interface ConfiguredObject<X exte
void open();
- void validate();
-
TaskExecutor getTaskExecutor();
ConfiguredObjectFactory getObjectFactory();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java Fri May 2 20:32:16 2014
@@ -22,27 +22,29 @@ package org.apache.qpid.server.model;
import java.lang.reflect.Method;
-public final class ConfiguredObjectAttribute<C extends ConfiguredObject, T> extends ConfiguredObjectAttributeOrStatistic<C,T>
+public abstract class ConfiguredObjectAttribute<C extends ConfiguredObject, T> extends ConfiguredObjectAttributeOrStatistic<C,T>
{
- private final ManagedAttribute _annotation;
ConfiguredObjectAttribute(Class<C> clazz,
- final Method getter,
- final ManagedAttribute annotation)
+ final Method getter)
{
super(getter);
if(getter.getParameterTypes().length != 0)
{
throw new IllegalArgumentException("ManagedAttribute annotation should only be added to no-arg getters");
}
- _annotation = annotation;
}
- public ManagedAttribute getAnnotation()
- {
- return _annotation;
- }
+ public abstract boolean isAutomated();
+
+ public abstract boolean isDerived();
+
+ public abstract boolean isSecure();
+
+ public abstract boolean isPersisted();
+
+ public abstract String getDescription();
public T convert(final Object value, C object)
{
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java Fri May 2 20:32:16 2014
@@ -390,41 +390,53 @@ public class ConfiguredObjectTypeRegistr
for(Method m : clazz.getDeclaredMethods())
{
- ManagedAttribute annotation = m.getAnnotation(ManagedAttribute.class);
- if(annotation != null)
+
+ if(m.isAnnotationPresent(ManagedAttribute.class))
{
- if(!(annotation.automate() || annotation.derived() || annotation.state()))
+ ManagedAttribute annotation = m.getAnnotation(ManagedAttribute.class);
+
+ if(!clazz.isInterface() || !ConfiguredObject.class.isAssignableFrom(clazz))
+ {
+ throw new ServerScopedRuntimeException("Can only define ManagedAttributes on interfaces which extend " + ConfiguredObject.class.getSimpleName() + ". " + clazz.getSimpleName() + " does not meet these criteria.");
+ }
+
+ ConfiguredObjectAttribute<?,?> attribute = new ConfiguredAutomatedAttribute<>(clazz, m, annotation);
+ if(attributeSet.contains(attribute))
{
- throw new ServerScopedRuntimeException("ManagedAttributes must be either automated or derived. " + m.getName() + " on " + clazz.getSimpleName() + " does not meet this criterion.");
+ attributeSet.remove(attribute);
}
+ attributeSet.add(attribute);
+ }
+ else if(m.isAnnotationPresent(DerivedAttribute.class))
+ {
+ DerivedAttribute annotation = m.getAnnotation(DerivedAttribute.class);
+
if(!clazz.isInterface() || !ConfiguredObject.class.isAssignableFrom(clazz))
{
throw new ServerScopedRuntimeException("Can only define ManagedAttributes on interfaces which extend " + ConfiguredObject.class.getSimpleName() + ". " + clazz.getSimpleName() + " does not meet these criteria.");
}
- ConfiguredObjectAttribute<?,?> attribute = new ConfiguredObjectAttribute(clazz, m, annotation);
+ ConfiguredObjectAttribute<?,?> attribute = new ConfiguredDerivedAttribute<>(clazz, m, annotation);
if(attributeSet.contains(attribute))
{
attributeSet.remove(attribute);
}
attributeSet.add(attribute);
+
}
- else
+ else if(m.isAnnotationPresent(ManagedStatistic.class))
{
ManagedStatistic statAnnotation = m.getAnnotation(ManagedStatistic.class);
- if(statAnnotation != null)
+ if(!clazz.isInterface() || !ConfiguredObject.class.isAssignableFrom(clazz))
{
- if(!clazz.isInterface() || !ConfiguredObject.class.isAssignableFrom(clazz))
- {
- throw new ServerScopedRuntimeException("Can only define ManagedStatistics on interfaces which extend " + ConfiguredObject.class.getSimpleName() + ". " + clazz.getSimpleName() + " does not meet these criteria.");
- }
- ConfiguredObjectStatistic statistic = new ConfiguredObjectStatistic(clazz, m);
- if(statisticSet.contains(statistic))
- {
- statisticSet.remove(statistic);
- }
- statisticSet.add(statistic);
+ throw new ServerScopedRuntimeException("Can only define ManagedStatistics on interfaces which extend " + ConfiguredObject.class.getSimpleName() + ". " + clazz.getSimpleName() + " does not meet these criteria.");
}
+ ConfiguredObjectStatistic statistic = new ConfiguredObjectStatistic(clazz, m);
+ if(statisticSet.contains(statistic))
+ {
+ statisticSet.remove(statistic);
+ }
+ statisticSet.add(statistic);
}
}
@@ -436,7 +448,7 @@ public class ConfiguredObjectTypeRegistr
for(ConfiguredObjectAttribute<?,?> attr : attrCol)
{
attrMap.put(attr.getName(), attr);
- if(attr.getAnnotation().automate())
+ if(attr.isAutomated())
{
fieldMap.put(attr.getName(), findField(attr, clazz));
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java Fri May 2 20:32:16 2014
@@ -43,37 +43,37 @@ public interface Connection<X extends Co
String TRANSPORT = "transport";
String PORT = "port";
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getClientId();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getClientVersion();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
boolean isIncoming();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getLocalAddress();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getPrincipal();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getRemoteAddress();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getRemoteProcessName();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
String getRemoteProcessPid();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
long getSessionCountLimit();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Transport getTransport();
- @ManagedAttribute( derived = true )
+ @DerivedAttribute
Port getPort();
@ManagedStatistic
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Consumer.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Consumer.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Consumer.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Consumer.java Fri May 2 20:32:16 2014
@@ -29,19 +29,19 @@ public interface Consumer<X extends Cons
public String SELECTOR = "selector";
public String SETTLEMENT_MODE = "settlementMode";
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
String getDistributionMode();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
String getSettlementMode();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
boolean isExclusive();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
boolean isNoLocal();
- @ManagedAttribute( automate = true )
+ @ManagedAttribute
String getSelector();
@ManagedStatistic
Added: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java?rev=1592030&view=auto
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java (added)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java Fri May 2 20:32:16 2014
@@ -0,0 +1,35 @@
+package org.apache.qpid.server.model;/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface DerivedAttribute
+{
+ boolean secure() default false;
+ boolean persist() default false;
+ String description() default "";
+
+}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Exchange.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Exchange.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Exchange.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Exchange.java Fri May 2 20:32:16 2014
@@ -32,7 +32,7 @@ public interface Exchange<X extends Exch
// Attributes
- @ManagedAttribute(automate = true)
+ @ManagedAttribute
Exchange<?> getAlternateExchange();
//children
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ExternalFileBasedAuthenticationManager.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ExternalFileBasedAuthenticationManager.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ExternalFileBasedAuthenticationManager.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ExternalFileBasedAuthenticationManager.java Fri May 2 20:32:16 2014
@@ -24,6 +24,6 @@ public interface ExternalFileBasedAuthen
{
String PATH = "path";
- @ManagedAttribute( automate = true , mandatory = true, description = "File location")
+ @ManagedAttribute( mandatory = true, description = "File location")
public String getPath();
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java Fri May 2 20:32:16 2014
@@ -20,17 +20,16 @@
*/
package org.apache.qpid.server.model;
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-
+@Target(ElementType.METHOD)
public @interface ManagedAttribute
{
boolean secure() default false;
- boolean derived() default false;
- boolean automate() default false;
- boolean state() default false;
boolean mandatory() default false;
boolean persist() default true;
String defaultValue() default "";
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttributeField.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttributeField.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttributeField.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttributeField.java Fri May 2 20:32:16 2014
@@ -21,10 +21,13 @@
package org.apache.qpid.server.model;
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
public @interface ManagedAttributeField
{
String beforeSet() default "";
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedContextDefault.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedContextDefault.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedContextDefault.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedContextDefault.java Fri May 2 20:32:16 2014
@@ -19,10 +19,13 @@ package org.apache.qpid.server.model;/*
*
*/
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
public @interface ManagedContextDefault
{
String name();
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java?rev=1592030&r1=1592029&r2=1592030&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java Fri May 2 20:32:16 2014
@@ -20,11 +20,13 @@
*/
package org.apache.qpid.server.model;
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-
+@Target(ElementType.TYPE)
public @interface ManagedObject
{
boolean category() default true;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org