1 package org.apache.continuum.web.util;
2
3 import java.util.Map;
4
5 import org.apache.commons.lang.StringEscapeUtils;
6 import org.apache.maven.continuum.model.project.ProjectNotifier;
7 import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
8 import org.codehaus.plexus.util.StringUtils;
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public final class GenerateRecipentNotifier
34 {
35 private GenerateRecipentNotifier()
36 {
37
38 }
39
40 @SuppressWarnings("unchecked")
41 public static String generate( ProjectNotifier notifier )
42 {
43 Map<String, String> configuration = notifier.getConfiguration();
44 String recipent = "unknown";
45 if ( ( "mail".equals( notifier.getType() ) ) || ( "msn".equals( notifier.getType() ) ) ||
46 ( "jabber".equals( notifier.getType() ) ) )
47 {
48 if ( StringUtils.isNotEmpty( configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
49 {
50 recipent = configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
51 }
52 if ( StringUtils.isNotEmpty( configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) ) )
53 {
54 if ( Boolean.parseBoolean( configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) ) )
55 {
56 if ( "unknown".equals( recipent ) )
57 {
58 recipent = "latest committers";
59 }
60 else
61 {
62 recipent += ", " + "latest committers";
63 }
64 }
65 }
66 }
67 if ( "irc".equals( notifier.getType() ) )
68 {
69 recipent = configuration.get( "host" );
70 if ( configuration.get( "port" ) != null )
71 {
72 recipent = recipent + ":" + configuration.get( "port" );
73 }
74 recipent = recipent + ":" + configuration.get( "channel" );
75 }
76 if ( "wagon".equals( notifier.getType() ) )
77 {
78 recipent = configuration.get( "url" );
79 }
80
81 return StringEscapeUtils.escapeXml( recipent );
82 }
83 }