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