You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ag...@apache.org on 2009/01/27 11:11:11 UTC

svn commit: r738045 [6/6] - in /qpid/trunk/qpid/java/management/client: ./ etc/ src/example/ src/example/org/ src/example/org/apache/ src/example/org/apache/qpid/ src/example/org/apache/qpid/management/ src/example/org/apache/qpid/management/example/ s...

Added: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/AbstractQManExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/AbstractQManExample.java?rev=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/AbstractQManExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/AbstractQManExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,140 @@
+/*
+ *
+ * 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.example;
+
+import java.io.IOException;
+import java.net.URI;
+
+import org.apache.muse.ws.addressing.EndpointReference;
+
+/**
+ * Common interface for all QMan related examples.
+ * 
+ * @author Andrea Gazzarini
+ */
+public abstract class AbstractQManExample
+{
+	private final static String LINE_SEPARATOR = System.getProperty("line.separator","\n");
+	protected final static String PREFIX = "qman";
+
+	/**
+	 * Prints out the expected command line of this sample and after that exits.
+	 */
+	static void printUsageAndExit(String reason)
+	{
+		StringBuilder builder = new StringBuilder();
+		builder.append("WARNING! Unable to run this sample : ")
+			.append(reason)
+			.append(LINE_SEPARATOR)
+			.append("-------------------------------------------------------------")
+			.append(LINE_SEPARATOR)			
+			.append("Expected command line args for this sample are :")
+			.append(LINE_SEPARATOR)
+			.append(LINE_SEPARATOR)
+			.append("1) host : ip or host name where QMan is running.")
+			.append(LINE_SEPARATOR)
+			.append("2) port : port number where QMan is running.")
+			.append(LINE_SEPARATOR)
+			.append("------------------------------------------------------------");
+		System.out.println(builder);
+		System.exit(1);
+	}
+
+	/**
+	 * Prints out a description of this example.
+	 */
+	abstract void printOutExampleDescription();
+
+	/**
+	 * Executes this example.
+	 * Note that this is just a template method used to avoid code duplication 
+	 * (printOutExampleDescription() line) so in order to see how the example 
+	 * works you should have a look at the concrete implementation of 
+	 * executeExample(String host, int port).
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 */
+	void execute(String [] arguments)
+	{
+		if (arguments.length != 2){
+			printUsageAndExit("invalid command line was given.");
+		}
+
+		try 
+		{
+			// 1) Parses command line arguments...
+			String host = arguments[0];
+			int port = Integer.parseInt(arguments[1]);
+			
+			printOutExampleDescription();
+			
+			waitForUserInput("Type enter to proceed...");
+			
+			executeExample(host, port);
+			
+		} catch(NumberFormatException exception)
+		{
+			printUsageAndExit("port number must be a number.");
+		} catch(Exception exception)
+		{
+			System.out.println("-----------------------EXAMPLE FAILURE-----------");
+			System.out.println("Not well-defined exception was detected while");
+			System.out.println("running the example.");
+			exception.printStackTrace(System.out);
+			System.out.println("--------------------------------------------------------");						
+		}
+	}		
+	
+	private void waitForUserInput(String message) throws IOException {
+		System.out.println(message);
+		System.in.read();
+	}
+	
+	/**
+	 * Each concrete implementor must define here how the example works.
+	 * So, on top of that, user who wants to see how to use a specific feature 
+	 * should have a look at the concrete implementation of this method..
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	abstract void executeExample(String host, int port) throws Exception;
+	
+	/**
+	 * Returns the endpoint reference of the adapter service.
+	 * 
+	 * @param host ip or host name where the service is running.
+	 * @param port the port number of the server where the service is running.
+	 * @return the endpoint reference of the adapter service.
+	 */
+	EndpointReference getAdapterEndpointReference(String host, int port)
+	{
+		URI address = URI.create(
+				"http://"+
+				host+
+				":"+
+				port+
+				"/qman/services/adapter");
+		return new EndpointReference(address);		
+	}	
+}
\ No newline at end of file

