summaryrefslogtreecommitdiff
path: root/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsArtifactsFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsArtifactsFactory.java')
-rw-r--r--trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsArtifactsFactory.java140
1 files changed, 0 insertions, 140 deletions
diff --git a/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsArtifactsFactory.java b/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsArtifactsFactory.java
deleted file mode 100644
index 94505d28f7..0000000000
--- a/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/wsdm/capabilities/WsArtifactsFactory.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- *
- * 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 java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Map;
-
-import javax.management.MBeanInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-import org.apache.muse.core.Environment;
-import org.apache.muse.core.Resource;
-import org.apache.qpid.management.Messages;
-import org.apache.qpid.management.Names;
-import org.apache.qpid.transport.util.Logger;
-
-/**
- * Manager for all WS-* related artifacts.
- * Basically it is a factory ehnanced with a _cache mechanism so each created resource
- * (WSDL, capability class, descriptor) is created and its reference is returned when requested
- * again.
- *
- * @author Andrea Gazzarini
- */
-class WsArtifactsFactory
-{
- private final static Logger LOGGER = Logger.get(WsArtifactsFactory.class);
-
- private final MBeanServer _mxServer;
- private final Environment _environment;
- private Map<ObjectName, WsArtifacts> _cache;
-
- /**
- * Builds a new factory with the given environment and mbean server.
- *
- * @param environment the builder environment.
- * @param mxServer the management server.
- */
- public WsArtifactsFactory(Environment environment, MBeanServer mxServer)
- {
- this._environment = environment;
- this._mxServer = mxServer;
- this._cache = new HashMap<ObjectName, WsArtifacts>();
- }
-
- /**
- * Returns the WS artifacts corresponding with the given resource.
- *
- * @param resource the WS resource.
- * @param objectName the resource identifier (name).
- * @return the WS artifacts corresponding with the given resource.
- * @throws ArtifactsNotAvailableException when some problem occurs during artifacts generation.
- */
- @SuppressWarnings("unchecked")
- WsArtifacts getArtifactsFor(Resource resource, ObjectName objectName) throws ArtifactsNotAvailableException
- {
- WsArtifacts result = null;
- try
- {
- Hashtable<String, String> keyProperties = objectName.getKeyPropertyList();
- keyProperties.remove(Names.NAME_ATTRIBUTE);
- keyProperties.remove(Names.OBJECT_ID);
-
- ObjectName searchKey = ObjectName.getInstance(objectName.getDomain(),keyProperties);
-
- LOGGER.debug(
- Messages.QMAN_200041_INCOMING_OBJECT_NAME_AND_DERIVED_KEY,
- objectName,
- searchKey);
-
- result = _cache.get(searchKey);
- if (result == null)
- {
- MBeanInfo metadata = _mxServer.getMBeanInfo(objectName);
-
- WSDMArtifactsDirector director = new WSDMArtifactsDirector(objectName,metadata);
- director.setEnvironment(_environment);
- director.setResource(resource);
- director.direct();
-
- result = new WsArtifacts(
- director.getCapabilityClass(),
- director.getResourceMetadataDescriptor(),
- director.getWsdl());
-
- _cache.put(searchKey, result);
-
- LOGGER.debug(
- Messages.QMAN_200040_WS_ARTIFACTS_CACHED,
- searchKey);
- }
-
- return result;
- } catch(Exception exception)
- {
- throw new ArtifactsNotAvailableException(
- result,
- exception,
- objectName);
- }
- }
-
- /**
- * Utility method for create concrete instance of the given capability class.
- *
- * @param capabilityClass the capability class.
- * @param objectName the object name that will act as the target for this capability invocations.
- * @return an initialized instance of the given capability class.
- * @throws InstantiationException when the class cannot be instantiated.
- * @throws IllegalAccessException when this method does not have access to
- * the definition of the capability class.
- */
- MBeanCapability createCapability(Class<MBeanCapability> capabilityClass, ObjectName objectName)
- throws InstantiationException, IllegalAccessException
- {
- MBeanCapability capability = capabilityClass.newInstance();
- capability.setResourceObjectName(objectName);
- return capability;
- }
-} \ No newline at end of file