[jbossws-commits] JBossWS SVN: r4521 - stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Tue Sep 4 11:21:27 EDT 2007
Author: richard.opalka at jboss.com
Date: 2007-09-04 11:21:27 -0400 (Tue, 04 Sep 2007)
New Revision: 4521
Modified:
stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java
Log:
registering providers
Modified: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java 2007-09-04 14:32:27 UTC (rev 4520)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java 2007-09-04 15:21:27 UTC (rev 4521)
@@ -21,6 +21,9 @@
*/
package org.jboss.ws.extensions.wsrm.spi;
+import java.util.Map;
+import java.util.HashMap;
+
/**
* WS-RM Provider SPI facade. Each WS-RM provider must override this class.
*
@@ -28,8 +31,21 @@
*/
public abstract class Provider
{
+
+ private static final Map<String, Provider> REGISTERED_PROVIDERS = new HashMap<String, Provider>();
+
+ static
+ {
+ REGISTERED_PROVIDERS.put(
+ org.jboss.ws.extensions.wsrm.spec200702.ProviderImpl.getInstance().getNamespaceURI(),
+ org.jboss.ws.extensions.wsrm.spec200702.ProviderImpl.getInstance());
+ REGISTERED_PROVIDERS.put(
+ org.jboss.ws.extensions.wsrm.spec200502.ProviderImpl.getInstance().getNamespaceURI(),
+ org.jboss.ws.extensions.wsrm.spec200502.ProviderImpl.getInstance());
+ }
+
/**
- * Must be overriden in the subclasses
+ * Must be overriden in subclasses
* @param targetNamespace
*/
protected Provider()
@@ -56,6 +72,10 @@
*/
public static Provider getInstance(String wsrmNamespace)
{
- return null; // TODO: implement
+ if (!REGISTERED_PROVIDERS.keySet().contains(wsrmNamespace))
+ throw new IllegalArgumentException("No WS-RM provider registered for namespace " + wsrmNamespace);
+
+ return REGISTERED_PROVIDERS.get(wsrmNamespace);
}
+
}
More information about the jbossws-commits
mailing list