Added: 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=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetMultipleResourcePropertiesExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetMultipleResourcePropertiesExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,189 @@
+/*
+ *
+ * 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.example;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.core.proxy.ProxyHandler;
+import org.apache.muse.core.proxy.ReflectionProxyHandler;
+import org.apache.muse.util.xml.XmlUtils;
+import org.apache.muse.ws.addressing.EndpointReference;
+import org.apache.muse.ws.resource.remote.WsResourceClient;
+import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
+import org.w3c.dom.Element;
+
+/**
+ * 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.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class GetMultipleResourcePropertiesExample extends AbstractQManExample
+{
+
+	/**
+	 * 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.
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	void executeExample(String host, int port) throws Exception
+	{		
+	
+		// 1) Creates an endpoint reference of the adapter service...
+		EndpointReference adapterEndpointReference = getAdapterEndpointReference(host, port);
+		
+		// 2) Creates the Adapter service client...
+		ServiceGroupClient adapterClient = new ServiceGroupClient(adapterEndpointReference);
+		adapterClient.setTrace(true);
+		
+		// 3) Retrieves the all registered members (QMan WS-Resources)
+		WsResourceClient [] resources = adapterClient.getMembers();
+
+		// Sanity check : we cannot proceed if there are no WS-Resources.
+		if (resources.length == 0)
+		{
+			System.out.println("----------------------------WARNING---------------------------");
+			System.out.println("Cannot proceed with the example... it seems");
+			System.out.println("that there are no managed WS-Resources on QMan.");
+			System.out.println("Please check QMan in order to see that it is really");
+			System.out.println("connected with a broker.");
+			System.out.println("-------------------------------------------------------------------");
+			System.exit(0);
+		} 
+		
+		// 4) Creates a proxy handler for service invocation.
+		ProxyHandler metadataProxyHandler = createProxyHandler();
+		
+		// 5) ..and invokes the GetMetadata on the first member.
+		WsResourceClient wsResourceClient = resources[0];
+		wsResourceClient.setTrace(true);
+		
+		// Dialect is RDM for this example
+		String dialect = "http://docs.oasis-open.org/wsrf/rmd-1";
+		Object [] inputParameters = {dialect};
+		
+		// RDM is the first element of the returned array. 
+		// The first element is a wsx:Metadata containing all resource properties. 
+		Element [] metadata = (Element[]) wsResourceClient.invoke(metadataProxyHandler, inputParameters);
+		Element resourceMetadataDescriptor	 = metadata[0];
+		
+		// 6) using XPath navigates xml in order to get the list of all properties.
+		Element [] properties = XmlUtils.findInSubTree(
+				resourceMetadataDescriptor, 
+				new QName("http://docs.oasis-open.org/wsrf/rmd-1","Property","wsrmd"));
+		List<QName> names = new ArrayList<QName>();
+		
+		for (Element property : properties)
+		{
+			
+			String attributeName = property.getAttribute("name"); // = qman:<Attribute Name>
+			
+			// For this example we are only interested on qman namespace related properties...
+			if (attributeName.startsWith("qman"))
+			{
+				String attributeNameWithoutPrefix = attributeName.replaceFirst("qman:", ""); //  = <Attribute Name>
+			
+				names.add(new QName(
+								"http://amqp.apache.org/qpid/management/qman",
+								attributeNameWithoutPrefix,
+								"qman"));	
+			}
+		}
+		
+		QName [] qnames = names.toArray(new QName[names.size()]);
+		
+		// 7) Send a GetMultipleResourcePropertiesRequest.
+		// We do nothing with the returned value(s) because it / they 
+		// has / have already printed out (wsResourceClient.setTrace(true))
+		@SuppressWarnings("unused")
+		Element [] values = wsResourceClient.getMultipleResourceProperties(qnames);
+	}
+	
+	/**
+	 * 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();
+		System.out.println("This example shows how to get properties from a");
+		System.out.println("WS-Resource using one request. ");
+		System.out.println("First of all a request is send to WS-DM in order to get");
+		System.out.println("all registered WS-Resources.");
+		System.out.println("If the returned list is not empty then a GetMetadataRequest");
+		System.out.println("to the first child.");
+		System.out.println("The result metadata descriptor contains all property names of"); 
+		System.out.println("the target WS-Resource.");
+		System.out.println("Those names are then used for retrieving the corresponding values");
+		System.out.println("using the GetMultipleResourceProperties request.");
+		System.out.println();
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+	}
+
+	/**
+	 * A proxy handler is a module needed in order to make a capability 
+	 * service invocation.
+	 * It contains logic to serialize and deserialize request, response, input and 
+	 * output parameters during a web service invocation.
+	 * 
+	 * @return a proxy handler.
+	 */
+	private ProxyHandler createProxyHandler()
+	{
+        ProxyHandler handler = new ReflectionProxyHandler();
+        handler.setAction("http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata");
+        handler.setRequestName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "GetMetadata", PREFIX));
+        handler.setRequestParameterNames(new QName[]{new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Dialect", PREFIX)});
+        handler.setResponseName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Metadata", PREFIX));
+        handler.setReturnType(Element[].class);
+        return handler;
+	}
+	
+	public static void main(String[] arguments)
+	{
+		new GetMultipleResourcePropertiesExample().execute(arguments);
+	}
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetQManResourceMembersExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetQManResourceMembersExample.java?rev=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetQManResourceMembersExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetQManResourceMembersExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,93 @@
+/*
+ *
+ * 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.example;
+
+import org.apache.muse.ws.addressing.EndpointReference;
+import org.apache.muse.ws.resource.remote.WsResourceClient;
+import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
+
+/**
+ * An example demonstrating the usage of GetResourcePropertyRequest/Response on 
+ * the WS-DM Adapter.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class GetQManResourceMembersExample extends AbstractQManExample
+{
+	/**
+	 * Looks for memebers of QMan group requesting ws-rp:Entry property to 
+	 * WS-DM Adapter resource service.
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	void executeExample(String host, int port) throws Exception
+	{		
+		// 1) Creates an endpoint reference of the adapter service...
+		EndpointReference serviceEndpointReference = getAdapterEndpointReference(host, port);
+		
+		// 2) Creates the Service client...
+		ServiceGroupClient adapterClient = new ServiceGroupClient(serviceEndpointReference);
+		adapterClient.setTrace(true);
+		
+		// 3) Invokes the service.
+		WsResourceClient [] resources = adapterClient.getMembers();
+	
+		String result = (resources.length != 0) 
+			? ("QMan has at the moment "+resources.length+" registered resources.")
+			: "It seems that there are no managed resource on QMan side...";
+		
+		System.out.println("--------------------------------------------------------------------------");
+		System.out.println(result);
+		System.out.println("--------------------------------------------------------------------------");
+	}
+	
+	/**
+	 * Prints out a description of this example.
+	 */
+	void printOutExampleDescription()
+	{
+		System.out.println("      "+getClass().getSimpleName()+" ");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+		System.out.println("This example shows the usage of WS-DM ");
+		System.out.println("GetResourcePropertyRequest / Response on a ");
+		System.out.println("Group service.");
+		System.out.println("The target resource is the WS-DM Adapter itself ");
+		System.out.println("and the requested property is \"wsrf-sg:Entry\".");				
+		System.out.println("WS-DM Adapter is a special WS-Resource (is a Group)");
+		System.out.println("that  acts as the main entry point for retrieving");
+		System.out.println("all other managed resources.");				
+		System.out.println("So clients that want to deal with QMan WS-Resources");
+		System.out.println("must first get resource identifiers sending");				
+		System.out.println("a GetResourcePropertyRequest to WS-DM Adapter ");				
+		System.out.println("with \"wsrf-sg:Entry\" as target target property.");		
+		System.out.println();
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+	}
+	
+	public static void main(String[] arguments)
+	{
+		new GetQManResourceMembersExample().execute(arguments);
+	}
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourceMetadataDescriptorExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourceMetadataDescriptorExample.java?rev=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourceMetadataDescriptorExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourceMetadataDescriptorExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,156 @@
+/*
+ *
+ * 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.example;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.core.proxy.ProxyHandler;
+import org.apache.muse.core.proxy.ReflectionProxyHandler;
+import org.apache.muse.ws.addressing.EndpointReference;
+import org.apache.muse.ws.resource.remote.WsResourceClient;
+import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
+import org.w3c.dom.Element;
+
+/**
+ * This example shows how to get metadata from a WS-Resource.
+ * The service supports different kinds of metadata. 
+ * User who wants to receive metadata of a WS-Resource must 
+ * send a GetMetadataRequesta specifying the requested dialect. 
+ *  
+ * Supported metadata that could be requested are 
+ * 
+ * <ul>
+ * 	<li>
+ * 		WSDL : requested using "http://schemas.xmlsoap.org/wsdl/" as dialect..
+ * 	<li>
+ * 	<li>
+ * 		RDM (Resource Metadata Descriptor) : requested using "http://docs.oasis-open.org/wsrf/rmd-1 "as dialect.
+ * 	</li>
+ * </ul>
+ * 
+ * Note that this example focuses on RDM Metadata only; another example is dedicated to WSDL.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class GetResourceMetadataDescriptorExample extends AbstractQManExample
+{
+
+	/**
+	 * First, sends a request to WS-DM Adapter in order to get the list of managed resources.
+	 * If the list is not empty, then takes the first member and sends it a GetMetadataRequest 
+	 * in order to get its RDM.
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	void executeExample(String host, int port) throws Exception
+	{		
+	
+		// 1) Creates an endpoint reference of the adapter service...
+		EndpointReference adapterEndpointReference = getAdapterEndpointReference(host, port);
+		
+		// 2) Creates the Adapter service client...
+		ServiceGroupClient adapterClient = new ServiceGroupClient(adapterEndpointReference);
+		adapterClient.setTrace(true);
+		
+		// 3) Retrieves the all registered members (QMan WS-Resources)
+		WsResourceClient [] resources = adapterClient.getMembers();
+
+		// Sanity check : we cannot proceed if there are no WS-Resources.
+		if (resources.length == 0)
+		{
+			System.out.println("----------------------------WARNING---------------------------");
+			System.out.println("Cannot proceed with the example... it seems");
+			System.out.println("that there are no managed WS-Resources on QMan.");
+			System.out.println("Please check QMan in order to see that it is really");
+			System.out.println("connected with a broker.");
+			System.out.println("-------------------------------------------------------------------");
+			System.exit(0);
+		} 
+		
+		// 4) Creates a proxy handler for service invocation.
+		ProxyHandler metadataProxyHandler = createProxyHandler();
+		
+		// 5) ..and invokes the GetMetadata on the first member.
+		WsResourceClient firstMember = resources[0];
+		firstMember.setTrace(true);
+		
+		// Dialect is RDM for this example
+		String dialect = "http://docs.oasis-open.org/wsrf/rmd-1";
+		Object [] inputParameters = {dialect};
+		
+		// WSDL is the first element of the returned array. We don't need to print out it here
+		// because at this point it should have been already printed out (line 96 : firstMember.setTrace(true))
+		@SuppressWarnings("unused")
+		Element [] metadata = (Element[]) firstMember.invoke(metadataProxyHandler, inputParameters);
+	}
+	
+	/**
+	 * Prints out a description of this example.
+	 */
+	void printOutExampleDescription()
+	{
+		System.out.println("                 "+getClass().getSimpleName()+" ");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+		 System.out.println("The example shows how to get metadata from a");
+		 System.out.println("WS-Resource.");
+		 System.out.println("A QMan WS-Resource has different kinds of metadata.");
+		 System.out.println("(see below)");
+		 System.out.println("User who wants to receive metadata of a WS-Resource");
+		 System.out.println("must send a GetMetadataRequesta specifying the");
+		 System.out.println("associated dialect."); 
+		 System.out.println("Supported metadata that could be requested are : ");
+		 System.out.println();
+		 System.out.println("- WSDL : in this case dialect is \"http://schemas.xmlsoap.org/wsdl/\";");
+		 System.out.println("- RDM (Resource Metadata Descriptor) : in this case dialect is \"http://docs.oasis-open.org/wsrf/rmd-1 \".");
+		System.out.println();
+		System.out.println("Note that this examples focuses on RDM Metadata only;");
+		System.out.println("another one is dedicated to WSDL.");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+	}
+
+	/**
+	 * A proxy handler is a module needed in order to make a capability 
+	 * service invocation.
+	 * It contains logic to serialize and deserialize request, response, input and 
+	 * output parameters during a web service invocation.
+	 * 
+	 * @return a proxy handler.
+	 */
+	private ProxyHandler createProxyHandler()
+	{
+        ProxyHandler handler = new ReflectionProxyHandler();
+        handler.setAction("http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata");
+        handler.setRequestName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "GetMetadata", PREFIX));
+        handler.setRequestParameterNames(new QName[]{new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Dialect", PREFIX)});
+        handler.setResponseName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Metadata", PREFIX));
+        handler.setReturnType(Element[].class);
+        return handler;
+	}
+	
+	public static void main(String[] arguments)
+	{
+		new GetResourceMetadataDescriptorExample().execute(arguments);
+	}
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyDocumentExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyDocumentExample.java?rev=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyDocumentExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyDocumentExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,112 @@
+/*
+ *
+ * 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.example;
+
+import org.apache.muse.ws.addressing.EndpointReference;
+import org.apache.muse.ws.resource.remote.WsResourceClient;
+import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
+import org.w3c.dom.Element;
+
+/**
+ * This example shows how to get the whole property document from a WS-Resource.
+ * Resource property document represents a particular composed structural view of 
+ * the resource properties of the WS-Resource.
+ * Let's say that It is a way to get all-in-once the state of the WS-Resource.
+ * 
+ * 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 GetResourcePropertyDocumentRequest is 
+ * sent to the first child.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class GetResourcePropertyDocumentExample extends AbstractQManExample
+{
+
+	/**
+	 * 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 GetResourcePropertyDocumentRequest is 
+	 * sent to the first child.
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	void executeExample(String host, int port) throws Exception
+	{		
+	
+		// 1) Creates an endpoint reference of the adapter service...
+		EndpointReference adapterEndpointReference = getAdapterEndpointReference(host, port);
+		
+		// 2) Creates the Adapter service client...
+		ServiceGroupClient adapterClient = new ServiceGroupClient(adapterEndpointReference);
+		adapterClient.setTrace(true);
+		
+		// 3) Retrieves the all registered members (QMan WS-Resources)
+		WsResourceClient [] resources = adapterClient.getMembers();
+
+		// Sanity check : we cannot proceed if there are no WS-Resources.
+		if (resources.length == 0)
+		{
+			System.out.println("----------------------------WARNING---------------------------");
+			System.out.println("Cannot proceed with the example... it seems");
+			System.out.println("that there are no managed WS-Resources on QMan.");
+			System.out.println("Please check QMan in order to see that it is really");
+			System.out.println("connected with a broker.");
+			System.out.println("-------------------------------------------------------------------");
+			System.exit(0);
+		} 
+		
+		// 4) ..and invokes the GetMetadata on the first member.
+		WsResourceClient wsResourceClient = resources[0];
+		wsResourceClient.setTrace(true);
+		
+		@SuppressWarnings("unused")
+		Element resourcePropertyDocument = wsResourceClient.getResourcePropertyDocument();
+
+	}
+	/**
+	 * Prints out a description of this example.
+	 */
+	void printOutExampleDescription()
+	{			
+		System.out.println("                 "+getClass().getSimpleName()+" ");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+		System.out.println("This example shows how to get the whole property");
+		System.out.println("document from a WS-Resource.");
+		System.out.println("Resource property document represents a particular ");
+		System.out.println("composed structural view of the resource properties");
+		System.out.println("of the WS-Resource.");
+		System.out.println("First of all a request is send to WS-DM in order to get");
+		System.out.println("all registered WS-Resources."); 
+		System.out.println("the target WS-Resource.");
+		System.out.println("If the returned list is not empty then a");
+		System.out.println("GetResourcePropertyDocumentRequest is sent to the first child.");
+		System.out.println();
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+	}
+	
+	public static void main(String[] arguments)
+	{
+		new GetResourcePropertyDocumentExample().execute(arguments);
+	}
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyExample.java?rev=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetResourcePropertyExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,172 @@
+/*
+ *
+ * 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.example;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.core.proxy.ProxyHandler;
+import org.apache.muse.core.proxy.ReflectionProxyHandler;
+import org.apache.muse.util.xml.XmlUtils;
+import org.apache.muse.ws.addressing.EndpointReference;
+import org.apache.muse.ws.resource.remote.WsResourceClient;
+import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
+import org.w3c.dom.Element;
+
+/**
+ * This example shows how to get the  property value from a WS-Resource.
+ * 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 of the target WS-Resource.
+ * For each of them a GetResourcePropertyRequest is sent in order to get its value.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class GetResourcePropertyExample extends AbstractQManExample
+{
+
+	/**
+	 * First, sends a request to WS-DM Adapter in order to get the list of managed resources.
+	 * If the list is not empty, then takes the first member and sends it a GetMetadataRequest 
+	 * in order to get its WSDL.
+	 * After that, for each property contained in ResourceMetadataDescriptorm (RDM) a 
+	 * GetResourcePropertyRequest is sent in order to get its value.
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	void executeExample(String host, int port) throws Exception
+	{		
+	
+		// 1) Creates an endpoint reference of the adapter service...
+		EndpointReference adapterEndpointReference = getAdapterEndpointReference(host, port);
+		
+		// 2) Creates the Adapter service client...
+		ServiceGroupClient adapterClient = new ServiceGroupClient(adapterEndpointReference);
+		adapterClient.setTrace(true);
+		
+		// 3) Retrieves the all registered members (QMan WS-Resources)
+		WsResourceClient [] resources = adapterClient.getMembers();
+
+		// Sanity check : we cannot proceed if there are no WS-Resources.
+		if (resources.length == 0)
+		{
+			System.out.println("----------------------------WARNING---------------------------");
+			System.out.println("Cannot proceed with the example... it seems");
+			System.out.println("that there are no managed WS-Resources on QMan.");
+			System.out.println("Please check QMan in order to see that it is really");
+			System.out.println("connected with a broker.");
+			System.out.println("-------------------------------------------------------------------");
+			System.exit(0);
+		} 
+		
+		// 4) Creates a proxy handler for service invocation.
+		ProxyHandler metadataProxyHandler = createProxyHandler();
+		
+		// 5) ..and invokes the GetMetadata on the first member.
+		WsResourceClient wsResourceClient = resources[0];
+		wsResourceClient.setTrace(true);
+		
+		// Dialect is RDM for this example
+		String dialect = "http://docs.oasis-open.org/wsrf/rmd-1";
+		Object [] inputParameters = {dialect};
+		
+		// RDM is the first element of the returned array. 
+		// The first element is a wsx:Metadata containing all resource properties. 
+		Element [] metadata = (Element[]) wsResourceClient.invoke(metadataProxyHandler, inputParameters);
+		Element resourceMetadataDescriptor	 = metadata[0];
+		
+		// 6) using XPath navigates xml in order to get the list of all properties.
+		Element [] properties = XmlUtils.findInSubTree(
+				resourceMetadataDescriptor, 
+				new QName("http://docs.oasis-open.org/wsrf/rmd-1","Property","wsrmd"));
+
+		for (Element property : properties)
+		{
+			
+			String attributeName = property.getAttribute("name"); // = qman:<Attribute Name>
+			
+			// For this example we are only interested on qman namespace related properties...
+			if (attributeName.startsWith("qman"))
+			{
+				String attributeNameWithoutPrefix = attributeName.replaceFirst("qman:", ""); //  = <Attribute Name>
+				
+				// 7) Send a GetResourcePropertyRequest for the given attribute.
+				// We do nothing with the returned value(s) because it / they 
+				// has / have already printed out (wsResourceClient.setTrace(true))
+				@SuppressWarnings("unused")
+				Element [] values = wsResourceClient.getResourceProperty(
+						new QName(
+								"http://amqp.apache.org/qpid/management/qman",
+								attributeNameWithoutPrefix,
+								"qman"));
+			}
+		}
+	}
+	
+	/**
+	 * Prints out a description of this example.
+	 */
+	void printOutExampleDescription()
+	{
+		System.out.println("                 "+getClass().getSimpleName()+" ");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+		System.out.println("This example shows how to get the  property value");
+		System.out.println("from a WS-Resource.");
+		System.out.println("First of all a request is send to WS-DM in order to get");
+		System.out.println("all registered WS-Resources.");
+		System.out.println("If the returned list is not empty then a GetMetadataRequest");
+		System.out.println("to the first child.");
+		System.out.println("The result metadata descriptor contains all properties of"); 
+		System.out.println("the target WS-Resource.");
+		System.out.println("For each of them a GetResourcePropertyRequest is sent");
+		System.out.println(" in order to get its value.");
+		System.out.println();
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+	}
+
+	/**
+	 * A proxy handler is a module needed in order to make a capability 
+	 * service invocation.
+	 * It contains logic to serialize and deserialize request, response, input and 
+	 * output parameters during a web service invocation.
+	 * 
+	 * @return a proxy handler.
+	 */
+	private ProxyHandler createProxyHandler()
+	{
+        ProxyHandler handler = new ReflectionProxyHandler();
+        handler.setAction("http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata");
+        handler.setRequestName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "GetMetadata", PREFIX));
+        handler.setRequestParameterNames(new QName[]{new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Dialect", PREFIX)});
+        handler.setResponseName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Metadata", PREFIX));
+        handler.setReturnType(Element[].class);
+        return handler;
+	}
+	
+	public static void main(String[] arguments)
+	{
+		new GetResourcePropertyExample().execute(arguments);
+	}
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetWSDLMetadataExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetWSDLMetadataExample.java?rev=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetWSDLMetadataExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/GetWSDLMetadataExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,156 @@
+/*
+ *
+ * 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.example;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.core.proxy.ProxyHandler;
+import org.apache.muse.core.proxy.ReflectionProxyHandler;
+import org.apache.muse.ws.addressing.EndpointReference;
+import org.apache.muse.ws.resource.remote.WsResourceClient;
+import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
+import org.w3c.dom.Element;
+
+/**
+ * This example shows how to get metadata from a WS-Resource.
+ * The service supports different kinds of metadata. 
+ * User who wants to receive metadata of a WS-Resource must 
+ * send a GetMetadataRequesta specifying the requested dialect. 
+ *  
+ * Supported metadata that could be requested are
+ * 
+ * <ul>
+ * 	<li>
+ * 		WSDL : requested using "http://schemas.xmlsoap.org/wsdl/" as dialect..
+ * 	<li>
+ * 	<li>
+ * 		RDM (Resource Metadata Descriptor) : requested using "http://docs.oasis-open.org/wsrf/rmd-1 "as dialect.
+ * 	</li>
+ * </ul>
+ * 
+ * Note that this example focuses on WSDL Metadata only; another example is dedicated to RDM.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class GetWSDLMetadataExample extends AbstractQManExample
+{
+
+	/**
+	 * First, sends a request to WS-DM Adapter in order to get the list of managed resources.
+	 * If the list is not empty, then takes the first member and sends it a GetMetadataRequest 
+	 * in order to get its WSDL.
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	void executeExample(String host, int port) throws Exception
+	{		
+	
+		// 1) Creates an endpoint reference of the adapter service...
+		EndpointReference adapterEndpointReference = getAdapterEndpointReference(host, port);
+		
+		// 2) Creates the Adapter service client...
+		ServiceGroupClient adapterClient = new ServiceGroupClient(adapterEndpointReference);
+		adapterClient.setTrace(true);
+		
+		// 3) Retrieves the all registered members (QMan WS-Resources)
+		WsResourceClient [] resources = adapterClient.getMembers();
+
+		// Sanity check : we cannot proceed if there are no WS-Resources.
+		if (resources.length == 0)
+		{
+			System.out.println("----------------------------WARNING---------------------------");
+			System.out.println("Cannot proceed with the example... it seems");
+			System.out.println("that there are no managed WS-Resources on QMan.");
+			System.out.println("Please check QMan in order to see that it is really");
+			System.out.println("connected with a broker.");
+			System.out.println("-------------------------------------------------------------------");
+			System.exit(0);
+		} 
+		
+		// 4) Creates a proxy handler for service invocation.
+		ProxyHandler metadataProxyHandler = createProxyHandler();
+		
+		// 5) ..and invokes the GetMetadata on the first member.
+		WsResourceClient firstMember = resources[0];
+		firstMember.setTrace(true);
+		
+		// Dialect is WSDL for this example
+		String dialect = "http://schemas.xmlsoap.org/wsdl/";
+		Object [] inputParameters = {dialect};
+		
+		// WSDL is the first element of the returned array. We don't need to print out it here
+		// because at this point it should have been already printed out (line 96 : firstMember.setTrace(true))
+		@SuppressWarnings("unused")
+		Element [] metadata = (Element[]) firstMember.invoke(metadataProxyHandler, inputParameters);
+	}
+	
+	/**
+	 * Prints out a description of this example.
+	 */
+	void printOutExampleDescription()
+	{
+		System.out.println("                 "+getClass().getSimpleName()+" ");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+		 System.out.println("The example shows how to get metadata from a");
+		 System.out.println("WS-Resource.");
+		 System.out.println("A QMan WS-Resource has different kinds of metadata.");
+		 System.out.println("(see below)");
+		 System.out.println("User who wants to receive metadata of a WS-Resource");
+		 System.out.println("must send a GetMetadataRequesta specifying the");
+		 System.out.println("associated dialect."); 
+		 System.out.println("Supported metadata that could be requested are : ");
+		 System.out.println();
+		 System.out.println("- WSDL : in this case dialect is \"http://schemas.xmlsoap.org/wsdl/\";");
+		 System.out.println("- RDM (Resource Metadata Descriptor) : in this case dialect is \"http://docs.oasis-open.org/wsrf/rmd-1 \".");
+		System.out.println();
+		System.out.println("Note that this examples focuses on WSDL Metadata only;");
+		System.out.println("another one is dedicated to RDM.");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+	}
+
+	/**
+	 * A proxy handler is a module needed in order to make a capability 
+	 * service invocation.
+	 * It contains logic to serialize and deserialize request, response, input and 
+	 * output parameters during a web service invocation.
+	 * 
+	 * @return a proxy handler.
+	 */
+	private ProxyHandler createProxyHandler()
+	{
+        ProxyHandler handler = new ReflectionProxyHandler();
+        handler.setAction("http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata");
+        handler.setRequestName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "GetMetadata", PREFIX));
+        handler.setRequestParameterNames(new QName[]{new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Dialect", PREFIX)});
+        handler.setResponseName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Metadata", PREFIX));
+        handler.setReturnType(Element[].class);
+        return handler;
+	}
+	
+	public static void main(String[] arguments)
+	{
+		new GetWSDLMetadataExample().execute(arguments);
+	}
+}
\ No newline at end of file

