View Javadoc

1   package org.apache.maven.continuum.web.action.notifier;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.maven.continuum.model.project.ProjectGroup;
23  import org.apache.maven.continuum.model.project.ProjectNotifier;
24  import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
25  
26  import java.util.HashMap;
27  import java.util.Map;
28  
29  /**
30   * Action that edits a {@link ProjectNotifier} of type 'Jabber' from the
31   * specified {@link ProjectGroup}.
32   *
33   * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
34   * @version $Id: JabberGroupNotifierEditAction.java 1372260 2012-08-13 04:29:09Z brett $
35   * @plexus.component role="com.opensymphony.xwork2.Action" role-hint="jabberGroupNotifierEdit"
36   * @since 1.1
37   */
38  public class JabberGroupNotifierEditAction
39      extends AbstractGroupNotifierEditAction
40  {
41      private String host;
42  
43      private int port = 5222;
44  
45      private String login;
46  
47      private String password;
48  
49      private String domainName;
50  
51      private String address;
52  
53      private boolean sslConnection;
54  
55      private boolean group;
56  
57      protected void initConfiguration( Map<String, String> configuration )
58      {
59          host = configuration.get( "host" );
60  
61          if ( configuration.get( "port" ) != null )
62          {
63              port = Integer.parseInt( configuration.get( "port" ) );
64          }
65  
66          login = configuration.get( "login" );
67  
68          password = configuration.get( "password" );
69  
70          domainName = configuration.get( "domainName" );
71  
72          address = configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
73  
74          sslConnection = Boolean.valueOf( configuration.get( "sslConnection" ) );
75  
76          group = Boolean.valueOf( configuration.get( "isGroup" ) );
77      }
78  
79      protected void setNotifierConfiguration( ProjectNotifier notifier )
80      {
81          HashMap<String, String> configuration = new HashMap<String, String>();
82  
83          configuration.put( "host", host );
84  
85          configuration.put( "port", String.valueOf( port ) );
86  
87          configuration.put( "login", login );
88  
89          configuration.put( "password", password );
90  
91          configuration.put( "domainName", domainName );
92  
93          configuration.put( AbstractContinuumNotifier.ADDRESS_FIELD, address );
94  
95          configuration.put( "sslConnection", String.valueOf( sslConnection ) );
96  
97          configuration.put( "isGroup", String.valueOf( group ) );
98  
99          notifier.setConfiguration( configuration );
100     }
101 
102     public String getHost()
103     {
104         return host;
105     }
106 
107     public void setHost( String host )
108     {
109         this.host = host;
110     }
111 
112     public int getPort()
113     {
114         return port;
115     }
116 
117     public void setPort( int port )
118     {
119         this.port = port;
120     }
121 
122     public String getLogin()
123     {
124         return login;
125     }
126 
127     public void setLogin( String login )
128     {
129         this.login = login;
130     }
131 
132     public String getPassword()
133     {
134         return password;
135     }
136 
137     public void setPassword( String password )
138     {
139         this.password = password;
140     }
141 
142     public String getDomainName()
143     {
144         return domainName;
145     }
146 
147     public void setDomainName( String domainName )
148     {
149         this.domainName = domainName;
150     }
151 
152     public String getAddress()
153     {
154         return address;
155     }
156 
157     public void setAddress( String address )
158     {
159         this.address = address;
160     }
161 
162     public boolean isSslConnection()
163     {
164         return sslConnection;
165     }
166 
167     public void setSslConnection( boolean sslConnection )
168     {
169         this.sslConnection = sslConnection;
170     }
171 
172     public boolean isGroup()
173     {
174         return group;
175     }
176 
177     public void setGroup( boolean group )
178     {
179         this.group = group;
180     }
181 }