Package org.jboss.metadata.ejb.jboss

Source Code of org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData

/*
* JBoss, Home of Professional Open Source
* Copyright 2006, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.metadata.ejb.jboss;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

import org.jboss.metadata.common.ejb.ITimeoutTarget;
import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
import org.jboss.metadata.ejb.spec.AroundInvokesMetaData;
import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
import org.jboss.metadata.ejb.spec.MessageDrivenDestinationMetaData;
import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
import org.jboss.metadata.ejb.spec.SubscriptionDurability;

/**
* MessageDrivenBeanMetaData.
*
* @author <a href="adrian@jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
*/
@XmlType(name="message-driven-beanType", propOrder={"descriptionGroup", "ejbName", "activationConfig", "destinationJndiName", "localJndiName",
      "jndiBindingPolicy", "mdbUser", "mdbPassword", "mdbClientId", "mdbSubscriptionId", "resourceAdapterName",
      "exceptionOnRollback", "timerPersistence", "configurationName", "invokerBindings", "securityProxy",
      "jndiEnvironmentRefsGroup", "securityIdentity", "securityDomain", "methodAttributes", "depends", "iorSecurityConfig",
      "ejbTimeoutIdentity", "annotations", "ignoreDependency", "aopDomainName", "poolConfig",
      "jndiRefs", "createDestination"})
public class JBossMessageDrivenBeanMetaData extends JBossEnterpriseBeanMetaData implements ITimeoutTarget
{
   /** The serialVersionUID */
   private static final long serialVersionUID = -4006016148034278681L;
  
   /** The messaging type */
   private String messagingType;
  
   /** The timeout method */
   private NamedMethodMetaData timeoutMethod;

   /** The message destination type */
   private String messageDestinationType;
  
   /** The message destination link */
   private String messageDestinationLink;

   /** The activation config */
   private ActivationConfigMetaData activationConfig;
  
   /** The around invokes */
   private AroundInvokesMetaData aroundInvokes;

   /** The message selector */
   private String messageSelector;
  
   /** The acknowledge mode */
   private String acknowledgeMode;
  
   /** The subscription durability */
   private SubscriptionDurability subscriptionDurability;

   /** The destination jndi name */
   private String destinationJndiName;

   /** The mdb user id */
   private String mdbUser;
  
   /** The mdb password */
   private String mdbPassword;

   /** The mdb client id */
   private String mdbClientId;

   /** The mdb subscription id */
   private String mdbSubscriptionId;

   /** The resource adapter name */
   private String resourceAdapterName;

   /** The ejb timeout identity */
   private SecurityIdentityMetaData ejbTimeoutIdentity;

   /** The default activation config */
   private ActivationConfigMetaData defaultActivationConfig;
  
   /** The create destination */
   private Boolean createDestination;
   private static final boolean createDestinationDefault = false;

   /**
    * Create a new MessageDrivenBeanMetaData.
    */
   public JBossMessageDrivenBeanMetaData()
   {
      // For serialization
   }

   @Override
   public boolean isMessageDriven()
   {
      return true;
   }


   /**
    * Get the messagingType.
    *
    * @return the messagingType.
    */
   public String getMessagingType()
   {
      return messagingType;
   }

   /**
    * Is this JMS
    *
    * @return true for jms
    */
   public boolean isJMS()
   {
      String messagingType = getMessagingType();
      return messagingType == null || "javax.jms.MessageListener".equals(messagingType);
   }


   /**
    * Set the messagingType.
    *
    * @param messagingType the messagingType.
    * @throws IllegalArgumentException for a null messagingType
    */
   public void setMessagingType(String messagingType)
   {
      if (messagingType == null)
         throw new IllegalArgumentException("Null messagingType");
      this.messagingType = messagingType;
   }


   /**
    * Get the timeoutMethod.
    *
    * @return the timeoutMethod.
    */
   public NamedMethodMetaData getTimeoutMethod()
   {
      return timeoutMethod;
   }