Added: qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/SetResourcePropertyExample.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/SetResourcePropertyExample.java?rev=738045&view=auto
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/SetResourcePropertyExample.java (added)
+++ qpid/trunk/qpid/java/management/client/src/example/org/apache/qpid/management/example/SetResourcePropertyExample.java Tue Jan 27 10:11:10 2009
@@ -0,0 +1,306 @@
+/*
+ *
+ * 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.example;
+
+import java.lang.reflect.Array;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.core.proxy.ProxyHandler;
+import org.apache.muse.core.proxy.ReflectionProxyHandler;
+import org.apache.muse.util.xml.XmlUtils;
+import org.apache.muse.ws.addressing.EndpointReference;
+import org.apache.muse.ws.resource.remote.WsResourceClient;
+import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
+import org.w3c.dom.Element;
+
+/**
+ * This example shows how to change the state of a WS-Resource. That means 
+ * a SetResourcePropertyRequest is sent to that WS-Resource.
+ * 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 two GetMetadataRequests are sent to the
+ * first child (one for WSDL and one for RDM).
+ * The result metadata descriptors are the used to determine : 
+ * 
+ * <br> What are names of WS-Resouce properties
+ * <br> Their modifiability (read-only or read-write)
+ * <br> Their type
+ * 
+ * So a SetResourcePropertyRequest can be sent in order to change the WS-Resource state.
+ * The example is looking for a property that has one of the following datatype :
+ * 
+ * <ul>
+ * 	<li>String</li>
+ * 	<li>Long</li>
+ * 	<li>Integer</li>
+ * 	<li>Short</li>
+ * 	<li>Double</li>
+ * 	<li>Float</li>
+ * </ul>
+ * 
+ * After the update / insert request has been sent, a GetResourcePropertiesRequest is made 
+ * again in order to see if the state has changed correctly.
+ * 
+ * @author Andrea Gazzarini
+ */
+public class SetResourcePropertyExample extends AbstractQManExample
+{
+	/**
+	 * 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 two GetMetadataRequests are sent to the
+	 * first child (one for WSDL and one for RDM).
+	 * The result metadata descriptors are the used to determine : 
+	 * 
+	 * <br> What are names of WS-Resouce properties
+	 * <br> Their modifiability (read-only or read-write)
+	 * <br> Their type
+	 * 
+	 * So a SetResourcePropertyRequest can be sent in order to change the WS-Resource state.
+	 * The example is looking for a property that has one of the following datatype :
+	 * 
+	 * <ul>
+	 * 	<li>String</li>
+	 * 	<li>Long</li>
+	 * 	<li>Integer</li>
+	 * 	<li>Short</li>
+	 * 	<li>Double</li>
+	 * 	<li>Float</li>
+	 * </ul>
+	 * 
+	 * After the update / insert request has been sent, a GetResourcePropertiesRequest is made 
+	 * again in order to see if the state has changed correctly.
+	 * 
+	 * @param host the host where QMan is running.
+	 * @param port the port where QMan is running.
+	 * @throws Exception when the example fails (not at application level).
+	 */
+	void executeExample(String host, int port) throws Exception
+	{		
+		// 1) Creates an endpoint reference of the adapter service...
+		EndpointReference adapterEndpointReference = getAdapterEndpointReference(host, port);
+		
+		// 2) Creates the Adapter service client...
+		ServiceGroupClient adapterClient = new ServiceGroupClient(adapterEndpointReference);
+		adapterClient.setTrace(false);
+		
+		// 3) Retrieves the all registered members (QMan WS-Resources)
+		WsResourceClient [] resources = adapterClient.getMembers();
+
+		// Sanity check : we cannot proceed if there are no WS-Resources.
+		if (resources.length == 0)
+		{
+			System.out.println("----------------------------WARNING---------------------------");
+			System.out.println("Cannot proceed with the example... it seems");
+			System.out.println("that there are no managed WS-Resources on QMan.");
+			System.out.println("Please check QMan in order to see that it is really");
+			System.out.println("connected with a broker.");
+			System.out.println("-------------------------------------------------------------------");
+			System.exit(0);
+		} 
+		
+		// 4) Creates a proxy handler for service invocation.
+		ProxyHandler metadataProxyHandler = createProxyHandler();
+		
+		// 5) ..and invokes the GetMetadata on the first member.
+		WsResourceClient wsResourceClient = resources[0];
+		wsResourceClient.setTrace(true);
+		
+		// Resource Metadata Descriptor
+		String dialect = "http://docs.oasis-open.org/wsrf/rmd-1";
+		Object [] inputParameters = {dialect};
+		
+		// RDM is the first element of the returned array. 
+		// The first element is a wsx:Metadata containing all resource properties. 
+		Element [] metadata = (Element[]) wsResourceClient.invoke(metadataProxyHandler, inputParameters);
+		Element resourceMetadataDescriptor	 = metadata[0];
+		
+		// 6) Now we need WSDL in order to catch datatypes
+		dialect = "http://schemas.xmlsoap.org/wsdl/";
+		inputParameters = new Object[]{dialect};
+		metadata = (Element[]) wsResourceClient.invoke(metadataProxyHandler, inputParameters);
+		Element wsdl = metadata[0];
+		
+		//7) Defines sample values used for update property.
+		Map<String, Object> sampleValues = new HashMap<String, Object>();
+		sampleValues.put("xsd:string","This is a string.");
+		sampleValues.put("xsd:integer",new Integer(12345));
+		sampleValues.put("xsd:int",new Integer(54321));
+		sampleValues.put("xsd:long",new Integer(12345));
+		sampleValues.put("xsd:double",new Double(12345.6d));
+		sampleValues.put("xsd:float",new Float(123.4f));
+		sampleValues.put("xsd:short",new Short((short)12));
+		
+		// 8) using XPath navigates xml in order to get the list of all properties.
+		Element [] properties = XmlUtils.findInSubTree(
+				resourceMetadataDescriptor, 
+				new QName("http://docs.oasis-open.org/wsrf/rmd-1","Property","wsrmd"));
+		
+		Element [] wsdlElements = XmlUtils.findInSubTree(
+				wsdl, 
+				new QName("http://www.w3.org/2001/XMLSchema","element","xsd"));
+		
+		// Did we find at least one writable property?
+		boolean atLeastOnePropertyHasBeenFound = false;
+		
+		for (Element property : properties)
+		{	
+			// Sanity check : if the property is read-only then proceed with next
+			// property.
+			if (!"read-write".equals(property.getAttribute("modifiability")))
+			{
+				continue;
+			}
+			
+			String attributeName = property.getAttribute("name"); // = qman:<Attribute Name>
+
+			// For this example we are only interested on qman namespace related properties...
+			if (attributeName.startsWith("qman"))
+			{
+				String attributeNameWithoutPrefix = attributeName.replaceFirst("qman:", ""); //  = <Attribute Name>
+
+				for (Element wsdlElement : wsdlElements)
+				{
+					String name = wsdlElement.getAttribute("name");
+					String type = wsdlElement.getAttribute("type");
+					if ((name != null) && (attributeNameWithoutPrefix.equals(name)) && (type != null))
+					{
+						Object newValue = sampleValues.get(type);
+						if (newValue != null)
+						{
+							atLeastOnePropertyHasBeenFound = true;
+							
+							inputParameters = new Object[] {newValue};
+							
+							// 9) Makes a GetResourcePropertiesRequest in order to get the current value.
+							QName propertyQName = new QName(
+									"http://amqp.apache.org/qpid/management/qman",
+									name,
+									"qman");
+							
+							// The returned value is really an array because property shoudl be a multi-value property.
+							// So in order to get its value we need to extract the first value.
+							Object currentValue = wsResourceClient.getPropertyAsObject(propertyQName,newValue.getClass());
+							
+							// 10a) If the property is not set (value is null) then an "Insert" request must be sent.
+							if (currentValue == null || Array.getLength(currentValue) == 0)
+							{
+								wsResourceClient.insertResourceProperty(propertyQName,inputParameters);
+							} 
+							// 10b) If the property is not null then an "Update" request must be sent.
+							else 
+							{
+								wsResourceClient.updateResourceProperty(propertyQName,inputParameters);								
+							}
+							
+							// 11) Let's query again the resource using GetResourceProperties in order to ensure the
+							// previous property has been properly updated.
+							currentValue = wsResourceClient.getPropertyAsObject(propertyQName,newValue.getClass());
+							
+							String resultMessage = (newValue.equals(Array.get(currentValue, 0))) 
+								? "Resource has been correctly updated."
+								: "Something was wrong : resource seems not to be properly updated.";
+							
+							System.out.println("----------------------------------------------------------------------------------");
+							System.out.println(resultMessage);
+							System.out.println("----------------------------------------------------------------------------------");
+
+							// Let's stop...one property is enough for this example :)
+							break;
+						}
+					}
+				}
+				if (!atLeastOnePropertyHasBeenFound)
+				{
+					System.out.println("----------------------------------------------------------------------------------");
+					System.out.println("WARNING : This example wasn't able to run because no writable ");
+					System.out.println("property has been found on the target WS-Resource.");
+					System.out.println("----------------------------------------------------------------------------------");
+				}
+			}
+		}
+	}
+	
+	/**
+	 * Prints out a description of this example.
+	 */
+	void printOutExampleDescription()
+	{
+		System.out.println("                 "+getClass().getSimpleName()+" ");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+		System.out.println("This example shows how to change the state of a WS-Resource.");
+		System.out.println("That means a SetResourcePropertyRequest is sent to that");
+		System.out.println("WS-Resource.");
+		System.out.println("First of all a request is send to WS-DM in order to get all");
+		System.out.println("registered WS-Resources.");
+		System.out.println("If the returned list is not empty then two GetMetadataRequests");
+		System.out.println("(one for WSDL and one for RDM) are sent to the first child.");
+		System.out.println("The result metadata descriptors are used for determine :");
+		System.out.println();
+		System.out.println("1) WS-Resource property names;");
+		System.out.println("2) Modifiability (read-only, read-write");
+		System.out.println("3) Datatype;");
+		System.out.println("-------------------------------------------------------------------");
+		System.out.println();
+		System.out.println("So a SetResourcePropertyRequest can be sent in order");
+		System.out.println("to change the WS-Resource state.");
+		System.out.println("The example is looking for a property that has one of the");
+		System.out.println("following datatype :");
+		System.out.println();
+		System.out.println("1) String (xsd:string)");
+		System.out.println("2) Long (xsd:long)");
+		System.out.println("3) Integer (xsd:integer or xsd:int)");
+		System.out.println("4) Double (xsd:double)");
+		System.out.println("5) Float (xsd:float)");
+		System.out.println("6) Short (xsd:short)");
+		System.out.println();
+		System.out.println("After the update / insert request has been sent, a ");
+		System.out.println("GetResourcePropertiesRequest is made again");
+		System.out.println("in order to see if the state has changed correctly.");
+		System.out.println();
+	}
+
+	/**
+	 * A proxy handler is a module needed in order to make a capability 
+	 * service invocation.
+	 * It contains logic to serialize and deserialize request, response, input and 
+	 * output parameters during a web service invocation.
+	 * 
+	 * @return a proxy handler.
+	 */
+	private ProxyHandler createProxyHandler()
+	{
+        ProxyHandler handler = new ReflectionProxyHandler();
+        handler.setAction("http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata");
+        handler.setRequestName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "GetMetadata", PREFIX));
+        handler.setRequestParameterNames(new QName[]{new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Dialect", PREFIX)});
+        handler.setResponseName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Metadata", PREFIX));
+        handler.setReturnType(Element[].class);
+        return handler;
+	}
+	
+	public static void main(String[] arguments)
+	{
+		new SetResourcePropertyExample().execute(arguments);
+	}
+}
\ No newline at end of file

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java?rev=738045&r1=738044&r2=738045&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java Tue Jan 27 10:11:10 2009
@@ -44,6 +44,7 @@
 	private Short _mgmtPubInterval;
 	private Date _expireTime;
 	private String _type;
