[Jboss-cvs] JBossAS SVN: r56236 - in trunk: ejb3/src/main/org/jboss/injection system/src/main/org/jboss/system tomcat/src/main/org/jboss/web/metamodel/descriptor

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 25 00:15:37 EDT 2006


Author: scott.stark at jboss.org
Date: 2006-08-25 00:15:30 -0400 (Fri, 25 Aug 2006)
New Revision: 56236

Modified:
   trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
   trunk/system/src/main/org/jboss/system/ServiceController.java
   trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java
   trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/WebDD.java
Log:
EJBTHREE-693, initial fixes for handling valid jboss-web.xml constructs. This adds support for message-destination-links.

Modified: trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java	2006-08-25 04:13:25 UTC (rev 56235)
+++ trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java	2006-08-25 04:15:30 UTC (rev 56236)
@@ -113,6 +113,12 @@
          if (container.getEncInjectors().containsKey(encName)) continue;
          if (envRef.getMappedName() == null || envRef.getMappedName().equals(""))
          {
+            // Look for a message-destination-link
+            String link = envRef.getMessageDestinationLink();
+            if( link != null )
+            {
+               // TODO: Resolve the link...
+            }
             throw new RuntimeException("mapped-name is required for " + envRef.getMessageDestinationRefName() + " of deployment " + container.getIdentifier());
          }
          container.getEncInjectors().put(encName, new LinkRefEncInjector(encName, envRef.getMappedName(), "<message-destination-ref>"));

Modified: trunk/system/src/main/org/jboss/system/ServiceController.java
===================================================================
--- trunk/system/src/main/org/jboss/system/ServiceController.java	2006-08-25 04:13:25 UTC (rev 56235)
+++ trunk/system/src/main/org/jboss/system/ServiceController.java	2006-08-25 04:15:30 UTC (rev 56236)
@@ -613,6 +613,7 @@
    {
       controller.install(context);
       installed.put(context.getObjectName(), context);
+      log.debug("installed service: "+context.getObjectName());
       installedOrder.add(context);
    }
    

Modified: trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java	2006-08-25 04:13:25 UTC (rev 56235)
+++ trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java	2006-08-25 04:15:30 UTC (rev 56236)
@@ -26,6 +26,7 @@
 import org.jboss.metamodel.descriptor.EjbLocalRef;
 import org.jboss.metamodel.descriptor.EjbRef;
 import org.jboss.metamodel.descriptor.EnvEntry;
+import org.jboss.metamodel.descriptor.MessageDestination;
 import org.jboss.metamodel.descriptor.MessageDestinationRef;
 import org.jboss.metamodel.descriptor.ResourceEnvRef;
 import org.jboss.metamodel.descriptor.ResourceRef;
@@ -117,7 +118,7 @@
                           String namespaceURI, String localName, Attributes attrs)
    {
       Object child = null;
-
+      log.debug("newChild, "+localName);
       if ((child = newEnvRefGroupChild(localName)) != null)
          return child;
       else if (localName.equals("security-role"))
@@ -126,7 +127,10 @@
          child = new Servlet();
       else if (localName.equals("replication-config"))
          child = new ReplicationConfig();
-
+      else if (localName.equals("message-destination"))
+      {
+         child = new MessageDestination();
+      }
       return child;
    }
 
@@ -154,9 +158,27 @@
       parent.addEnvEntry(ref);
    }
 
+   public void addChild(WebDD parent, MessageDestination destination,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      log.debug("addMessageDestination, "+destination);
+      parent.updateMessageDestination(destination);
+      // See if this message-destination resolves to an existing ref link
+      String link = destination.getMessageDestinationName();
+      if( link != null )
+      {
+         MessageDestinationRef ref = parent.getMessageDestinationRefForLink(link);
+         if( ref != null )
+         {
+            log.debug("ressolved "+ref+" to link mapedName: "+destination.getMappedName());
+            ref.setMappedName(destination.getMappedName());
+         }
+      }
+   }
    public void addChild(WebDD parent, MessageDestinationRef ref,
                         UnmarshallingContext navigator, String namespaceURI, String localName)
    {
+      log.debug("addMessageDestinationRef, "+ref);
       parent.updateMessageDestinationRef(ref);
    }
 

Modified: trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/WebDD.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/WebDD.java	2006-08-25 04:13:25 UTC (rev 56235)
+++ trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/WebDD.java	2006-08-25 04:15:30 UTC (rev 56236)
@@ -199,9 +199,23 @@
 
    public void addMessageDestination(MessageDestination destination)
    {
+      log.debug("addMessageDestination, "+destination);
       messageDestinations.put(destination.getMessageDestinationName(), destination);
    }
-   
+   public void updateMessageDestination(MessageDestination updatedDestination)
+   {
+      MessageDestination destination = (MessageDestination)
+         messageDestinations.get(updatedDestination.getMessageDestinationName());
+      if (destination != null)
+      {
+         destination.setMappedName(updatedDestination.getMappedName());
+      }
+      else
+      {
+         messageDestinations.put(updatedDestination.getMessageDestinationName(), updatedDestination);
+      }
+   }
+
    public void addDependency(String depends)
    {
       dependencies.add(depends);




More information about the jboss-cvs-commits mailing list