   /**
    * Set the timeoutMethod.
    *
    * @param timeoutMethod the timeoutMethod.
    * @throws IllegalArgumentException for a null timeoutMethod
    */
   @XmlElement(required=false)
   public void setTimeoutMethod(NamedMethodMetaData timeoutMethod)
   {
      if (timeoutMethod == null)
         throw new IllegalArgumentException("Null timeoutMethod");
      this.timeoutMethod = timeoutMethod;
   }

   /**
    * Get the messageDestinationType.
    *
    * @return the messageDestinationType.
    */
   public String getMessageDestinationType()
   {
      return messageDestinationType;
   }


   /**
    * Set the messageDestinationType.
    *
    * @param messageDestinationType the messageDestinationType.
    * @throws IllegalArgumentException for a null messageDestinationType
    */
   public void setMessageDestinationType(String messageDestinationType)
   {
      if (messageDestinationType == null)
         throw new IllegalArgumentException("Null messageDestinationType");
      this.messageDestinationType = messageDestinationType;
   }


   /**
    * Get the aroundInvokes.
    *
    * @return the aroundInvokes.
    */
   public AroundInvokesMetaData getAroundInvokes()
   {
      return aroundInvokes;
   }


   /**
    * Set the aroundInvokes.
    *
    * @param aroundInvokes the aroundInvokes.
    * @throws IllegalArgumentException for a null aroundInvokes
    */
   @XmlElement(name="around-invoke", required=false)
   public void setAroundInvokes(AroundInvokesMetaData aroundInvokes)
   {
      if (aroundInvokes == null)
         throw new IllegalArgumentException("Null aroundInvokes");
      this.aroundInvokes = aroundInvokes;
   }


   /**
    * Get the messageDestinationLink.
    *
    * @return the messageDestinationLink.
    */
   public String getMessageDestinationLink()
   {
      return messageDestinationLink;
   }


   /**
    * Set the messageDestinationLink.
    *
    * @param messageDestinationLink the messageDestinationLink.
    * @throws IllegalArgumentException for a null messageDestinationLink
    */
   public void setMessageDestinationLink(String messageDestinationLink)
   {
      if (messageDestinationLink == null)
         throw new IllegalArgumentException("Null messageDestinationLink");
      this.messageDestinationLink = messageDestinationLink;
   }


   /**
    * Get the activationConfig.
    *
    * @return the activationConfig.
    */
   public ActivationConfigMetaData getActivationConfig()
   {
      return activationConfig;
   }


   /**
    * Set the activationConfig.
    *
    * @param activationConfig the activationConfig.
    * @throws IllegalArgumentException for a null activationConfig
    */
   public void setActivationConfig(ActivationConfigMetaData activationConfig)
   {
      if (activationConfig == null)
         throw new IllegalArgumentException("Null activationConfig");
      this.activationConfig = activationConfig;
   }

   /**
    * Get the messageSelector.
    *
    * @return the messageSelector.
    */
   public String getMessageSelector()
   {
      return messageSelector;
   }

   /**
    * Set the messageSelector.
    *
    * @param messageSelector the messageSelector.
    * @throws IllegalArgumentException for a null messageSelector
    */
   @XmlElement(required=false)
   public void setMessageSelector(String messageSelector)
   {
      if (messageSelector == null)
         throw new IllegalArgumentException("Null messageSelector");
      this.messageSelector = messageSelector;
   }

   /**
    * Get the acknowledgeMode.
    *
    * @return the acknowledgeMode.
    */
   public String getAcknowledgeMode()
   {
      return acknowledgeMode;
   }

   /**
    * Set the acknowledgeMode.
    *
    * @param acknowledgeMode the acknowledgeMode.
    * @throws IllegalArgumentException for a null acknowledgeMode
    */
   @XmlElement(required=false)
   public void setAcknowledgeMode(String acknowledgeMode)
   {
      if (acknowledgeMode == null)
         throw new IllegalArgumentException("Null acknowledgeMode");
      this.acknowledgeMode = acknowledgeMode;
   }

   /**
    * Get the subscriptionDurability.
    *
    * @return the subscriptionDurability.
    */
   public SubscriptionDurability getSubscriptionDurability()
   {
      return subscriptionDurability;
   }