+	private byte [] _byteArray;
 	
 	/**
 	 * Builds a new QpidDomainObject with default values for 
@@ -60,11 +61,12 @@
 		_arguments.put("Key3", Integer.MAX_VALUE);
 		_arguments.put("Key4", Double.MIN_VALUE);
 		_arguments.put("Key4", Float.MAX_VALUE);
-		
+
 		_msgTotalEnqueues = Long.MAX_VALUE-10;
 		_consumerCount =  Integer.MIN_VALUE+10;
 		_mgmtPubInterval = Short.MAX_VALUE;
 		_expireTime = new Date(Long.MAX_VALUE);
+		_byteArray = new byte[]{1,2,3,5,6,7,8,7,56};
 	}
 	
 	/**
@@ -304,4 +306,9 @@
 	{
 		return _type;
 	}
+	
+	public byte[] getByteArray()
+	{
+		return _byteArray;
+	}
 }
\ No newline at end of file

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java?rev=738045&r1=738044&r2=738045&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java Tue Jan 27 10:11:10 2009
@@ -224,4 +224,11 @@
 	 * @return the type property value.
 	 */	
 	String getType();
+	
+//	/**
+//	 * Returns the byteArray property value.
+//	 * 
+//	 * @return the byteArray property value.
+//	 */
+//	byte[] getByteArray();
 }
