User: schaefera
  Date: 01/11/01 22:17:06

  Modified:    src/main/org/jboss/metadata Tag: Branch_2_4
                        MessageDrivenMetaData.java
  Log:
  Fixes for bug #441291 and #434739.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.7.4.2   +43 -3     jboss/src/main/org/jboss/metadata/MessageDrivenMetaData.java
  
  Index: MessageDrivenMetaData.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/metadata/MessageDrivenMetaData.java,v
  retrieving revision 1.7.4.1
  retrieving revision 1.7.4.2
  diff -u -r1.7.4.1 -r1.7.4.2
  --- MessageDrivenMetaData.java        2001/08/24 09:56:23     1.7.4.1
  +++ MessageDrivenMetaData.java        2001/11/02 06:17:06     1.7.4.2
  @@ -19,10 +19,19 @@
    *
    * Have to add changes ApplicationMetaData and ConfigurationMetaData
    *   @see <related>
  -' *   @author <a href="mailto:[EMAIL PROTECTED]";>Sebastien Alborini</a>
  + *   @author <a href="mailto:[EMAIL PROTECTED]";>Sebastien Alborini</a>
    *   @author Peter Antman ([EMAIL PROTECTED])
  -
  - *   @version $Revision: 1.7.4.1 $
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>
  + *
  + * <p><b>Revisions:</b></p>
  + * <p><b>20011031: Andy</b>
  + * <ul>
  + * <li>Ensured that the <message-selector> value in the descriptor does not
  + *     be compromised by leading and trailing spaces as well as line-breaks</li>
  + * </ul>
  + * </p>
  + *
  + *   @version $Revision: 1.7.4.2 $
    */
   public class MessageDrivenMetaData extends BeanMetaData {
      // Constants -----------------------------------------------------
  @@ -132,6 +141,37 @@
         super.importEjbJarXml(element);
                
         messageSelector = getElementContent(getOptionalChild(element, 
"message-selector"));
  +      if( messageSelector != null ) {
  +         //AS Check for Carriage Returns, remove them and trim the selector
  +         int i = -1;
  +         // Note this only works this way because the search and replace are 
distinct
  +         while( ( i = messageSelector.indexOf( "\r\n" ) ) >= 0 ) {
  +            // Replace \r\n by a space
  +            messageSelector = ( i == 0 ? "" : messageSelector.substring( 0, i ) ) +
  +                              " " +
  +                              ( i >= messageSelector.length() - 2 ? "" : 
messageSelector.substring( i + 2 ) );
  +         }
  +         i = -1;
  +         while( ( i = messageSelector.indexOf( "\r" ) ) >= 0 ) {
  +            // Replace \r by a space
  +            messageSelector = ( i == 0 ? "" : messageSelector.substring( 0, i ) ) +
  +                              " " +
  +                              ( i >= messageSelector.length() - 1 ? "" : 
messageSelector.substring( i + 1 ) );
  +         }
  +         i = -1;
  +         while( ( i = messageSelector.indexOf( "\n" ) ) >= 0 ) {
  +            // Replace \n by a space
  +            messageSelector = ( i == 0 ? "" : messageSelector.substring( 0, i ) ) +
  +                              " " +
  +                              ( i >= messageSelector.length() - 1 ? "" : 
messageSelector.substring( i + 1 ) );
  +         }
  +         // Finally trim it. This is here because only carriage returns and 
linefeeds are transformed
  +         // to spaces
  +         messageSelector = messageSelector.trim();
  +         if( "".equals( messageSelector ) ) {
  +            messageSelector = null;
  +         }
  +      }
   
         // set 
         Element destination = getUniqueChild(element, "message-driven-destination");
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to