[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