\ No newline at end of file

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=738045&r1=738044&r2=738045&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 Tue Jan 27 10:11:10 2009
@@ -211,7 +211,7 @@
 				
 				if (attribute.isReadable()) 
 				{
-					String accessor = generateGetter(type, nameForAccessors);
+					String accessor = generateGetter(type, nameForAccessors,name);
 					CtMethod getter = CtNewMethod.make(accessor,_capabilityClassDefinition);
 					_capabilityClassDefinition.addMethod(getter);		
 					appendToPropertiesArray(name);
@@ -224,7 +224,7 @@
 				
 				if (attribute.isWritable()) 
 				{
-					String accessor = generateSetter(type, nameForAccessors);
+					String accessor = generateSetter(type, nameForAccessors,name);
 					CtMethod setter = CtNewMethod.make(accessor,_capabilityClassDefinition);
 					_capabilityClassDefinition.addMethod(setter);					
 
@@ -435,10 +435,11 @@
 	 * Generates the get accessor method for the given property.
 	 *  
 	 * @param type the type of the property.
-	 * @param name the name of the property.
+	 * @param name the name of the property with the first letter capitalized.
+	 * @param plainName the plain name of the property.
 	 * @return the getter method (as a string).
 	 */
-	String generateGetter(String type, String name) 
+	String generateGetter(String type, String name,String plainName) 
 	{
 		return new StringBuilder()
 			.append("public ")
@@ -449,7 +450,7 @@
 			.append("() throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault { return (")
 			.append(type)
 			.append(") getAttribute(\"")
-			.append(name)
+			.append(plainName)
 			.append("\"); }")
 			.toString();
 	}
@@ -458,10 +459,11 @@
 	 * Generates the set accessor method for the given property.
 	 *  
 	 * @param type the type of the property.
-	 * @param name the name of the property.
+	 * @param name the name of the property with the first letter capitalized.
+	 * @param plainName the plain name of the property.
 	 * @return the setter method (as a string).
 	 */
-	String generateSetter(String type, String name) 
+	String generateSetter(String type, String name, String plainName) 
 	{
 		return new StringBuilder()
 			.append("public void ")
@@ -471,7 +473,7 @@
 			.append(type)
 			.append(" newValue) throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault {")
 			.append(" setAttribute(\"")
-			.append(name)
+			.append(plainName)
 			.append("\", newValue); }")
 			.toString();
 	}

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=738045&r1=738044&r2=738045&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 Tue Jan 27 10:11:10 2009
@@ -82,6 +82,7 @@
 			{				
 				EntityLifecycleNotification lifecycleNotification = (EntityLifecycleNotification) notification;
 				eventSourceName = lifecycleNotification.getObjectName();
+				
 				ThreadSessionManager.getInstance().getSession().setObjectName(eventSourceName);
 			
 				LOGGER.debug(Messages.QMAN_200039_DEBUG_JMX_NOTIFICATION, notification);
@@ -268,10 +269,49 @@
 		}
 	}
 			
+	/**
+	 * Connects QMan with a broker with the given connection data.
+	 * 
+	 * @param host the host where the broker is running.
+	 * @param port the port number where the broker is running.
+	 * @param username username for estabilshing connection.
+	 * @param password password for estabilshing connection.
+	 * @param virtualHost the virtualHost name.
+	 * @param initialPoolCapacity the initial size of broker connection pool. 
+	 * @param maxPoolCapacity the max allowed size of broker connection pool.
+	 * @param maxWaitTimeout the max wait timeout for retrieving connections.
+	 * @throws SoapFault when the connection with broker cannot be estabilished.
+	 */
 	@SuppressWarnings("unchecked")
-	public void connect(String host, int port, String username, String password, String virtualHost) throws SoapFault 
+	public void connect(
+			String host, 
+			int port, 
+			String username, 
+			String password, 
+			String virtualHost,
+			int initialPoolCapacity,
+			int maxPoolCapacity, 
+			long maxWaitTimeout) throws SoapFault 
 	{
-		
+		try 
+		{
+			_mxServer.invoke(
+					Names.QMAN_OBJECT_NAME, 
+					"addBroker", 
+					new Object[]{host,port,username,password,virtualHost,initialPoolCapacity,maxPoolCapacity,maxWaitTimeout}, 
+					new String[]{
+							String.class.getName(),
+							int.class.getName(),
+							String.class.getName(),
+							String.class.getName(),
+							String.class.getName(),
+							int.class.getName(),
+							int.class.getName(),
+							long.class.getName()});
+		} catch(Exception exception)
+		{			
+			throw new SoapFault(exception);
+		}
 	}
 
 	/**

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=738045&r1=738044&r2=738045&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 Tue Jan 27 10:11:10 2009
@@ -60,6 +60,7 @@
 	 * 
 	 * @throws SoapFaul when unmarshal operation fails.
 	 */
+	@SuppressWarnings("unchecked")
 	public Object[] fromXML(Element xml) throws SoapFault
 	{
 		Method method = getMethod();

Modified: qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java?rev=738045&r1=738044&r2=738045&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java Tue Jan 27 10:11:10 2009
@@ -22,8 +22,6 @@
 
 import java.net.InetAddress;
 import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
 import java.util.Map;
 
 import javax.management.MBeanAttributeInfo;
@@ -111,6 +109,7 @@
 	private final static QName XSD_COMPLEX_TYPE_QNAME = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI,"complexType","xsd");
 	private final static QName XSD_SEQUENCE_QNAME = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI,"sequence","xsd");
 	
