User: salborini
  Date: 00/11/24 10:51:42

  Modified:    src/main/org/jboss/metadata ApplicationMetaData.java
                        ConfigurationMetaData.java MetaData.java
  Log:
  Bugfixes:
  - trim element contents
  - allow jboss.xml to redefine only a part of a container configuration (patch from 
Toby Allsopp <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.10      +2 -2      jboss/src/main/org/jboss/metadata/ApplicationMetaData.java
  
  Index: ApplicationMetaData.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/metadata/ApplicationMetaData.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ApplicationMetaData.java  2000/11/07 13:15:39     1.9
  +++ ApplicationMetaData.java  2000/11/24 18:51:41     1.10
  @@ -25,7 +25,7 @@
    *      
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
  - *   @version $Revision: 1.9 $
  + *   @version $Revision: 1.10 $
    */
   public class ApplicationMetaData extends MetaData {
       // Constants -----------------------------------------------------
  @@ -300,7 +300,7 @@
                 String jndi = getElementContent(getOptionalChild(resourceManager, 
"res-jndi-name"));
                 
                 // Make sure it is prefixed with java:
  -              if (!jndi.startsWith("java:/"))
  +              if (jndi != null && !jndi.startsWith("java:/"))
                  jndi = "java:/"+jndi;
                  
                 String url = getElementContent(getOptionalChild(resourceManager, 
"res-url"));
  
  
  
  1.6       +32 -21    jboss/src/main/org/jboss/metadata/ConfigurationMetaData.java
  
  Index: ConfigurationMetaData.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/metadata/ConfigurationMetaData.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ConfigurationMetaData.java        2000/10/25 23:04:15     1.5
  +++ ConfigurationMetaData.java        2000/11/24 18:51:41     1.6
  @@ -15,7 +15,7 @@
    *      
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
  - *   @version $Revision: 1.5 $
  + *   @version $Revision: 1.6 $
    */
   public class ConfigurationMetaData extends MetaData {
       
  @@ -33,8 +33,8 @@
        public static final byte A_COMMIT_OPTION = 0;
        public static final byte B_COMMIT_OPTION = 1;
        public static final byte C_COMMIT_OPTION = 2;
  +     public static final String[] commitOptionStrings = { "A", "B", "C" };
        
  -     
       // Attributes ----------------------------------------------------
        private String name;
        private String containerInvoker;
  @@ -93,41 +93,33 @@
                // defined in standardjboss.xml
                
                // set call logging
  -             callLogging = 
Boolean.valueOf(getElementContent(getOptionalChild(element, 
"call-logging"))).booleanValue();
  +             callLogging = 
Boolean.valueOf(getElementContent(getOptionalChild(element, "call-logging"), 
String.valueOf(callLogging))).booleanValue();
                
                // set the container invoker
  -             containerInvoker = getElementContent(getOptionalChild(element, 
"container-invoker"));
  +             containerInvoker = getElementContent(getOptionalChild(element, 
"container-invoker"), containerInvoker);
                
                // set the instance pool
  -             instancePool = getElementContent(getOptionalChild(element, 
"instance-pool"));
  +             instancePool = getElementContent(getOptionalChild(element, 
"instance-pool"), instancePool);
                
                // set the instance cache
  -             instanceCache = getElementContent(getOptionalChild(element, 
"instance-cache"));
  +             instanceCache = getElementContent(getOptionalChild(element, 
"instance-cache"), instanceCache);
                
                // set the persistence manager
  -             persistenceManager = getElementContent(getOptionalChild(element, 
"persistence-manager"));
  +             persistenceManager = getElementContent(getOptionalChild(element, 
"persistence-manager"), persistenceManager);
                
                // set the transaction manager
  -             transactionManager = getElementContent(getOptionalChild(element, 
"transaction-manager"));
  +             transactionManager = getElementContent(getOptionalChild(element, 
"transaction-manager"), transactionManager);
   
                // set the authentication module
  -             authenticationModule = getElementContent(getOptionalChild(element, 
"authentication-module"));
  +             authenticationModule = getElementContent(getOptionalChild(element, 
"authentication-module"), authenticationModule);
   
                // set the role mapping manager
  -             roleMappingManager = getElementContent(getOptionalChild(element, 
"role-mapping-manager"));
  +             roleMappingManager = getElementContent(getOptionalChild(element, 
"role-mapping-manager"), roleMappingManager);
   
       // set the commit option
  -             String commit = getElementContent(getOptionalChild(element, 
"commit-option"));
  +             String commit = getElementContent(getOptionalChild(element, 
"commit-option"), commitOptionToString(commitOption));
       
  -             if (commit != null) {
  -                     if (commit.equals("A")) {
  -                             commitOption = A_COMMIT_OPTION;
  -                     } else if (commit.equals("B")) {
  -                             commitOption = B_COMMIT_OPTION;
  -                     } else if (commit.equals("C")) {
  -                             commitOption = C_COMMIT_OPTION;
  -                     } else throw new DeploymentException("Invalid commit option");
  -             }
  +             commitOption = stringToCommitOption(commit);
                
                // the classes which can understand the following are dynamically 
loaded during deployment : 
                // We save the Elements for them to use later
  @@ -148,6 +140,25 @@
       // Protected -----------------------------------------------------
       
       // Private -------------------------------------------------------
  -    
  +     private static String commitOptionToString(byte commitOption)
  +             throws DeploymentException {
  +             
  +             try {
  +                     return commitOptionStrings[commitOption];
  +             } catch( ArrayIndexOutOfBoundsException e ) {
  +                     throw new DeploymentException("Invalid commit option: " + 
commitOption);
  +             }
  +     }
  +     
  +     private static byte stringToCommitOption(String commitOption)
  +             throws DeploymentException {
  +             
  +         for( byte i=0; i<commitOptionStrings.length; ++i )
  +             if( commitOptionStrings[i].equals(commitOption) ) 
  +                 return i;
  +              
  +         throw new DeploymentException("Invalid commit option: '" + commitOption + 
"'");
  +     }
  +     
       // Inner classes -------------------------------------------------
   }
  
  
  
  1.10      +10 -4     jboss/src/main/org/jboss/metadata/MetaData.java
  
  Index: MetaData.java
  ===================================================================
  RCS file: /products/cvs/ejboss/jboss/src/main/org/jboss/metadata/MetaData.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- MetaData.java     2000/09/28 19:14:28     1.9
  +++ MetaData.java     2000/11/24 18:51:41     1.10
  @@ -22,7 +22,7 @@
    *      
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
  - *   @version $Revision: 1.9 $
  + *   @version $Revision: 1.10 $
    */
   public abstract class MetaData implements XmlLoadable {
       // Constants -----------------------------------------------------
  @@ -88,16 +88,22 @@
        }
        
        public static String getElementContent(Element element) throws 
DeploymentException {
  -             if (element == null) return null;
  +             
  +             return getElementContent(element, null);
  +     }
  +     
  +     public static String getElementContent(Element element, String defaultStr) 
throws DeploymentException {
  +             if (element == null) return defaultStr;
                
                NodeList children = element.getChildNodes();
                if ((children.getLength() == 1) && (children.item(0).getNodeType() == 
Node.TEXT_NODE)) {
  -                 return children.item(0).getNodeValue();
  +                     String result = children.item(0).getNodeValue();
  +                     return result == null ? null : result.trim();
                } else {
                        return null;
                }
        }
  -             
  +     
       
       // Constructors --------------------------------------------------
       
  
  
  

Reply via email to