View Javadoc

1   /*****************************************************************
2    * Licensed to the Apache Software Foundation (ASF) under one   *
3    * or more contributor license agreements.  See the NOTICE file *
4    * distributed with this work for additional information        *
5    * regarding copyright ownership.  The ASF licenses this file   *
6    * to you under the Apache License, Version 2.0 (the            *
7    * "License"); you may not use this file except in compliance   *
8    * with the License.  You may obtain a copy of the License at   *
9    *                                                              *
10   *   http://www.apache.org/licenses/LICENSE-2.0                 *
11   *                                                              *
12   * Unless required by applicable law or agreed to in writing,   *
13   * software distributed under the License is distributed on an  *
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
15   * KIND, either express or implied.  See the License for the    *
16   * specific language governing permissions and limitations      *
17   * under the License.                                           *
18   ****************************************************************/
19  
20  
21  package org.apache.james.postage.configuration;
22  
23  import org.apache.james.postage.user.UserList;
24  
25  import java.util.ArrayList;
26  import java.util.List;
27  import java.util.Collections;
28  import java.util.Iterator;
29  import java.util.LinkedHashMap;
30  import java.util.Map;
31  
32  public class PostageConfiguration {
33      private String m_id;
34  
35      private int     m_durationMinutes = 10;
36  
37      private boolean m_internalReuseExisting = true;
38  
39      private Map     m_descriptionItems = new LinkedHashMap();
40  
41      private UserList m_externalUsers = null;
42  
43      private UserList m_internalUsers = null;
44  
45      private String  m_testserverHost = null;
46  
47      private int     m_testserverPortSMTPForwarding = -1;
48  
49      private int     m_testserverSMTPForwardingWaitSeconds = 0;
50  
51      private int     m_testserverPortSMTPInbound = -1;
52  
53      private int     m_testserverPortPOP3 = -1;
54  
55      private int     m_testserverPOP3FetchesPerMinute = 1;
56  
57      private int     m_testserverRemoteManagerPort = -1;
58  
59      private String  m_testserverRemoteManagerUsername = null;
60  
61      private String  m_testserverRemoteManagerPassword = null;
62  
63      private String  m_testserverSpamAccountUsername = null;
64  
65      private String  m_testserverSpamAccountPassword = null;
66  
67      private int     m_testserverJMXRemotingPort = -1;
68  
69      private List    m_profiles = new ArrayList();
70  
71      public PostageConfiguration(String id) {
72          m_id = id;
73      }
74  
75      public String getId() {
76          return m_id;
77      }
78  
79      public int getDurationMinutes() {
80          return m_durationMinutes;
81      }
82  
83      public void setDurationMinutes(int durationMinutes) {
84          m_durationMinutes = durationMinutes;
85      }
86  
87      public boolean isInternalReuseExisting() {
88          return m_internalReuseExisting;
89      }
90  
91      public void addDescriptionItem(String name, String value) {
92          m_descriptionItems.put(name, value);
93      }
94  
95      public Map getDescriptionItems() {
96          return Collections.unmodifiableMap(m_descriptionItems);
97      }
98  
99      public void setInternalReuseExisting(boolean internalReuseExisting) {
100         m_internalReuseExisting = internalReuseExisting;
101     }
102 
103     public UserList getExternalUsers() {
104         return m_externalUsers;
105     }
106 
107     public void setExternalUsers(UserList externalUsers) {
108         m_externalUsers = externalUsers;
109     }
110 
111     public UserList getInternalUsers() {
112         return m_internalUsers;
113     }
114 
115     public void setInternalUsers(UserList internalUsers) {
116         m_internalUsers = internalUsers;
117     }
118 
119     public String getTestserverHost() {
120         return m_testserverHost;
121     }
122 
123     public void setTestserverHost(String testserverHost) {
124         m_testserverHost = testserverHost;
125     }
126 
127     public int getTestserverPortSMTPForwarding() {
128         return m_testserverPortSMTPForwarding;
129     }
130 
131     public void setTestserverPortSMTPForwarding(int testserverPortSMTPForwarding) {
132         m_testserverPortSMTPForwarding = testserverPortSMTPForwarding;
133     }
134 
135     public int getTestserverSMTPForwardingWaitSeconds() {
136         return m_testserverSMTPForwardingWaitSeconds;
137     }
138 
139     public void setTestserverSMTPForwardingWaitSeconds(int testserverSMTPForwardingWaitSeconds) {
140         m_testserverSMTPForwardingWaitSeconds = testserverSMTPForwardingWaitSeconds;
141     }
142 
143     public int getTestserverPortSMTPInbound() {
144         return m_testserverPortSMTPInbound;
145     }
146 
147     public void setTestserverPortSMTPInbound(int testserverPortSMTPInbound) {
148         m_testserverPortSMTPInbound = testserverPortSMTPInbound;
149     }
150 
151     public int getTestserverPortPOP3() {
152         return m_testserverPortPOP3;
153     }
154 
155     public void setTestserverPortPOP3(int testserverPortPOP3) {
156         m_testserverPortPOP3 = testserverPortPOP3;
157     }
158 
159     public int getTestserverPOP3FetchesPerMinute() {
160         return m_testserverPOP3FetchesPerMinute;
161     }
162 
163     public void setTestserverPOP3FetchesPerMinute(int testserverPOP3FetchesPerMinute) {
164         m_testserverPOP3FetchesPerMinute = testserverPOP3FetchesPerMinute;
165     }
166 
167     public int getTestserverRemoteManagerPort() {
168         return m_testserverRemoteManagerPort;
169     }
170 
171     public void setTestserverRemoteManagerPort(int testserverRemoteManagerPort) {
172         m_testserverRemoteManagerPort = testserverRemoteManagerPort;
173     }
174 
175     public String getTestserverRemoteManagerUsername() {
176         return m_testserverRemoteManagerUsername;
177     }
178 
179     public void setTestserverRemoteManagerUsername(String testserverRemoteManagerUsername) {
180         m_testserverRemoteManagerUsername = testserverRemoteManagerUsername;
181     }
182 
183     public String getTestserverRemoteManagerPassword() {
184         return m_testserverRemoteManagerPassword;
185     }
186 
187     public void setTestserverRemoteManagerPassword(String testserverRemoteManagerPassword) {
188         m_testserverRemoteManagerPassword = testserverRemoteManagerPassword;
189     }
190 
191     public String getTestserverSpamAccountUsername() {
192         return m_testserverSpamAccountUsername;
193     }
194 
195     public void setTestserverSpamAccountUsername(String testserverSpamAccountUsername) {
196         m_testserverSpamAccountUsername = testserverSpamAccountUsername;
197     }
198 
199     public String getTestserverSpamAccountPassword() {
200         return m_testserverSpamAccountPassword;
201     }
202 
203     public void setTestserverSpamAccountPassword(String testserverSpamAccountPassword) {
204         m_testserverSpamAccountPassword = testserverSpamAccountPassword;
205     }
206 
207     public int getTestserverPortJMXRemoting() {
208         return m_testserverJMXRemotingPort;
209     }
210 
211     public void setTestserverPortJMXRemoting(int testserverJMXRemotingPort) {
212         m_testserverJMXRemotingPort = testserverJMXRemotingPort;
213     }
214 
215     public void addProfile(SendProfile profile) {
216         m_profiles.add(profile);
217     }
218 
219     public List getProfiles() {
220         return Collections.unmodifiableList(m_profiles);
221     }
222 
223     public SendProfile findProfile(boolean sourceInternal, boolean targetInternal) {
224         Iterator iterator = m_profiles.iterator();
225         while (iterator.hasNext()) {
226             SendProfile sendProfile = (SendProfile)iterator.next();
227             if (sendProfile.isSourceInternal() == sourceInternal && sendProfile.isTargetInternal() == targetInternal) {
228                 return sendProfile;
229             }
230         }
231         return null;
232     }
233 
234     public int getTotalMailsPerMin() {
235         Iterator iterator = m_profiles.iterator();
236         int total = 0;
237         while (iterator.hasNext()) {
238             SendProfile sendProfile = (SendProfile)iterator.next();
239             total += sendProfile.getTotalMailsPerMin();
240         }
241         return total;
242     }
243 }