+	@SuppressWarnings("unchecked")
 	private Element defineSchemaFor(String type, String attributeName) throws Exception
 	{
 		if (type.equals("java.util.Map")) 

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=738045&r1=738044&r2=738045&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 Tue Jan 27 10:11:10 2009
@@ -1,9 +1,7 @@
 package org.apache.qpid.management.wsdm.muse.engine;
 
 import java.io.File;
-import java.net.InetAddress;
 import java.net.URI;
-import java.net.UnknownHostException;
 
 import javax.servlet.ServletContext;
 

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=738045&r1=738044&r2=738045&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 Tue Jan 27 10:11:10 2009
@@ -229,7 +229,7 @@
 	        initializeCapabilities();
 	        	        
 	        _properties.applyMetadata();
-	        _properties.validateMetadata();
+//	        _properties.validateMetadata();
 	        
 	        // Resource intialization completed : Let's make a state change.
 	        _currentState = _hasBeenInitialized;

Modified: qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl?rev=738045&r1=738044&r2=738045&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl (original)
+++ qpid/trunk/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl Tue Jan 27 10:11:10 2009
@@ -91,6 +91,9 @@
 		            	<xsd:element name="username" type="xsd:string" minOccurs="1" nillable="false"/>
 		            	<xsd:element name="password" type="xsd:string" minOccurs="1" nillable="false"/>
 		            	<xsd:element name="virtualHost" type="xsd:string" minOccurs="1" nillable="false"/>
+		            	<xsd:element name="initialPoolCapacity" type="xsd:integer" minOccurs="1" nillable="false"/>
+		            	<xsd:element name="maxPoolCapacity" type="xsd:integer" minOccurs="1" nillable="false"/>
+		            	<xsd:element name="maxWaitTimeout" type="xsd:long" minOccurs="1" nillable="false"/>		            	
 		          </xsd:sequence>
 		        </xsd:complexType>
 			</xsd:element>

Modified: qpid/trunk/qpid/java/management/client/src/test/java/log4j.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/test/java/log4j.xml?rev=738045&r1=738044&r2=738045&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/test/java/log4j.xml (original)
+++ qpid/trunk/qpid/java/management/client/src/test/java/log4j.xml Tue Jan 27 10:11:10 2009
@@ -11,9 +11,13 @@
 				value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
 		</layout>
 	</appender>
+	<category name="org.apache.qpid.management">
+		<priority value="ERROR" />
+		<appender-ref ref="CONSOLE" />
+	</category>	
 
-	<category name="org">
-		<priority value="ERROR" />
+	<category name="org.apache.qpid.qman.debug.XmlDebugger">
+		<priority value="DEBUG" />
 		<appender-ref ref="CONSOLE" />
 	</category>	
 	<root>

Modified: qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java?rev=738045&r1=738044&r2=738045&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java (original)
+++ qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java Tue Jan 27 10:11:10 2009
@@ -103,7 +103,7 @@
 			name+
 			"\"); }";
 		
-		String result = _builder.generateGetter(type, name);
+		String result = _builder.generateGetter(type, name,name);
 		assertEquals(expected,result);
 	}
 	
@@ -121,7 +121,7 @@
 			name+
 			"\", newValue); }";
 		
-		String result = _builder.generateSetter(type, name);
+		String result = _builder.generateSetter(type, name,name);
 		assertEquals(expected,result);
 	}
 	



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