   /**
    * Set the subscriptionDurability.
    *
    * @param subscriptionDurability the subscriptionDurability.
    * @throws IllegalArgumentException for a null subscriptionDurability
    */
   @XmlElement(required=false)
   public void setSubscriptionDurability(SubscriptionDurability subscriptionDurability)
   {
      if (subscriptionDurability == null)
         throw new IllegalArgumentException("Null subscriptionDurability");
      this.subscriptionDurability = subscriptionDurability;
   }

   @XmlElement(name="message-driven-destination", required=false)
   public void setMessageDrivenDestination(MessageDrivenDestinationMetaData mdd)
   {
      // Translate this into destinationType, subscriptionDurability
      this.setMessageDestinationType(mdd.getDestinationType());
      String durability = mdd.getSubscriptionDurability();
      SubscriptionDurability sd = SubscriptionDurability.NonDurable;
      if (durability != null && durability.equalsIgnoreCase("Durable"))
         sd = SubscriptionDurability.Durable;
      this.setSubscriptionDurability(sd);
   }

   @Override
   public String getDefaultConfigurationName()
   {
      boolean isJMS = isJMS();
      if (isJMS == false)
         return ContainerConfigurationMetaData.MESSAGE_INFLOW_DRIVEN;
      else
         return ContainerConfigurationMetaData.MESSAGE_DRIVEN;
   }

   @Override
   protected String getDefaultInvokerName()
   {
      return InvokerBindingMetaData.MESSAGE_DRIVEN;
   }

   @Override
   protected String getDefaultInvokerJndiName()
   {
      return getEjbName();
   }
   
   /**
    * @deprecated JBMETA-68
    */
   @Deprecated
   @Override
   public String determineJndiName()
   {
      return null;
   }

   /**
    * Get the destinationJndiName.
    *
    * @return the destinationJndiName.
    */
   public String getDestinationJndiName()
   {
      return destinationJndiName;
   }

   /**
    * Set the destinationJndiName.
    *
    * @param destinationJndiName the destinationJndiName.
    * @throws IllegalArgumentException for a null destinationJndiName
    */
   public void setDestinationJndiName(String destinationJndiName)
   {
      if (destinationJndiName == null)
         throw new IllegalArgumentException("Null destinationJndiName");
      this.destinationJndiName = destinationJndiName;
   }

   /**
    * Get the mdbUser.
    *
    * @return the mdbUser.
    */
   public String getMdbUser()
   {
      return mdbUser;
   }

   /**
    * Set the mdbUser.
    *
    * @param mdbUser the mdbUser.
    * @throws IllegalArgumentException for a null mdbUser
    */
   public void setMdbUser(String mdbUser)
   {
      if (mdbUser == null)
         throw new IllegalArgumentException("Null mdbUser");
      this.mdbUser = mdbUser;
   }

   /**
    * Get the mdbPassword.
    *
    * @return the mdbPassword.
    */
   public String getMdbPassword()
   {
      return mdbPassword;
   }

   /**
    * Set the mdbPassword.
    *
    * @param mdbPassword the mdbPassword.
    * @throws IllegalArgumentException for a null mdbPassword
    */
   @XmlElement(name="mdb-passwd")
   public void setMdbPassword(String mdbPassword)
   {
      if (mdbPassword == null)
         throw new IllegalArgumentException("Null mdbPassword");
      this.mdbPassword = mdbPassword;
   }

   /**
    * Get the mdbClientId.
    *
    * @return the mdbClientId.
    */
   public String getMdbClientId()
   {
      return mdbClientId;
   }

   /**
    * Set the mdbClientId.
    *
    * @param mdbClientId the mdbClientId.
    * @throws IllegalArgumentException for a null mdbClientId
    */
   public void setMdbClientId(String mdbClientId)
   {
      if (mdbClientId == null)
         throw new IllegalArgumentException("Null mdbClientId");
      this.mdbClientId = mdbClientId;
   }

   /**
    * Get the resourceAdapterName.
    *
    * @return the resourceAdapterName.
    */
   public String getResourceAdapterName()
   {
      return resourceAdapterName;
   }

