qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From agazzar...@apache.org
Subject svn commit: r743341 [1/3] - in /qpid/trunk/qpid/java/management/client/src: example/org/apache/qpid/management/example/ main/java/ main/java/org/apache/qpid/management/ main/java/org/apache/qpid/management/domain/model/ main/java/org/apache/qpid/manage...
Date Wed, 11 Feb 2009 14:11:42 GMT
Author: agazzarini
Date: Wed Feb 11 14:11:41 2009
New Revision: 743341

URL: http://svn.apache.org/viewvc?rev=743341&view=rev
Log:
QPID-1582 : WS-Notification implementation on QMan

Added:
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ConsumerCapability.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/common/QManResourceIdFactory.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEvent.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEventType.java
    qpid/trunk/qpid/java/management/client/src/main/java/router-entries/consumer/
    qpid/trunk/qpid/java/management/client/src/main/java/router-entries/consumer/resource-instance-1.xml
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WS-BaseNotification-1_3.wsdl
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WS-BaseNotification-1_3.xsd
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WS-Resource-1_2.wsdl
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WS-ResourceLifetime-1_2.wsdl
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WS-ResourceProperties-1_2.wsdl
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WS-ServiceGroup-1_2.wsdl
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WS-Topics-1_3.xsd
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WSDM-MUWS-Part1-1_1.xsd
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/WSDM-MUWS-Part2-1_1.xsd
Modified:
    qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetMultipleResourcePropertiesExample.java
    qpid/trunk/qpid/java/management/client/src/main/java/muse.xml
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Messages.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Names.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEntity.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEvent.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/EntityLifecycleNotification.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/OperationHasBeenInvokedNotification.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/ConnectQManToBroker.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/WSDMAdapter.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmu.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmuInitializer.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ArtifactsNotAvailableException.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/IArtifactBuilder.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapability.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java
    qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.rmd
    qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl
    qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/TestConstants.java
    qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/EnhancedReflectionProxyHandler.java
    qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/ServerThread.java
    qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WebApplicationLifeCycleListener.java
    qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WsDmAdapterTest.java

Modified: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetMultipleResourcePropertiesExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetMultipleResourcePropertiesExample.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetMultipleResourcePropertiesExample.java (original)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetMultipleResourcePropertiesExample.java Wed Feb 11 14:11:41 2009
@@ -134,17 +134,7 @@
 	 * Prints out a description of this example.
 	 */
 	void printOutExampleDescription()
