From 5d72e9d1fd97f666f0fddbc9dcc25a6e45733412 Mon Sep 17 00:00:00 2001 From: Andrea Gazzarini Date: Tue, 27 Jan 2009 10:11:10 +0000 Subject: QPID-1606 : QMan WS-DM examples git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@738045 13f79535-47bb-0310-9956-ffa450edef68 --- .../domain/handler/impl/QpidDomainObject.java | 9 ++++- .../domain/handler/impl/QpidDomainObjectMBean.java | 7 ++++ .../wsdm/capabilities/MBeanCapabilityBuilder.java | 18 +++++---- .../wsdm/capabilities/QManAdapterCapability.java | 44 +++++++++++++++++++++- .../wsdm/capabilities/QManMessageHandler.java | 1 + .../management/wsdm/capabilities/WsdlBuilder.java | 3 +- .../wsdm/muse/engine/WSDMAdapterEnvironment.java | 2 - .../wsdm/muse/resources/QManWsResource.java | 2 +- .../client/src/main/java/wsdl/QManAdapter.wsdl | 3 ++ 9 files changed, 73 insertions(+), 16 deletions(-) (limited to 'qpid/java/management/client/src/main') diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java index 4026f6102b..8456b2f8ac 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObject.java @@ -44,6 +44,7 @@ public class QpidDomainObject implements QpidDomainObjectMBean private Short _mgmtPubInterval; private Date _expireTime; private String _type; + private byte [] _byteArray; /** * Builds a new QpidDomainObject with default values for @@ -60,11 +61,12 @@ public class QpidDomainObject implements QpidDomainObjectMBean _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 @@ public class QpidDomainObject implements QpidDomainObjectMBean { return _type; } + + public byte[] getByteArray() + { + return _byteArray; + } } \ No newline at end of file diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java index 8a383505c7..da585a9f43 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/QpidDomainObjectMBean.java @@ -224,4 +224,11 @@ public interface QpidDomainObjectMBean * @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 diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java index 334114f4b0..aa6ec5aee4 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilder.java @@ -211,7 +211,7 @@ public class MBeanCapabilityBuilder implements IArtifactBuilder{ 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 @@ public class MBeanCapabilityBuilder implements IArtifactBuilder{ 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 @@ public class MBeanCapabilityBuilder implements IArtifactBuilder{ * 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 @@ public class MBeanCapabilityBuilder implements IArtifactBuilder{ .append("() throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault { return (") .append(type) .append(") getAttribute(\"") - .append(name) + .append(plainName) .append("\"); }") .toString(); } @@ -458,10 +459,11 @@ public class MBeanCapabilityBuilder implements IArtifactBuilder{ * 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 @@ public class MBeanCapabilityBuilder implements IArtifactBuilder{ .append(type) .append(" newValue) throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault {") .append(" setAttribute(\"") - .append(name) + .append(plainName) .append("\", newValue); }") .toString(); } diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java index 511587c372..dfb526005f 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapability.java @@ -82,6 +82,7 @@ public class QManAdapterCapability extends AbstractCapability { 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 @@ public class QManAdapterCapability extends AbstractCapability } } + /** + * 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); + } } /** diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java index 150a7d1905..9c37acbabb 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/QManMessageHandler.java @@ -60,6 +60,7 @@ public class QManMessageHandler extends ReflectionMessageHandler * * @throws SoapFaul when unmarshal operation fails. */ + @SuppressWarnings("unchecked") public Object[] fromXML(Element xml) throws SoapFault { Method method = getMethod(); diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java index bc0e4da4fd..bce0e30e62 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsdlBuilder.java @@ -22,8 +22,6 @@ package org.apache.qpid.management.wsdm.capabilities; 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 @@ class WsdlBuilder implements IArtifactBuilder { 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")) diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java index eb72bfc744..a5d12a55f9 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/engine/WSDMAdapterEnvironment.java @@ -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; diff --git a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java index 78c3aea558..e2091a3337 100644 --- a/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java +++ b/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/muse/resources/QManWsResource.java @@ -229,7 +229,7 @@ public class QManWsResource implements WsResource initializeCapabilities(); _properties.applyMetadata(); - _properties.validateMetadata(); +// _properties.validateMetadata(); // Resource intialization completed : Let's make a state change. _currentState = _hasBeenInitialized; diff --git a/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl b/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl index a0ab85c321..21414c53d9 100644 --- a/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl +++ b/qpid/java/management/client/src/main/java/wsdl/QManAdapter.wsdl @@ -91,6 +91,9 @@ + + + -- cgit v1.2.1