   /**
    * Set the resourceAdapterName.
    *
    * @param resourceAdapterName the resourceAdapterName.
    * @throws IllegalArgumentException for a null resourceAdapterName
    */
   public void setResourceAdapterName(String resourceAdapterName)
   {
      if (resourceAdapterName == null)
         throw new IllegalArgumentException("Null resourceAdapterName");
      this.resourceAdapterName = resourceAdapterName;
   }

   /**
    * Get the mdbSubscriptionId.
    *
    * @return the mdbSubscriptionId.
    */
   public String getMdbSubscriptionId()
   {
      return mdbSubscriptionId;
   }

   /**
    * Set the mdbSubscriptionId.
    *
    * @param mdbSubscriptionId the mdbSubscriptionId.
    * @throws IllegalArgumentException for a null mdbSubscriptionId
    */
   public void setMdbSubscriptionId(String mdbSubscriptionId)
   {
      if (mdbSubscriptionId == null)
         throw new IllegalArgumentException("Null mdbSubscriptionId");
      this.mdbSubscriptionId = mdbSubscriptionId;
   }

   /**
    * Get the defaultActivationConfig.
    *
    * @return the defaultActivationConfig.
    */
   @Deprecated
   public ActivationConfigMetaData getDefaultActivationConfig()
   {
      return defaultActivationConfig;
   }

   /**
    * Set the defaultActivationConfig.
    *
    * @param defaultActivationConfig the defaultActivationConfig.
    * @throws IllegalArgumentException for a null defaultActivationConfig
    */
   @Deprecated
   public void setDefaultActivationConfig(ActivationConfigMetaData defaultActivationConfig)
   {
      if (defaultActivationConfig == null)
         throw new IllegalArgumentException("Null defaultActivationConfig");
      this.defaultActivationConfig = defaultActivationConfig;
   }

   /**
    * Get the ejbTimeoutIdentity.
    *
    * @return the ejbTimeoutIdentity.
    */
   public SecurityIdentityMetaData getEjbTimeoutIdentity()
   {
      return ejbTimeoutIdentity;
   }

   /**
    * Set the ejbTimeoutIdentity.
    *
    * @param ejbTimeoutIdentity the ejbTimeoutIdentity.
    * @throws IllegalArgumentException for a null ejbTimeoutIdentity
    */
   public void setEjbTimeoutIdentity(SecurityIdentityMetaData ejbTimeoutIdentity)
   {
      if (ejbTimeoutIdentity == null)
         throw new IllegalArgumentException("Null ejbTimeoutIdentity");
      this.ejbTimeoutIdentity = ejbTimeoutIdentity;
   }
  
   /**
    * Is create destination
    *
    * @return createDestination == true
    */
   @XmlElement(name = "create-destination")
   public boolean isCreateDestination()
   {
      if(createDestination == null)
         return createDestinationDefault;
     
      return createDestination.booleanValue();
   }
  
   /**
    * Set the create destination
    *
    * @param createDestination
    */
   public void setCreateDestination(boolean createDestination)
   {
      this.createDestination = Boolean.valueOf(createDestination);
   }

