vincenzo 2003/06/23 11:51:39 Modified: src/java/org/apache/james/transport/matchers Tag: branch_2_1_fcs RecipientIsRegex.java Log: More javadoc, in sync with new SenderIsRegex, plus better logging of exceptions if caught during init. Revision Changes Path No revision No revision 1.1.2.2 +24 -14 jakarta-james/src/java/org/apache/james/transport/matchers/RecipientIsRegex.java Index: RecipientIsRegex.java =================================================================== RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/matchers/RecipientIsRegex.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- RecipientIsRegex.java 21 May 2003 04:34:44 -0000 1.1.2.1 +++ RecipientIsRegex.java 23 Jun 2003 18:51:39 -0000 1.1.2.2 @@ -63,18 +63,22 @@ import org.apache.oro.text.regex.*; +import javax.mail.MessagingException; + /** - * Uses regular expression + * <P>Matches recipients whose address matches a regular expression.</P> + * <P>Is equivalent to the [EMAIL PROTECTED] SenderIsRegex} matcher but matching on the recipient.</P> + * <P>Configuration string: a regular expression.</P> + * <PRE><CODE> + * <mailet match="RecipientIsRegex=<regular-expression>" class="<any-class>"> + * </CODE></PRE> + * <P>The example below will match any recipient in the format [EMAIL PROTECTED]</P> + * <PRE><CODE> + * <mailet match="RecipientIsRegex=(.*)@log\.(.*)" class="<any-class>"> + * </mailet> + * </CODE></PRE> * - *<p><mailet match="RecipientMatch=<regular-expression>" -class="<any-class>"></p> - * <p>The example below will match any recipient in the format [EMAIL PROTECTED]</p> - * <p><mailet match="RecipientMatch=(.*)@log\.(.*)" -class="<any-class>"><br> - * </mailet><br> - * </p> - * @version 1.0.0, 27/06/2002 + * @version CVS $Revision$ $Date$ */ public class RecipientIsRegex extends GenericRecipientMatcher { @@ -85,16 +89,22 @@ Pattern pattern = null; public void init() throws javax.mail.MessagingException { + String patternString = getCondition(); + if (patternString == null) { + throw new MessagingException("Pattern is missing"); + } + + patternString = patternString.trim(); try { - pattern = compiler.compile( getCondition() ); - } catch(MalformedPatternException e) { - e.printStackTrace(); + pattern = compiler.compile(patternString); + } catch(MalformedPatternException mpe) { + throw new MessagingException("Malformed pattern: " + patternString, mpe); } } public boolean matchRecipient(MailAddress recipient) { String myRecipient = recipient.toString(); - if ( matcher.matches( myRecipient, pattern) ){ + if (matcher.matches(myRecipient, pattern)){ return true; } else { return false;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]