-	{
-		/*
-		 * * This example shows how to get properties from a WS-Resource using one request.
- * First of all a request is send to WS-DM in order to get all registered WS-Resources.
- * If the returned list is not empty then a GetMetadataRequest is sent to the
- * first child.
- * The result metadata descriptor contains all properties names of the target WS-Resource.
- * Those names are then used for retrieving the corresponding values.
- * 
-		 */
-		
+	{	
 		System.out.println("                 "+getClass().getSimpleName()+" ");
 		System.out.println("-------------------------------------------------------------------");
 		System.out.println();

Modified: qpid/trunk/qpid/java/management/client/src/main/java/muse.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/muse.xml?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/muse.xml (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/muse.xml Wed Feb 11 14:11:41 2009
@@ -40,13 +40,66 @@
 		</persistence>
 	</router>
 	<resource-type use-router-persistence="true">
-		<!--  Context path of this resource. -->
+		<context-path>consumer</context-path>
+		<wsdl>
+			<wsdl-file>wsdl/WS-BaseNotification-1_3.wsdl</wsdl-file>
+			<wsdl-port-type xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2">wsntw:NotificationConsumer</wsdl-port-type>
+		</wsdl>
+		<java-id-factory-class>org.apache.qpid.management.wsdm.common.QManResourceIdFactory</java-id-factory-class>
+		<java-resource-class>org.apache.muse.core.SimpleResource</java-resource-class>
+		<capability>
+			<capability-uri>http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer</capability-uri>
+			<java-capability-class>org.apache.muse.ws.notification.impl.SimpleNotificationConsumer</java-capability-class>
+		</capability>
+		<capability>
+			<capability-uri>http://amqp.apache.org/qpid/management/qman/consumer</capability-uri>
+			<java-capability-class>org.apache.qpid.management.wsdm.capabilities.ConsumerCapability</java-capability-class>
+		</capability>
+	</resource-type>
+	<resource-type>
+		<context-path>SubscriptionManager</context-path>
+		<wsdl>
+			<wsdl-file>wsdl/WS-BaseNotification-1_3.wsdl</wsdl-file>
+			<wsdl-port-type xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2">wsntw:SubscriptionManager</wsdl-port-type>
+		</wsdl>
+		<java-id-factory-class>org.apache.qpid.management.wsdm.common.QManResourceIdFactory</java-id-factory-class>
+		<java-resource-class>org.apache.muse.ws.resource.impl.SimpleWsResource</java-resource-class>
+		<capability>
+			<capability-uri>http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata</capability-uri>
+			<java-capability-class>org.apache.muse.ws.metadata.impl.SimpleMetadataExchange</java-capability-class>
+		</capability>
+		<capability>
+			<capability-uri>http://docs.oasis-open.org/wsrf/rpw-2/Get</capability-uri>
+			<java-capability-class>org.apache.muse.ws.resource.properties.get.impl.SimpleGetCapability</java-capability-class>
+		</capability>
+		<capability>
+			<capability-uri>http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager</capability-uri>
+			<java-capability-class>org.apache.muse.ws.notification.impl.SimpleSubscriptionManager</java-capability-class>
+			<init-param>
+				<param-name>trace-notifications</param-name>
+				<param-value>true</param-value>
+			</init-param>
+		</capability>
+		<capability>
+			<capability-uri>http://docs.oasis-open.org/wsrf/rlw-2/ImmediateResourceTermination</capability-uri>
+			<java-capability-class>org.apache.muse.ws.resource.lifetime.impl.SimpleImmediateTermination</java-capability-class>
+		</capability>
+		<capability>
+			<capability-uri>http://docs.oasis-open.org/wsrf/rlw-2/ScheduledResourceTermination</capability-uri>
+			<java-capability-class>org.apache.muse.ws.resource.lifetime.impl.SimpleScheduledTermination</java-capability-class>
+		</capability>
+		<init-param>
+			<param-name>validate-wsrp-schema</param-name>
+			<param-value>false</param-value>
+		</init-param>
+	</resource-type>	
+	<resource-type use-router-persistence="true">
 		<context-path>adapter</context-path>
 		<wsdl>
 			<wsdl-file>wsdl/QManAdapter.wsdl</wsdl-file>
 			<wsdl-port-type xmlns:qman="http://amqp.apache.org/qpid/management/qman">qman:QManAdapterPortType</wsdl-port-type>
 		</wsdl>
-		<java-id-factory-class>org.apache.muse.core.routing.RandomResourceIdFactory</java-id-factory-class>
+		<java-id-factory-class>org.apache.qpid.management.wsdm.common.QManResourceIdFactory</java-id-factory-class>
 		<java-resource-class>org.apache.muse.ws.resource.impl.SimpleWsResource</java-resource-class>
 		<capability>
 			<capability-uri >http://amqp.apache.org/qpid/management/qman</capability-uri>
@@ -67,14 +120,15 @@
 		<capability>
 			<capability-uri>http://docs.oasis-open.org/wsrf/sgw-2/ServiceGroup</capability-uri>
 			<java-capability-class>org.apache.muse.ws.resource.sg.impl.SimpleServiceGroup</java-capability-class>
-		<!-- 
-			<persistence>
-				<java-persistence-class>org.apache.muse.ws.resource.sg.impl.ServiceGroupFilePersistence</java-persistence-class>
-				<persistence-location>service-group-entries</persistence-location>
-			</persistence>
-		-->
 		</capability>
-		
+		<capability>
+			<capability-uri>http://docs.oasis-open.org/wsn/bw-2/NotificationProducer</capability-uri>
+			<java-capability-class>org.apache.muse.ws.notification.impl.SimpleNotificationProducer</java-capability-class>
+		</capability>
+		<init-param>
+			<param-name>validate-wsrp-schema</param-name>
+			<param-value>false</param-value>
+		</init-param>		
 	</resource-type>
 	<resource-type>
 		<context-path>QManWsResource</context-path>
@@ -116,7 +170,7 @@
 			<wsdl-file>/wsdl/WS-ServiceGroupEntry-1_2.wsdl</wsdl-file>
 			<wsdl-port-type>wsrf-sgw:ServiceGroupEntryPortType</wsdl-port-type>
 		</wsdl>
-		<java-id-factory-class>org.apache.muse.core.routing.RandomResourceIdFactory</java-id-factory-class>
+		<java-id-factory-class>org.apache.qpid.management.wsdm.common.QManResourceIdFactory</java-id-factory-class>
 		<java-resource-class>org.apache.muse.ws.resource.impl.SimpleWsResource</java-resource-class>
 		<capability>
 			<capability-uri>http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata</capability-uri>

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Messages.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Messages.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Messages.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Messages.java Wed Feb 11 14:11:41 2009
@@ -31,7 +31,7 @@
 	// MESSAGES
 	String EVENT_SEVERITY_ATTRIBUTE_DESCRIPTION = "Severity level for this event.";
 	String EVENT_TIMESTAMP_ATTRIBUTE_DESCRIPTION = "Current timestamp of this event.";
-	String ACTION_NOT_SUPPORTED="Action %S not supported by resource %s.";
+	String ACTION_NOT_SUPPORTED="Action %s not supported by resource %s.";
 	
 	// INFO
 	String QMAN_000001_STARTING_QMAN = "<QMAN-000001> : Starting Q-Man...";
@@ -63,7 +63,10 @@
 	String QMAN_000028_TEST_MODULE_NOT_FOUND = "<QMAN-000028> : Qpid emulator not found. Test notifications are disabled.";
 	String QMAN_000029_DEFAULT_URI = "<QMAN-000029> : Default URI will be set to %s";
 	String QMAN_000030_RESOURCE_HAS_BEEN_CREATED =  "<QMAN-000030> : New resource instance has been created and registered. Resource id is %s";
-	String QMAN_000031_RESOURCE_HAS_BEEN_REMOVED = "<QMAN-200031> : WS-Resource %s has been removed";
+	String QMAN_000031_RESOURCE_HAS_BEEN_REMOVED = "<QMAN-000031> : WS-Resource %s has been removed";
+	String QMAN_000032_EVENTS_LIFECYCLE_TOPIC_HAS_BEEN_CREATED = "<QMAN-000032> : Events lifecycle topic has been created. Its name is %s";
+	String QMAN_000033_OBJECTS_LIFECYCLE_TOPIC_HAS_BEEN_CREATED = "<QMAN-000033> : Objects lifecycle topic has been created. Its name is %s";
+	
 		
 	 // DEBUG
 	String QMAN_200001_INCOMING_MESSAGE_HAS_BEEN_RECEIVED = "<QMAN-200001> : New incoming message has been received. Message content is %s";
@@ -156,6 +159,7 @@
 	String QMAN_100033_WS_RESOURCE_ALREADY_SHUTDOWN = "<QMAN-100033> : Bad request has been received on this WS-Resource : Shutdown is not possible because the resource has already been shutdown.";
 	String QMAN_100034_WSDL_SCHEMA_SECTION_NOT_FOUND = "<QMAN-100034> : Unable to get via XPath the schema section in WSDL.";
 	String QMAN_100035_RESOURCE_CAPABILITY_INVOCATION_FAILURE = "<QMAN-100035> : Resource thrown a failure while invoking a capability operation.";
+	String QMAN_100036_TOPIC_DECLARATION_FAILURE = "<QMAN-100036> : WS-DM Adapter was unable to declare events and / or objects lifecycle topic(s). As conseguence of that, QMan won't be able to correctly emit lifecycle notifications.";
 	
 	// NEW
 	String QMAN_100035_GET_ATTRIBUTE_FAILURE = "<QMAN-100035> : Get Attribute invocation failure for attribute %s, resource %s.";

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Names.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Names.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Names.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Names.java Wed Feb 11 14:11:41 2009
@@ -96,17 +96,49 @@
     
     // WSDM Stuff
     public static String NAMESPACE_URI = "http://amqp.apache.org/qpid/management/qman";
+    public final static String PREFIX = "qman";
+
     public static String ADDRESSING_URI = "http://amqp.apache.org/qpid/management/qman/addressing";
     public static String ADDRESSING_PREFIX = "qman-wsa";
     
-    public static final QName RESOURCE_ID_QNAME = new QName(ADDRESSING_URI, "ResourceId", ADDRESSING_PREFIX);   
-	public final static String PREFIX = "qman";
+    public static final QName RESOURCE_ID_QNAME = new QName(
+    		ADDRESSING_URI, 
+    		"ResourceId", 
+    		ADDRESSING_PREFIX);   
+
+    public static final QName RES_ID_QNAME = new QName(
+    		NAMESPACE_URI, 
+    		"ResourceId", 
+    		PREFIX);   
+
+    public static final QName RESOURCE_QNAME = new QName(
+    		NAMESPACE_URI, 
+    		"Resource", 
+    		PREFIX);   
+    
+    public static final QName LIFECYCLE_EVENT_QNAME = new QName(
+    		NAMESPACE_URI, 
+    		"LifeCycleEvent", 
+    		PREFIX);   
+
+    public static final QName PACKAGE_NAME_QNAME = new QName(
+    		NAMESPACE_URI, 
+    		"PackageName", 
+    		PREFIX);   
+
+    public static final QName ENTITY_NAME_QNAME = new QName(
+    		NAMESPACE_URI, 
+    		"Name", 
+    		PREFIX);   
+
+    public static final String TIMEMILLIS_ATTRIBUTE_NAME="TimeMillis";
+
 	public final static String QMAN_RESOURCE_NAME = "QManWsResource";
 	
     public final static String VALIDATE_WSRP_PARAM = "validate-wsrp-schema";
 
     public static final String WEB_APP_CLASSES_FOLDER = "/WEB-INF/classes";
-    public static final String DEFAULT_ENDPOINT_URI = "http://localhost:8080/qman/adapter";
+    
     
 	public final static QName  QMAN_RESOURCE_PORT_TYPE_NAME = new QName(
 			Names.NAMESPACE_URI,
@@ -127,6 +159,16 @@
 			Names.NAMESPACE_URI,
 			"AttributeName",
 			Names.PREFIX);
+
+	public final static QName OBJECTS_LIFECYLE_TOPIC_NAME= new QName(
+			Names.NAMESPACE_URI,
+			"ObjectsLifeCycleTopic",
+			Names.PREFIX);
+
+	public final static QName EVENTS_LIFECYLE_TOPIC_NAME= new QName(
+			Names.NAMESPACE_URI,
+			"EventsLifeCycleTopic",
+			Names.PREFIX);
 	
 	public final static String NAME_ATTRIBUTE = "name";
 	public final static String MODIFIABILITY = "modifiability";

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java Wed Feb 11 14:11:41 2009
@@ -44,4 +44,9 @@
     
     int CLASS = 1;
     int EVENT = 2;
+    
+    String DEFAULT_QMAN_HOSTNAME = "localhost";
+    int DEFAULT_QMAN_PORT_NUMBER = 8080;
+    
+    String DEFAULT_ENDPOINT_URI = "http://localhost:8080/qman/adapter";
 }

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java Wed Feb 11 14:11:41 2009
@@ -239,7 +239,7 @@
                 _metadata = new MBeanInfo(_name,_name,attributesMetadata,null,operationsMetadata,null);
 
                 EntityLifecycleNotification notification = new EntityLifecycleNotification(
-                  		 EntityLifecycleNotification.SCHEMA_INJECTED,
+                  		 EntityLifecycleNotification.SCHEMA_INJECTED_NOTIFICATION_TYPE,
                   		 _parent.getName(), 
                   		 _name, 
                   		 Names.CLASS,
@@ -782,7 +782,7 @@
             ObjectName objectName = JMX_SERVICE.unregisterObjectInstance(_parent.getOwnerId(),_parent.getName(),_name,toBeRemoved._objectId);
             
        	 EntityLifecycleNotification notification = new EntityLifecycleNotification(
-    			 EntityLifecycleNotification.INSTANCE_REMOVED,
+    			 EntityLifecycleNotification.INSTANCE_REMOVED_NOTIFICATION_TYPE,
     			 _parent.getName(),
     			 _name,
     			 Names.CLASS,
@@ -822,7 +822,7 @@
     	 ObjectName objectName = JMX_SERVICE.registerObjectInstance(instance,_parent.getOwnerId(),_parent.getName(),_name,objectId);
     	 
     	 EntityLifecycleNotification notification = new EntityLifecycleNotification(
-    			 EntityLifecycleNotification.INSTANCE_ADDED,
+    			 EntityLifecycleNotification.INSTANCE_ADDED_NOTIFICATION_TYPE,
     			 packageName,
     			 className,
     			 Names.CLASS,

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEntity.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEntity.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEntity.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEntity.java Wed Feb 11 14:11:41 2009
@@ -153,7 +153,7 @@
         }                
         
       	 EntityLifecycleNotification notification = new EntityLifecycleNotification(
-          		 EntityLifecycleNotification.SCHEMA_REQUESTED,
+          		 EntityLifecycleNotification.SCHEMA_REQUESTED_NOTIFICATION_TYPE,
           		 _parent.getName(), 
           		 _name, 
           		 Names.CLASS,

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEvent.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEvent.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEvent.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidEvent.java Wed Feb 11 14:11:41 2009
@@ -164,7 +164,7 @@
             _state = _schemaInjected;
             
             EntityLifecycleNotification notification = new EntityLifecycleNotification(
-              		 EntityLifecycleNotification.SCHEMA_INJECTED,
+              		 EntityLifecycleNotification.SCHEMA_INJECTED_NOTIFICATION_TYPE,
               		 _parent.getName(), 
               		 _name, 
               		 Names.EVENT,
@@ -482,7 +482,7 @@
 		ObjectName objectName = JMX_SERVICE.registerEventInstance(instance,brokerId,packageName,eventClassName);
 		
    	 EntityLifecycleNotification notification = new EntityLifecycleNotification(
-			 EntityLifecycleNotification.INSTANCE_ADDED,
+			 EntityLifecycleNotification.INSTANCE_ADDED_NOTIFICATION_TYPE,
 			 packageName,
 			 eventClassName,
 			 Names.EVENT,

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/EntityLifecycleNotification.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/EntityLifecycleNotification.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/EntityLifecycleNotification.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/EntityLifecycleNotification.java Wed Feb 11 14:11:41 2009
@@ -36,18 +36,19 @@
  * <br> - An object instance has been created (Instrumentation / Configuration response); 
  * <br> - An event instance has been created (Instrumentation / Configuration response); 
  * <br> - An object instance has been removed (Instrumentation / Configuration response); 
- * <br> - An event instance has been removed (Instrumentation / Configuration response); 
+ * 
+ * @author Andrea Gazzarini
  */
 public class EntityLifecycleNotification extends Notification
 {
 	private static final long serialVersionUID = -7755773156742412161L;
 	
-	public static final String SCHEMA_INJECTED = "org.apache.qpid.management.lifecycle.entity.schema.injected";
-	public static final String SCHEMA_REQUESTED = "org.apache.qpid.management.lifecycle.entity.schema.requested";
-	public static final String MALFORMED_SCHEMA = "org.apache.qpid.management.lifecycle.error.schema";
+	public static final String SCHEMA_INJECTED_NOTIFICATION_TYPE = "org.apache.qpid.management.lifecycle.entity.schema.injected";
+	public static final String SCHEMA_REQUESTED_NOTIFICATION_TYPE = "org.apache.qpid.management.lifecycle.entity.schema.requested";
+	public static final String MALFORMED_SCHEMA_NOTIFICATION_TYPE = "org.apache.qpid.management.lifecycle.error.schema";
 	
-	public static final String INSTANCE_ADDED = "qman.lifecycle.entity.instance.created";
-	public static final String INSTANCE_REMOVED = "qman.lifecycle.entity.instance.removed";
+	public static final String INSTANCE_ADDED_NOTIFICATION_TYPE = "qman.lifecycle.entity.instance.created";
+	public static final String INSTANCE_REMOVED_NOTIFICATION_TYPE = "qman.lifecycle.entity.instance.removed";
 	
 	private String _packageName = Names.NOT_AVAILABLE;
 	private String _className = Names.NOT_AVAILABLE;
@@ -65,9 +66,18 @@
 	 * @param classKind the class kind (i.e. class or event)
 	 * @param objectName the object name of the affected mbean.
 	 */
-	public EntityLifecycleNotification(String type,String packageName, String className, String classKind, ObjectName objectName) 
-	{
-		super(type,Names.APPLICATION_NAME,SequenceNumberGenerator.getNextSequenceNumber());
+	public EntityLifecycleNotification(
+			String type,
+			String packageName, 
+			String className, 
+			String classKind, 
+			ObjectName objectName) 
+	{
+		super(
+				type,
+				Names.APPLICATION_NAME,
+				SequenceNumberGenerator.getNextSequenceNumber());
+		
 		this._className = className;
 		this._packageName = packageName;
 		this._classKind = classKind;

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/OperationHasBeenInvokedNotification.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/OperationHasBeenInvokedNotification.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/OperationHasBeenInvokedNotification.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/jmx/OperationHasBeenInvokedNotification.java Wed Feb 11 14:11:41 2009
@@ -28,13 +28,15 @@
 
 /**
  * Q-Man JMX method invocation notification.
- * This kind of notification is sent to interested listener by Q-Man when a method has been invoked (Method invocation request)
+ * This kind of notification is sent to interested listener by Q-Man when 
+ * a method has been invoked (Method invocation request)
+ * 
+ * @author Andrea Gazzarini
  */
 public class OperationHasBeenInvokedNotification extends Notification
 {
 	private static final long serialVersionUID = -7755773156742412161L;
-	
-	public static final String OPERATION_INVOKED = "org.apache.qpid.management.operation.invoked";
+	public static final String NOTIFICATION_TYPE = "org.apache.qpid.management.operation.invoked";
 	
 	private final String _operationName;
 	private final Object [] _parameters;
@@ -51,15 +53,22 @@
 	 * @param signature the operation signature.
 	 * @param exception the exception raised by the invocation.
 	 */
-	public OperationHasBeenInvokedNotification(String operationName, Object[] parameters, String [] signature, Exception exception) 
-	{
-		super(OPERATION_INVOKED,Names.APPLICATION_NAME,SequenceNumberGenerator.getNextSequenceNumber());
+	public OperationHasBeenInvokedNotification(
+			String operationName, 
+			Object[] parameters, 
+			String [] signature, 
+			Exception exception) 
+	{
+		super(
+				NOTIFICATION_TYPE,
+				Names.APPLICATION_NAME,
+				SequenceNumberGenerator.getNextSequenceNumber());
+		
 		this._operationName= operationName;
 		this._parameters = parameters;
 		this._signature = signature;		
 		this._result = null;
 		this._exception = exception;
-
 	}
 
 	/**
@@ -72,9 +81,17 @@
 	 * @param objectName the target mbean object name.
 	 * @param result the invocation result.
 	 */
-	public OperationHasBeenInvokedNotification(String operationName, Object[] parameters, String [] signature,InvocationResult result) 
-	{
-		super(OPERATION_INVOKED,Names.APPLICATION_NAME,SequenceNumberGenerator.getNextSequenceNumber());
+	public OperationHasBeenInvokedNotification(
+			String operationName, 
+			Object[] parameters, 
+			String [] signature,
+			InvocationResult result) 
+	{
+		super(
+				NOTIFICATION_TYPE,
+				Names.APPLICATION_NAME,
+				SequenceNumberGenerator.getNextSequenceNumber());
+		
 		this._operationName= operationName;
 		this._parameters = parameters;
 		this._signature = signature;
@@ -83,7 +100,8 @@
 	}
 	
 	/**
-	 * Returns the exception raised by this notification referred operation.
+	 * Returns the exception raised by this notification 
+	 * referred operation.
 	 * 
 	 * @return the exception raised by this notification referred operation.
 	 */
@@ -93,7 +111,8 @@
 	}
 	
 	/**
-	 * Returns the exception raised by this notification referred operation.
+	 * Returns the exception raised by this notification 
+	 * referred operation.
 	 * 
 	 * @return the exception raised by this notification referred operation.
 	 */

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/ConnectQManToBroker.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/ConnectQManToBroker.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/ConnectQManToBroker.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/ConnectQManToBroker.java Wed Feb 11 14:11:41 2009
@@ -36,8 +36,9 @@
 import org.apache.qpid.transport.util.Logger;
 
 /**
- * When QMan is started and a configuration file is given (via system property) with 
- * initial broker connection data(s), this servlet simply sends connect command(s) to QMan in order
+ * When QMan is started and a configuration file is given 
+ * (via system property) with initial broker connection data(s), 
+ * this servlet simply sends connect command(s) to QMan in order
  * to estabilish the connection(s) to the requested broker(s).
  * 
  * @author Andrea Gazzarini
@@ -48,9 +49,10 @@
     private final static Logger LOGGER = Logger.get(ConnectQManToBroker.class);
 			
 	/**
-	 * Send one or more initial "connect" command(s) to QMan in order to estabilish a connection with broker found on the 
-	 * configuration file..
-	 * Note that this is done only if that configuration file is given (via system property) and It is valid. 
+	 * Send one or more initial "connect" command(s) to QMan in order 
+	 * to estabilish a connection with broker found on the configuration file..
+	 * Note that this is done only if that configuration file is given (via system 
+	 * property) and it is valid. 
 	 */
 	public void init()
 	{
@@ -64,14 +66,16 @@
             {
             	qman.createManagementClient(entry.getKey(), entry.getValue());
             }
-		} else {
+		} else 
+		{
 			LOGGER.info(Messages.QMAN_000022_NO_BROKER_CONFIGURED);
 		}
 	}
 	
 	/**
 	 * This is a startup module only so an override of the default servlet 
-	 * behaviour must be done in order to prevent incoming http requests processing.
+	 * behaviour must be done in order to prevent incoming http 
+	 * requests processing.
 	 * 
 	 * @param request the http request.
 	 * @param response the http response.

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/WSDMAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/WSDMAdapter.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/WSDMAdapter.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/WSDMAdapter.java Wed Feb 11 14:11:41 2009
@@ -100,7 +100,9 @@
 			try {
 				XmlDebugger.debug(soapEnvelopeResposeAsString);
 			} catch(Exception exception) {
-				System.out.println("Unable to parse response.");
+				LOGGER.error(
+						exception,
+						Messages.QMAN_100019_REQ_OR_RES_MALFORMED);
 			}
 		}
 	}

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmu.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmu.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmu.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmu.java Wed Feb 11 14:11:41 2009
@@ -33,8 +33,9 @@
 /**
  * QEmu is basically an instance creator that is installed separately 
  * as part of QMan test cases & examples.
- * Reason for that is to emulate object creation (queues, exchanges, etc...) without having Qpid broker
- * connected and therefore controlling the total number of the instances that are created.
+ * Reason for that is to emulate object creation (queues, exchanges, etc...) 
+ * without having Qpid broker connected and therefore controlling the 
+ * total number of the instances that are created.
  * 
  * @author Andrea Gazzarini
  */
@@ -53,7 +54,10 @@
 	public void unregister(ObjectName objectName) throws Exception 
 	{
 		_mxServer.unregisterMBean(objectName);
-		sendNotification(EntityLifecycleNotification.INSTANCE_REMOVED,objectName);
+		
+		sendNotification(
+				EntityLifecycleNotification.INSTANCE_REMOVED_NOTIFICATION_TYPE,
+				objectName);
 	}
 
 	/**
@@ -67,7 +71,9 @@
 		QpidDomainObjectMBean queue = new QpidDomainObject();
 		_mxServer.registerMBean(queue, objectName);
 		
-		sendNotification(EntityLifecycleNotification.INSTANCE_ADDED,objectName);
+		sendNotification(
+				EntityLifecycleNotification.INSTANCE_ADDED_NOTIFICATION_TYPE,
+				objectName);
 	}
 
 	/**

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmuInitializer.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmuInitializer.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmuInitializer.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/QEmuInitializer.java Wed Feb 11 14:11:41 2009
@@ -33,8 +33,8 @@
 
 /**
  * QPid Emulator Initializer.
- * This component is basically responsible to create and initialize an emulator module used
- * for simulate object instances creation.
+ * This component is basically responsible to create and initialize 
+ * an emulator module used for simulate object instances creation.
  * 
  * @author Andrea Gazzarini
  */
@@ -63,8 +63,9 @@
 	}
 	
 	/**
-	 * This is a startup module only so an override of the default servlet 
-	 * behaviour must be done in order to prevent incoming http requests processing.
+	 * This is a startup module only so an override of the 
+	 * default servlet behaviour must be done in order to 
+	 * prevent incoming http requests processing.
 	 * 
 	 * @param request the http request.
 	 * @param response the http response.

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ArtifactsNotAvailableException.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ArtifactsNotAvailableException.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ArtifactsNotAvailableException.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ArtifactsNotAvailableException.java Wed Feb 11 14:11:41 2009
@@ -41,7 +41,10 @@
 	 * @param cause the exception cause.
 	 * @param objectName the object name of the corresponding JMX entity.
 	 */
-	public ArtifactsNotAvailableException(WsArtifacts artifacts,Throwable cause, ObjectName objectName) 
+	public ArtifactsNotAvailableException(
+			WsArtifacts artifacts,
+			Throwable cause, 
+			ObjectName objectName) 
 	{
 		super(cause);
 		this._artifacts = artifacts;

Added: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ConsumerCapability.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ConsumerCapability.java?rev=743341&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ConsumerCapability.java (added)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/ConsumerCapability.java Wed Feb 11 14:11:41 2009
@@ -0,0 +1,66 @@
+/*
+ *
+ * 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.management.wsdm.capabilities;
+
+import org.apache.muse.core.AbstractCapability;
+import org.apache.muse.ws.addressing.soap.SoapFault;
+import org.apache.muse.ws.notification.NotificationConsumer;
+import org.apache.muse.ws.notification.NotificationMessage;
+import org.apache.muse.ws.notification.NotificationMessageListener;
+import org.apache.muse.ws.notification.WsnConstants;
+
+/**
+ * WS-Notifications consumer capability.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class ConsumerCapability extends AbstractCapability implements NotificationMessageListener
+{
+	/**
+	 * Initializes this capability and register itself as message listener.
+	 * 
+	 * @throws SoapFault when the initialization fails.
+	 */
+    public void initializeCompleted() throws SoapFault
+    {
+        super.initializeCompleted();
+        
+        NotificationConsumer wsn = (NotificationConsumer)getResource().getCapability(WsnConstants.CONSUMER_URI);
+        wsn.addMessageListener(this);
+    }
+    
+    /**
+     * Returns true if this consumer can accepts the message.
+     * 
+     * @return true;
+     */
+    public boolean accepts(NotificationMessage message)
+    {
+        return true;
+    }
+
+    /**
+     * On Message callback.
+     */
+    public void process(NotificationMessage message)
+    {
+    }
+}
\ No newline at end of file

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/IArtifactBuilder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/IArtifactBuilder.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/IArtifactBuilder.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/IArtifactBuilder.java Wed Feb 11 14:11:41 2009
@@ -28,16 +28,16 @@
 
 /**
  * Defines behaviour needed by WS-DM artifact builders.
- * Each concrete implementor must provide its own parser implementation of the given
- * JMX data.
+ * Each concrete implementor must provide its own parser 
+ * implementation of the given JMX data.
  * 
  * @author Andrea Gazzarini
  */
 public interface IArtifactBuilder 
 {	
 	/**
-	 * The build process begin and the given parameter is the object name of the 
-	 * corresponding JMX entity.
+	 * The build process begin and the given parameter is the
+	 * object name of the corresponding JMX entity.
 	 * 
 	 * @throws BuilderException when the initialization fails.
 	 */

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapability.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapability.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapability.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapability.java Wed Feb 11 14:11:41 2009
@@ -40,8 +40,8 @@
 import org.apache.qpid.transport.util.Logger;
 
 /**
- * Abstract capability used for centralize common behaviour of the QMan
- * resource(s) related capabilities.
+ * Abstract capability used for centralize common 
+ * behaviour of the QMan resource(s) related capabilities.
  * 
  * @author Andrea Gazzarini
  */
@@ -83,7 +83,7 @@
 	 * 			be found.
 	 * @throws QManFault in case of internal system failure.
 	 */
-	Object getAttribute(String attributeName) throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault 
+	Object getAttribute(String attributeName) throws NoSuchAttributeFault, EntityInstanceNotFoundFault, QManFault 
 	{
 		try 
 		{
@@ -128,7 +128,7 @@
 	 * @throws QManFault
 	 *             in case of internal system failure.
 	 */
-	void setAttribute(String attributeName, Object value) throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault 
+	void setAttribute(String attributeName, Object value) throws NoSuchAttributeFault, EntityInstanceNotFoundFault, QManFault 
 	{
 		try 
 		{

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java Wed Feb 11 14:11:41 2009
@@ -43,6 +43,15 @@
 import org.apache.qpid.management.wsdm.common.QManFault;
 import org.apache.qpid.transport.util.Logger;
 
+/**
+ * Builder for capability class that will implements the interface 
+ * and the behaviour of the underlying JMX Entity.
+ * The product of this builder (capability class) will be used for create a new instance
+ * of the corresponding capability. It will be the "adapter" between WS-Resource and 
+ * JMX MBean.
+ * 
+ * @author Andrea Gazzarini
+ */
 public class MBeanCapabilityBuilder implements IArtifactBuilder{
 		
 	private final static String GET_PROPERTY_NAMES_METHOD_COMMON_PART = "public QName[] getPropertyNames() { return ";
@@ -51,8 +60,9 @@
 	private final static Logger LOGGER = Logger.get(MBeanCapabilityBuilder.class);
 	
 	/**
-	 * Handler interface definining operation needed to be peformed (by a concrete
-	 * implementor) when the "endAttributes" director callback happens.
+	 * Handler interface definining operation needed to be 
+	 * peformed (by a concrete implementor) when the "endAttributes" 
+	 * director callback happens.
 	 * 
 	 * @author Andrea Gazzarini
 	 */

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java Wed Feb 11 14:11:41 2009
@@ -25,6 +25,7 @@
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.UUID;
 
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanServer;
@@ -41,12 +42,15 @@
 import org.apache.muse.core.serializer.SerializerRegistry;
 import org.apache.muse.ws.addressing.EndpointReference;
 import org.apache.muse.ws.addressing.soap.SoapFault;
+import org.apache.muse.ws.notification.NotificationProducer;
+import org.apache.muse.ws.notification.WsnConstants;
 import org.apache.qpid.management.Messages;
 import org.apache.qpid.management.Names;
 import org.apache.qpid.management.jmx.EntityLifecycleNotification;
 import org.apache.qpid.management.wsdm.common.ThreadSessionManager;
 import org.apache.qpid.management.wsdm.muse.engine.WSDMAdapterEnvironment;
 import org.apache.qpid.management.wsdm.muse.serializer.ByteArraySerializer;
+import org.apache.qpid.management.wsdm.notifications.LifeCycleEvent;
 import org.apache.qpid.transport.util.Logger;
 
 /**
@@ -55,6 +59,7 @@
  * 
  * @author Andrea Gazzarini
 */
+@SuppressWarnings("serial")
 public class QManAdapterCapability extends AbstractCapability
 {	
 	private final static Logger LOGGER = Logger.get(QManAdapterCapability.class);
@@ -64,10 +69,44 @@
 	private URI _resourceURI;
 	
 	/**
+	 * NotificationFilter for "create" only events.
+	 */
+	private final NotificationFilter _filterForNewInstances = new NotificationFilter(){
+
+		/**
+		 * Returns true when the notification is related to a creation of a new instance. 
+		 * 
+		 * @return true when the notification is related to a creation of a new instance.
+		 */
+		public boolean isNotificationEnabled(Notification notification)
+		{
+			return EntityLifecycleNotification.INSTANCE_ADDED_NOTIFICATION_TYPE.equals(notification.getType());
+		}
+		
+	};
+
+	/**
+	 * NotificationFilter for "remove" only events.
+	 */
+	private final NotificationFilter _filterForRemovedInstances = new NotificationFilter(){
+
+		/**
+		 * Returns true when the notification is related to a deletion of an existing instance. 
+		 * 
+		 * @return true when the notification is related to a deletion of an existing instance.
+		 */
+		public boolean isNotificationEnabled(Notification notification)
+		{
+			return EntityLifecycleNotification.INSTANCE_REMOVED_NOTIFICATION_TYPE.equals(notification.getType());
+		}
+		
+	};
+	
+	/**
 	 * This listener handles "create" mbean events and therefore provides procedure to create and initialize
 	 * corresponding ws resources.
 	 */
-	private final NotificationListener listenerForNewInstances = new NotificationListener() 
+	private final NotificationListener _listenerForNewInstances = new NotificationListener() 
 	{
 		/**
 		 * Handles JMX "create" notification type.
@@ -145,7 +184,7 @@
 	 * This listener handles "remove" mbean events and therefore provides procedure to shutdown and remove
 	 * corresponding ws resources.
 	 */
-	private final NotificationListener listenerForRemovedInstances = new NotificationListener() 
+	private final NotificationListener _listenerForRemovedInstances = new NotificationListener() 
 	{
 		/**
 		 * Handles JMX "remove" notification type.
@@ -185,90 +224,107 @@
 		}
 	};	
 			
+	/**
+	 * Initializes this capability.
+	 * 
+	 * @throws SoapFault when the initialization fails..
+	 */
 	@Override
 	public void initialize() throws SoapFault 
 	{
 		super.initialize();
 		
-		// Workaround : it seems that is not possibile to declare a serializer for a byte array using muse descriptor...
-		// What is the stringified name of the class? byte[].getClass().getName() is [B but is not working (ClassNotFound).
-		// So, at the end, this is hard-coded here!
-		SerializerRegistry.getInstance().registerSerializer(byte[].class, new ByteArraySerializer());
-		WSDMAdapterEnvironment environment = (WSDMAdapterEnvironment) getEnvironment();
-		String resourceURI = environment.getDefaultURIPrefix()+Names.QMAN_RESOURCE_NAME;
-		try 
-		{
-			_resourceURI = URI.create(resourceURI);
-			
-			_mxServer = ManagementFactory.getPlatformMBeanServer();
-			_artifactsFactory = new WsArtifactsFactory(getEnvironment(),_mxServer);
-			
-			/**
-			 * NotificationFilter for "create" only events.
-			 */
-			NotificationFilter filterForNewInstances = new NotificationFilter(){
-
-				private static final long serialVersionUID = 1733325390964454595L;
+		registerByteArraySerializer();
+		
+		createLifeCycleTopics();
+		
+		createQManResourceURI();
 
-				public boolean isNotificationEnabled(Notification notification)
+		_mxServer = ManagementFactory.getPlatformMBeanServer();
+		_artifactsFactory = new WsArtifactsFactory(getEnvironment(),_mxServer);
+		
+		registerQManLifecycleListeners();	
+		
+		new Thread()
+		{
+			@Override
+			public void run()
+			{
+				while (true)
 				{
-					return EntityLifecycleNotification.INSTANCE_ADDED.equals(notification.getType());
-				}
-				
-			};
-
-			/**
-			 * NotificationFilter for "remove" only events.
-			 */
-			NotificationFilter filterForRemovedInstances = new NotificationFilter(){
-
-				private static final long serialVersionUID = 1733325390964454595L;
+					try
+					{
+						final NotificationProducer publisher = (NotificationProducer) getResource().getCapability(WsnConstants.PRODUCER_URI);			
+						
+						publisher.publish(
+								Names.OBJECTS_LIFECYLE_TOPIC_NAME, 
+								LifeCycleEvent.newCreateEvent(
+										UUID.randomUUID().toString(), 
+										"org.apache.qpid.broker",
+										"connection"));
+					} catch (SoapFault e)
+					{
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+					try
+					{
+						Thread.sleep(10000);
+					} catch (InterruptedException e)
+					{
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				} 
+			}
+		}.start();
+	}
 
-				public boolean isNotificationEnabled(Notification notification)
-				{
-					return EntityLifecycleNotification.INSTANCE_REMOVED.equals(notification.getType());
-				}
-				
-			};
-			
+	/**
+	 * This adapter capability needs to be an event listener of QMan JMX core 
+	 * in order to detect relevant lifecycle events and therefore create WS artifacts & notification(s).
+	 * 
+	 * @throws SoapFault when it's not possible to register event listener : is QMan running?
+	 */
+	@SuppressWarnings("serial")
+	private void registerQManLifecycleListeners() throws SoapFault
+	{
+		try 
+		{			
 			_mxServer.addNotificationListener(
 					Names.QMAN_OBJECT_NAME, 
-					listenerForNewInstances, 
-					filterForNewInstances, 
+					_listenerForNewInstances, 
+					_filterForNewInstances, 
 					null);
 			
 			_mxServer.addNotificationListener(
 					Names.QMAN_OBJECT_NAME, 
-					listenerForRemovedInstances, 
-					filterForRemovedInstances, 
+					_listenerForRemovedInstances, 
+					_filterForRemovedInstances, 
 					null);
 
-			try {
+			try 
+			{
 				_mxServer.addNotificationListener(
 						Names.QPID_EMULATOR_OBJECT_NAME, 
-						listenerForNewInstances, 
-						filterForNewInstances, null);
+						_listenerForNewInstances, 
+						_filterForNewInstances, null);
 
 				_mxServer.addNotificationListener(
 						Names.QPID_EMULATOR_OBJECT_NAME, 
-						listenerForRemovedInstances, 
-						filterForRemovedInstances, null);
+						_listenerForRemovedInstances, 
+						_filterForRemovedInstances, null);
 
-			} catch(IllegalArgumentException exception)
+			} catch (Exception exception) 
 			{
-				LOGGER.info(exception,Messages.QMAN_000029_DEFAULT_URI,resourceURI);				
-			}
-			catch (Exception exception) {
 				LOGGER.info(Messages.QMAN_000028_TEST_MODULE_NOT_FOUND);
 			} 
-			
 		}  catch(InstanceNotFoundException exception) 
 		{
-			// throw new QManNotRunningFault
 			throw new SoapFault(exception);	
 		}
 	}
-			
+
 	/**
 	 * Connects QMan with a broker with the given connection data.
 	 * 
@@ -328,14 +384,91 @@
         {
         	String name = method.getName();
         	
-        	QName requestName = new QName(Names.NAMESPACE_URI,name,Names.PREFIX);
-        	QName returnValueName = new QName(Names.NAMESPACE_URI,name+"Response",Names.PREFIX);
+        	QName requestName = new QName(
+        			Names.NAMESPACE_URI,
+        			name,
+        			Names.PREFIX);
+        	
+        	QName returnValueName = new QName(
+        			Names.NAMESPACE_URI,
+        			name+"Response",
+        			Names.PREFIX);
         	
         	String actionURI = Names.NAMESPACE_URI+"/"+name;
-            MessageHandler handler = new QManMessageHandler(actionURI, requestName, returnValueName);
-            handler.setMethod(method);
+            
+        	MessageHandler handler = new QManMessageHandler(
+            		actionURI, 
+            		requestName, 
+            		returnValueName);
+            
+        	handler.setMethod(method);
             handlers.add(handler);
         }
         return handlers;	
-    }  
+    }
+	
+	/**
+	 * Creates events & objects lifecycle topic that will be used to publish lifecycle event
+	 * messages..
+	 */
+	private void createLifeCycleTopics() 
+	{
+		try 
+		{
+			final NotificationProducer publisherCapability = (NotificationProducer) getResource()
+					.getCapability(WsnConstants.PRODUCER_URI);
+			
+			publisherCapability.addTopic(Names.EVENTS_LIFECYLE_TOPIC_NAME);
+			LOGGER.info(
+					Messages.QMAN_000032_EVENTS_LIFECYCLE_TOPIC_HAS_BEEN_CREATED, 
+					Names.OBJECTS_LIFECYLE_TOPIC_NAME);
+			
+			publisherCapability.addTopic(Names.OBJECTS_LIFECYLE_TOPIC_NAME);		
+			LOGGER.info(
+					Messages.QMAN_000033_OBJECTS_LIFECYCLE_TOPIC_HAS_BEEN_CREATED, 
+					Names.OBJECTS_LIFECYLE_TOPIC_NAME);
+		} catch(Exception exception) 
+		{
+			LOGGER.error(exception, Messages.QMAN_100036_TOPIC_DECLARATION_FAILURE);
+		}
+	}
+
+	/** 
+	 * Workaround : it seems that is not possibile to declare a serializer 
+	 * for a byte array using muse descriptor...
+	*	What is the stringified name of the class? 
+	*	byte[].getClass().getName() is [B but is not working (ClassNotFound).
+	* 	So, at the end, this is hard-coded here!
+	*/
+	private void registerByteArraySerializer()
+	{
+		SerializerRegistry.getInstance().registerSerializer(
+				byte[].class, 
+				new ByteArraySerializer());		
+	}
+	
+	/**
+	 * Creates the URI that will be later used to identify a QMan WS-Resource.
+	 * Note that the resources that will be created are identified also with their resource id.
+	 * Briefly we could say that this is the soap:address of the WS-Resource definition.
+	 * 
+	 * @throws SoapFault when the URI cannot be built (probably it is malformed).
+	 */
+	private void createQManResourceURI() throws SoapFault
+	{
+		WSDMAdapterEnvironment environment = (WSDMAdapterEnvironment) getEnvironment();
+		String resourceURI = environment.getDefaultURIPrefix()+Names.QMAN_RESOURCE_NAME;
+		try 
+		{
+			_resourceURI = URI.create(resourceURI);
+			
+		} catch(IllegalArgumentException exception)
+		{
+			LOGGER.info(
+					exception,
+					Messages.QMAN_100029_MALFORMED_RESOURCE_URI_FAILURE,
+					resourceURI);			
+			throw new SoapFault(exception);
+		}
+	}	
 }
\ No newline at end of file

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java Wed Feb 11 14:11:41 2009
@@ -33,7 +33,7 @@
 import org.w3c.dom.Element;
 
 /**
- * A custom implementation of Muse message handler to properly deal with 
+ * JMXConnectionListener_example custom implementation of Muse message handler to properly deal with 
  * byte arrays.
  * 
  * @author Andrea Gazzarini

Added: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/common/QManResourceIdFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/common/QManResourceIdFactory.java?rev=743341&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/common/QManResourceIdFactory.java (added)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/common/QManResourceIdFactory.java Wed Feb 11 14:11:41 2009
@@ -0,0 +1,57 @@
+/*
+ *
+ * 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.management.wsdm.common;
+
+import java.util.UUID;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.core.routing.ResourceIdFactory;
+import org.apache.qpid.management.Names;
+
+/**
+ * A simple implementation of resource id factory that uses a UUID as resource
+ * identifier.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class QManResourceIdFactory implements ResourceIdFactory
+{
+	/**
+	 * Returns the identifier name for id element.
+	 * 
+	 * @return the identifier name for id element.
+	 */
+	public QName getIdentifierName()
+	{
+		return Names.RESOURCE_ID_QNAME;
+	}
+
+	/**
+	 * Returns the next valid identifier.
+	 * 
+	 * @return the next valid identifier.
+	 */
+	public String getNextIdentifier()
+	{
+		return UUID.randomUUID().toString();
+	}
+}
\ No newline at end of file

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java Wed Feb 11 14:11:41 2009
@@ -10,6 +10,7 @@
 import org.apache.muse.ws.addressing.EndpointReference;
 import org.apache.qpid.management.Messages;
 import org.apache.qpid.management.Names;
+import org.apache.qpid.management.Protocol;
 import org.apache.qpid.transport.util.Logger;
 
 /**
@@ -67,9 +68,13 @@
     {
         return new StringBuilder()
     		.append("http://")
-    		.append(System.getProperty(Names.ADAPTER_HOST_PROPERTY_NAME,"localhost"))
+    		.append(System.getProperty(
+    				Names.ADAPTER_HOST_PROPERTY_NAME,
+    				Protocol.DEFAULT_QMAN_HOSTNAME))
     		.append(":")
-    		.append(System.getProperty(Names.ADAPTER_PORT_PROPERTY_NAME,"8080"))
+    		.append(System.getProperty(
+    				Names.ADAPTER_PORT_PROPERTY_NAME,
+    				String.valueOf(Protocol.DEFAULT_QMAN_PORT_NUMBER)))
     		.append(_servletContext.getContextPath())
     		.append("/services/")
     		.toString();    	

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java Wed Feb 11 14:11:41 2009
@@ -229,7 +229,6 @@
 	        initializeCapabilities();
 	        	        
 	        _properties.applyMetadata();
-//	        _properties.validateMetadata();
 	        
 	        // Resource intialization completed : Let's make a state change.
 	        _currentState = _hasBeenInitialized;

Added: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEvent.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEvent.java?rev=743341&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEvent.java (added)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEvent.java Wed Feb 11 14:11:41 2009
@@ -0,0 +1,149 @@
+/*
+ *
+ * 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.management.wsdm.notifications;
+
+import org.apache.muse.util.xml.XmlSerializable;
+import org.apache.muse.util.xml.XmlUtils;
+import org.apache.qpid.management.Names;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * Object representation of a QMan entity lifecycle event notification.
+ * Note that with entity we mean both object(s) and event(s). 
+ * 
+ * At the moment there are only two types of lifecycle events : CREATE and REMOVE.
+ * The first one if fired when a new instance (event or object) is created, while the second
+ * one is fired when an object instance (events are transient objects so they are not destroyed) 
+ * is removed.
+ * 
+ * Developer Note : The marshal & unmarshal ops could be handled using JAXB but
+ * we are not sure about the running environment (JAXB libs were included only 
+ * starting from 1.6)
+ * 
+ * This is the event XML representation :
+ * 
+ * <LifecycleEvent Type="created" timemillis="">
+		<Resource>
+			<ResourceId>16038bd5-b62b-4e86-9833-7560ed57b474</id>
+			<Package>org.qpid.apache.broker</package>
+			<Name>session</name>
+		</Resource>
+	</lifecycle-event>
+	
+ * @author Andrea Gazzarini
+ */
+public class LifeCycleEvent implements XmlSerializable
+{	
+	private final String _resourceId;
+	private final String _packageName;
+	private final String _name;
+	
+	private final LifeCycleEventType _type;
+	
+	/**
+	 * Builds a new event with the given data.
+	 * 
+	 * @param resourceId resource identifier.
+	 * @param packageName resource package name.
+	 * @param name resource name.
+	 * @param type event type.
+	 */
+	private LifeCycleEvent(String resourceId, String packageName, String name, LifeCycleEventType type)
+	{
+		this._resourceId = resourceId;
+		this._packageName = packageName;
+		this._name = name;
+		this._type = type;
+	}
+
+	/**
+	 * Factory method for a new "CREATE" event. 
+	 * Builds a new "CREATE" event with the given data.
+	 * 
+	 * @param resourceId resource identifier.
+	 * @param packageName resource package name.
+	 * @param name resource name.
+	 */
+	public static LifeCycleEvent newCreateEvent(String resourceId, String packageName, String name)
+	{
+		return new LifeCycleEvent(resourceId, packageName, name, LifeCycleEventType.CREATED);
+	}
+
+	/**
+	 * Factory method for a new "REMOVE" event. 
+	 * Builds a new "REMOVE" event with the given data.
+	 * 
+	 * @param resourceId resource identifier.
+	 * @param packageName resource package name.
+	 * @param name resource name.
+	 */
+	public static LifeCycleEvent newRemoveEvent(String resourceId, String packageName, String name)
+	{
+		return new LifeCycleEvent(resourceId, packageName, name, LifeCycleEventType.REMOVED);
+	}
+
+	/**
+	 * Returns an XML representation of this event.
+	 * 
+	 * @return an XML representation of this event.
+	 */
+	public Element toXML()
+	{
+		return toXML(XmlUtils.EMPTY_DOC);
+	}
+
+	/**
+	 * Returns an XML representation of this event using the given 
+	 * input document as owner.
+	 * 
+	 * @return an XML representation of this event.
+	 */
+	public Element toXML(Document factory)
+	{
+		Element lifeCycleEvent = XmlUtils.createElement(factory, Names.LIFECYCLE_EVENT_QNAME);
+		
+		lifeCycleEvent.setAttribute(
+				"Type", 
+				_type.toString());
+		
+		lifeCycleEvent.setAttribute(
+				Names.TIMEMILLIS_ATTRIBUTE_NAME, 
+				String.valueOf(System.currentTimeMillis()));
+
+		Element resource = XmlUtils.createElement(factory, Names.RESOURCE_QNAME);
+		lifeCycleEvent.appendChild(resource);
+		
+		Element id = XmlUtils.createElement(factory, Names.RES_ID_QNAME);
+		id.setTextContent(_resourceId);
+		resource.appendChild(id);
+		
+		Element packageName = XmlUtils.createElement(factory, Names.PACKAGE_NAME_QNAME);
+		packageName.setTextContent(_packageName);
+		resource.appendChild(packageName);
+		
+		Element name = XmlUtils.createElement(factory, Names.ENTITY_NAME_QNAME);
+		name.setTextContent(_name);
+		resource.appendChild(name);
+		
+		return lifeCycleEvent;
+	}
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEventType.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEventType.java?rev=743341&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEventType.java (added)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/notifications/LifeCycleEventType.java Wed Feb 11 14:11:41 2009
@@ -0,0 +1,34 @@
+/*
+ *
+ * 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.management.wsdm.notifications;
+
+/**
+ * Event type enumeration.
+ * Event type are used as part of event WS-Notifications in order to inform
+ * the interested listeners about the lifecycle of a QMan managed entity (object or event instance).
+ * 
+ * @author Andrea Gazzarini
+ */
+public enum LifeCycleEventType
+{
+	CREATED,
+	REMOVED;
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/main/java/router-entries/consumer/resource-instance-1.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/router-entries/consumer/resource-instance-1.xml?rev=743341&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/router-entries/consumer/resource-instance-1.xml (added)
+++ qpid/trunk/qpid/java/management/client/src/main/java/router-entries/consumer/resource-instance-1.xml Wed Feb 11 14:11:41 2009
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsa:ReferenceParameters xmlns:wsa="http://www.w3.org/2005/08/addressing"/>
\ No newline at end of file

Modified: qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.rmd
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.rmd?rev=743341&r1=743340&r2=743341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.rmd (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.rmd Wed Feb 11 14:11:41 2009
@@ -3,8 +3,15 @@
 	<MetadataDescriptor
 		xmlns:wsrf-sg="http://docs.oasis-open.org/wsrf/sg-2"
 		xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"
+		xmlns:wsrl="http://docs.oasis-open.org/wsrf/rl-2" 	
+		xmlns:myns="http://ws.apache.org/muse/test/wsrf" 
+	    xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" 
+	    xmlns:wst="http://docs.oasis-open.org/wsn/t-1" 
+	    xmlns:muws1="http://docs.oasis-open.org/wsdm/muws1-2.xsd" 
+	    xmlns:muws2="http://docs.oasis-open.org/wsdm/muws2-2.xsd"
 		xmlns:qman="http://amqp.apache.org/qpid/management/qman"
-		name="ServiceGroupMetadata" interface="wsrf-sg:ServiceGroupRP"
+		name="WsDmAdapterMetadata"
+		interface="qman:QManAdapterPortType"
 		wsdlLocation="http://amqp.apache.org/qpid/management/qman QManAdapter.wsdl">
 		<Property name="wsrf-sg:MembershipContentRule" modifiability="read-only" mutability="mutable">
 			<StaticValues>
@@ -13,5 +20,33 @@
 		</Property>
 		<Property name="wsrf-sg:Entry" modifiability="read-only" mutability="mutable" />
 		<Property name="wsrf-rp:QueryExpressionDialect" modifiability="read-only" mutability="constant" />
+
+<!--
+		<Property name="wsrl:CurrentTime" modifiability="read-only" mutability="mutable" />
+		
+		<Property name="wsrl:TerminationTime" modifiability="read-only" mutability="mutable" />
+-->		
+		<Property name="wsnt:FixedTopicSet" modifiability="read-only" mutability="constant" />
+		
+		<Property name="wst:TopicSet" modifiability="read-only" mutability="mutable" />
+		
+		<Property name="wsnt:TopicExpression" modifiability="read-only" mutability="mutable" />
+		
+		<Property name="wsnt:TopicExpressionDialect" modifiability="read-only" mutability="mutable" />
+<!--		
+		<Property name="muws1:ResourceId" modifiability="read-only" mutability="constant" />
+		
+		<Property name="muws1:ManageabilityCapability" modifiability="read-only" mutability="constant" />
+		
+		<Property name="muws2:Caption" modifiability="read-only" mutability="mutable" />
+		
+		<Property name="muws2:Description" modifiability="read-only" mutability="mutable" />
+		
+		<Property name="muws2:Version" modifiability="read-only" mutability="constant" />
+		
+		<Property name="myns:ServerName" modifiability="read-only" mutability="constant"/>
+		
+		<Property name="myns:MessageInterval" modifiability="read-write" mutability="mutable"/>
+-->		
 	</MetadataDescriptor>
 </Definitions>



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org


Mime
View raw message