   @Override
   public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original, String overridenFile, String overrideFile, boolean mustOverride)
   {
      super.merge(override, original, overridenFile, overrideFile, mustOverride);
      JBossMessageDrivenBeanMetaData joverride = (JBossMessageDrivenBeanMetaData) override;
      MessageDrivenBeanMetaData soriginal = (MessageDrivenBeanMetaData) original;
      // messagingType
      if(joverride != null && joverride.messagingType != null)
         messagingType = joverride.messagingType;
      else if(soriginal != null && soriginal.getMessagingType() != null)
         messagingType = soriginal.getMessagingType();
      // timeoutMethod
      if(joverride != null && joverride.timeoutMethod != null)
         timeoutMethod = joverride.timeoutMethod;
      else if(soriginal != null && soriginal.getTimeoutMethod() != null)
         timeoutMethod = soriginal.getTimeoutMethod();
      // messageDestinationType
      if(joverride != null && joverride.messageDestinationType != null)
         messageDestinationType = joverride.messageDestinationType;
      else if(soriginal != null && soriginal.getMessageDestinationType() != null)
         messageDestinationType = soriginal.getMessageDestinationType();
      // messageDestinationLink
      if(joverride != null && joverride.messageDestinationLink != null)
         messageDestinationLink = joverride.messageDestinationLink;
      else if(soriginal != null && soriginal.getMessageDestinationLink() != null)
         messageDestinationLink = soriginal.getMessageDestinationLink();
      // Fixup the activation config
      ActivationConfigMetaData jbossActivationConfig = null;
      if (joverride != null && joverride.getActivationConfig() != null)
         jbossActivationConfig = joverride.getActivationConfig();
      ActivationConfigMetaData originalActivationConfig = null;
      if(soriginal != null)
         originalActivationConfig = soriginal.getActivationConfig();
      if(jbossActivationConfig != null || originalActivationConfig != null)
      {
         if(activationConfig == null)
            activationConfig = new ActivationConfigMetaData();
         activationConfig.merge(jbossActivationConfig, originalActivationConfig);
      }
      // aroundInvokes
      if(joverride != null && joverride.aroundInvokes != null)
         aroundInvokes = joverride.aroundInvokes;
      else if(soriginal != null && soriginal.getAroundInvokes() != null)
         aroundInvokes = soriginal.getAroundInvokes();
      // messageSelector
      if(joverride != null && joverride.messageSelector != null)
         messageSelector = joverride.messageSelector;
      else if(soriginal != null && soriginal.getMessageSelector() != null)
         messageSelector = soriginal.getMessageSelector();
      // messageSelector
      if(joverride != null && joverride.acknowledgeMode != null)
         acknowledgeMode = joverride.acknowledgeMode;
      else if(soriginal != null && soriginal.getAcknowledgeMode() != null)
         acknowledgeMode = soriginal.getAcknowledgeMode();
      // messageSelector
      if(joverride != null && joverride.subscriptionDurability != null)
         subscriptionDurability = joverride.subscriptionDurability;
      else if(soriginal != null && soriginal.getSubscriptionDurability() != null)
         subscriptionDurability = soriginal.getSubscriptionDurability();
      // destinationJndiName
      if(joverride != null && joverride.getDestinationJndiName() != null)
         destinationJndiName = joverride.getDestinationJndiName();
      else if(soriginal != null && soriginal.getMappedName() != null)
         destinationJndiName = soriginal.getMappedName();
      // mdbUser
      if(joverride != null && joverride.mdbUser != null)
         mdbUser = joverride.mdbUser;
      // mdbPassword
      if(joverride != null && joverride.mdbPassword != null)
         mdbPassword = joverride.mdbPassword;
      // mdbClientId
      if(joverride != null && joverride.mdbClientId != null)
         mdbClientId = joverride.mdbClientId;
      // mdbSubscriptionId
      if(joverride != null && joverride.mdbSubscriptionId != null)
         mdbSubscriptionId = joverride.mdbSubscriptionId;
      // resourceAdapterName
      if(joverride != null && joverride.resourceAdapterName != null)
         resourceAdapterName = joverride.resourceAdapterName;
      // ejbTimeoutIdentity
      if(joverride != null && joverride.ejbTimeoutIdentity != null)
         ejbTimeoutIdentity = joverride.ejbTimeoutIdentity;
      // defaultActivationConfig
      if(joverride != null && joverride.defaultActivationConfig != null)
         defaultActivationConfig = joverride.defaultActivationConfig;
      // create-destination
      if(joverride != null && joverride.createDestination != null)
         this.createDestination = joverride.createDestination;
   }
  
   public void merge(JBossEnterpriseBeanMetaData overrideEjb, JBossEnterpriseBeanMetaData originalEjb)
   {
      super.merge(overrideEjb, originalEjb);
     
      JBossMessageDrivenBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null: (JBossMessageDrivenBeanMetaData) overrideEjb;
      JBossMessageDrivenBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null: (JBossMessageDrivenBeanMetaData) originalEjb;
     
      ActivationConfigMetaData originalAConfig = null;
      AroundInvokesMetaData originalAInvokes = null;
      SecurityIdentityMetaData originalEjbTimeoutIdentity = null;
      if(original != null)
      {
         if(original.acknowledgeMode != null)
            this.acknowledgeMode = original.acknowledgeMode;
         if(original.destinationJndiName != null)
            this.destinationJndiName = original.destinationJndiName;
         if(original.mdbClientId != null)
            this.mdbClientId = original.mdbClientId;
         if(original.mdbPassword != null)
            this.mdbPassword = original.mdbPassword;
         if(original.mdbSubscriptionId != null)
            this.mdbSubscriptionId = original.mdbSubscriptionId;
         if(original.mdbUser != null)
            this.mdbUser = original.mdbUser;
         if(original.messageDestinationLink != null)
            this.messageDestinationLink = original.messageDestinationLink;
         if(original.messageDestinationType != null)
            this.messageDestinationType = original.messageDestinationType;
         if(original.messageSelector != null)
            this.messageSelector = original.messageSelector;
         if(original.messagingType != null)
            this.messagingType = original.messagingType;
         if(original.resourceAdapterName != null)
            this.resourceAdapterName = original.resourceAdapterName;
         if(original.subscriptionDurability != null)
            this.subscriptionDurability = original.subscriptionDurability;
         if(original.timeoutMethod != null)
            this.timeoutMethod = original.timeoutMethod;
        
         originalAConfig = original.activationConfig;
         originalAInvokes = original.aroundInvokes;
         originalEjbTimeoutIdentity = original.ejbTimeoutIdentity;
      }

      ActivationConfigMetaData overrideAConfig = null;
      AroundInvokesMetaData overrideAInvokes = null;
      SecurityIdentityMetaData overrideEjbTimeoutIdentity = null;
      if(override != null)
      {
         if(override.acknowledgeMode != null)
            this.acknowledgeMode = override.acknowledgeMode;
         if(override.destinationJndiName != null)
            this.destinationJndiName = override.destinationJndiName;
         if(override.mdbClientId != null)
            this.mdbClientId = override.mdbClientId;
         if(override.mdbPassword != null)
            this.mdbPassword = override.mdbPassword;
         if(override.mdbSubscriptionId != null)
            this.mdbSubscriptionId = override.mdbSubscriptionId;
         if(override.mdbUser != null)
            this.mdbUser = override.mdbUser;
         if(override.messageDestinationLink != null)
            this.messageDestinationLink = override.messageDestinationLink;
         if(override.messageDestinationType != null)
            this.messageDestinationType = override.messageDestinationType;
         if(override.messageSelector != null)
            this.messageSelector = override.messageSelector;
         if(override.messagingType != null)
            this.messagingType = override.messagingType;
         if(override.resourceAdapterName != null)
            this.resourceAdapterName = override.resourceAdapterName;
         if(override.subscriptionDurability != null)
            this.subscriptionDurability = override.subscriptionDurability;        
         if(override.timeoutMethod != null)
            this.timeoutMethod = override.timeoutMethod;
        
         overrideAConfig = override.activationConfig;
         overrideAInvokes = override.aroundInvokes;
         overrideEjbTimeoutIdentity = override.ejbTimeoutIdentity;
      }
      if(override != null && override.createDestination != null)
         this.createDestination = override.createDestination;
      else if (original != null && original.createDestination != null)
         this.createDestination = original.createDestination;
     
      if(originalAConfig != null || overrideAConfig != null)
      {
         if(activationConfig == null)
            activationConfig = new ActivationConfigMetaData();
         activationConfig.merge(overrideAConfig, originalAConfig);
      }
     
      if(originalAInvokes != null || overrideAInvokes != null)
      {
         if(aroundInvokes == null)
            aroundInvokes = new AroundInvokesMetaData();
         aroundInvokes.merge(overrideAInvokes, originalAInvokes);
      }
     
      if(originalEjbTimeoutIdentity != null || overrideEjbTimeoutIdentity != null)
      {
         if(ejbTimeoutIdentity == null)
            ejbTimeoutIdentity = new SecurityIdentityMetaData();
         ejbTimeoutIdentity.merge(overrideEjbTimeoutIdentity, originalEjbTimeoutIdentity);
      }
   }
  
   @Override
   protected void merge(JBossGenericBeanMetaData generic)
   {
      if(generic != null)
      {
         if(generic.getJndiName() != null)
            this.destinationJndiName = generic.getJndiName();
      }
   }
}
TOP

Related Classes of org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.