Source code: com/rsi/ipstat/UserEditBean.java
1 /*
2
3 This software is open-source and is distributed under the terms of the GNU
4 General Public License.
5
6 Copyright (c) 2000-2002 Sergey I. Rotar <rsi@isp.od.ua>
7
8 */
9
10 package com.rsi.ipstat;
11
12 import java.net.*;
13 import java.util.*;
14
15 public class UserEditBean {
16 private InetAddress addr;
17 private int id;
18 private String edit;
19 private String user;
20 private String password1;
21 private String password2;
22 private String hostname;
23 private String ip_addr;
24 private String ip_mask;
25 private String limit_in;
26 private String limit_out;
27 private String day_limit_in;
28 private String day_limit_out;
29 // OUR MEMBERS
30 private String WarnProc;
31 private String StopProc;
32 private String Email;
33 private String LimitTotal;
34 private String Day;
35 private String Month;
36 private String Year;
37 private String Expiration;
38 private Hashtable errors;
39
40 public boolean validate() {
41 boolean allOk = true;
42
43 user = user.trim();
44 password1 = password1.trim();
45 hostname = hostname.trim();
46 ip_addr = ip_addr.trim();
47 ip_mask = ip_mask.trim();
48 WarnProc = WarnProc.trim();
49 StopProc = StopProc.trim();
50 Email = Email.trim();
51 Day = Day.trim();
52 Month = Month.trim();
53 Year = Year.trim();
54 Expiration = Expiration.trim();
55
56 System.out.println("Validate called");
57 if (user.equals("")) {
58 errors.put("user","Please enter an user name");
59 allOk = false;
60 }
61
62
63 if (!user.equals("") && DBManager.checkUser(user, id)) {
64 errors.put("user","Please enter another user name");
65 allOk = false;
66 }
67
68 if (edit.equals("") && password1.equals("")) {
69 errors.put("password1","Please enter a password");
70 allOk = false;
71 }
72
73 if (edit.equals("") && password2.equals("") || !password2.equals(password1)) {
74 errors.put("password2","Please confirm the password");
75 password2 = "";
76 allOk = false;
77 }
78
79 if (hostname.equals("")) {
80 errors.put("hostname","Please enter a hostname");
81 allOk = false;
82 }
83
84 if (ip_addr.equals("") || DBManager.checkIP(ip_addr, id)) {
85 errors.put("ip_addr","Please enter a valid IP address");
86 allOk = false;
87 }
88
89 if (!ip_addr.equals("") && ip_addr.lastIndexOf(".") == (ip_addr.length() - 1) ) {
90 ip_addr = ip_addr.substring(0, ip_addr.length() - 1);
91 }
92
93 if (!ip_addr.equals(""))
94 try {
95 Exception e = new Exception();
96 StringTokenizer st = new StringTokenizer(ip_addr);
97 int ipoct = 0;
98 for(int i = 0; i < 4; i++) {
99 ipoct = Integer.decode(st.nextToken(".")).intValue();
100 if( ipoct < 0 || ipoct > 256 ) throw e;
101 }
102 if (st.hasMoreTokens()) throw e;
103 }
104 catch (Exception e) {
105 errors.put("ip_addr","Please enter a valid IP address");
106 allOk = false;
107 }
108
109 if (!ip_mask.equals("") && ip_mask.lastIndexOf(".") == (ip_mask.length() - 1) ) {
110 ip_mask = ip_mask.substring(0, ip_mask.length() - 1);
111 }
112
113 if (!ip_mask.equals(""))
114 try {
115 Exception e = new Exception();
116 StringTokenizer st = new StringTokenizer(ip_mask);
117 int ipoct = 0;
118 for(int i = 0; i < 4; i++) {
119 ipoct = Integer.decode(st.nextToken(".")).intValue();
120 if( ipoct < 0 || ipoct > 256 ) throw e;
121 }
122 if (st.hasMoreTokens()) throw e;
123 }
124 catch (Exception e) {
125 errors.put("ip_mask","Please enter a valid IP mask");
126 allOk = false;
127 }
128
129 if (limit_in.equals("")) {
130 errors.put("limit_in","Please enter a valid limit value");
131 limit_in = "0";
132 allOk = false;
133 } else {
134 try {
135 long x = Long.parseLong(limit_in);
136 }
137 catch (NumberFormatException e) {
138 errors.put("limit_in","Please enter a valid limit value");
139 limit_in = "0";
140 allOk = false;
141 }
142 }
143
144 if (limit_out.equals("")) {
145 errors.put("limit_out","Please enter a valid limit value");
146 limit_out = "0";
147 allOk = false;
148 } else {
149 try {
150 long x = Long.parseLong(limit_out);
151 }
152 catch (NumberFormatException e) {
153 errors.put("limit_out","Please enter a valid limit value");
154 limit_out = "0";
155 allOk = false;
156 }
157 }
158
159 if (day_limit_in.equals("")) {
160 errors.put("day_limit_in","Please enter a valid limit value");
161 day_limit_in = "0";
162 allOk = false;
163 } else {
164 try {
165 long x = Long.parseLong(day_limit_in);
166 }
167 catch (NumberFormatException e) {
168 errors.put("day_limit_in","Please enter a valid limit value");
169 day_limit_in = "0";
170 allOk = false;
171 }
172 }
173
174 if (day_limit_out.equals("")) {
175 errors.put("day_limit_out","Please enter a valid limit value");
176 day_limit_out = "0";
177 allOk = false;
178 } else {
179 try {
180 long x = Long.parseLong(day_limit_out);
181 }
182 catch (NumberFormatException e) {
183 errors.put("day_limit_out","Please enter a valid limit value");
184 day_limit_out = "0";
185 allOk = false;
186 }
187 }
188
189 /* if (WarnProc.equals("")) {
190 errors.put("WarnProc","Please enter a valid limit value");
191 WarnProc = "0";
192 allOk = false;
193 } else {
194 try {
195 long x = Long.parseLong(WarnProc);
196 }
197 catch (NumberFormatException e) {
198 errors.put("WarnProc","Please enter a valid limit value");
199 WarnProc = "0";
200 allOk = false;
201 }
202 }
203
204 if (StopProc.equals("")) {
205 errors.put("StopProc","Please enter a valid limit value");
206 StopProc = "0";
207 allOk = false;
208 } else {
209 try {
210 long x = Long.parseLong(StopProc);
211 }
212 catch (NumberFormatException e) {
213 errors.put("StopProc","Please enter a valid limit value");
214 StopProc = "0";
215 allOk = false;
216 }
217 }
218 if (Email.equals("")) {
219 errors.put("Email","Please enter an email");
220 allOk = false;
221 }
222 */
223
224
225 System.out.println("Validate ended");
226 return allOk;
227 }
228
229 public String getErrorMsg(String s) {
230 String errorMsg = (String)errors.get(s.trim());
231 return (errorMsg == null) ? "" : errorMsg;
232 }
233
234 public UserEditBean() {
235 id = -1;
236 addr = null;
237 edit = new String();
238 user = new String();
239 password1 = new String();
240 password2 = new String();
241
242 try {
243 hostname = addr.getLocalHost().getHostName();
244 } catch (UnknownHostException e) {
245 hostname = new String();
246 }
247 ip_addr = new String();
248 ip_mask = new String();
249 limit_in = "0";
250 limit_out = "0";
251 day_limit_in = "0";
252 day_limit_out = "0";
253 LimitTotal = "0";
254 WarnProc = "80";
255 StopProc = "100";
256 Day = "1";
257 Month = "1";
258 Year = "1970";
259 Expiration = "0";
260 Email = new String();
261 errors = new Hashtable();
262 }
263
264 public int getId() {
265 return id;
266 }
267
268 public String getUser() {
269 return user;
270 }
271 public String getEmail() {
272 return Email;
273 }
274
275
276 public String getPassword1() {
277 return password1;
278 }
279
280 public String getPassword2() {
281 return password2;
282 }
283
284 public String getIp_addr() {
285 return ip_addr;
286 }
287
288 public String getHostname() {
289 return hostname;
290 }
291
292 public String getIp_mask() {
293 return ip_mask;
294 }
295
296 public String getLimit_in() {
297 return limit_in;
298 }
299
300 public String getLimit_out() {
301 return limit_out;
302 }
303
304 public String getLimitTotal() {
305 System.out.println("GetLimit");
306 return LimitTotal;
307 }
308
309 public String getWarnProc() {
310 return WarnProc;
311 }
312
313 public String getStopProc() {
314 return StopProc;
315 }
316 public String getDay_limit_in() {
317 return day_limit_in;
318 }
319
320 public String getDay_limit_out() {
321 return day_limit_out;
322 }
323
324 public String getDay() {
325 return Day;
326 }
327
328 public String getMonth() {
329 return Month;
330 }
331
332 public String getYear() {
333 return Year;
334 }
335
336 public String getExpiration() {
337 return Expiration;
338 }
339
340 public void setId(int ident) {
341 id = ident;
342 }
343
344 public void setEdit(String e) {
345 edit = e;
346 }
347
348 public void setUser(String usr) {
349 user = usr;
350 }
351 public void setEmail(String Email) {
352 Email = Email;
353 }
354
355 public void setPassword1(String pd1) {
356 password1 = pd1;
357 }
358
359 public void setPassword2(String pd2) {
360 password2 = pd2;
361 }
362
363 public void setHostname(String host) {
364 hostname = host;
365 }
366
367 public void setIp_addr(String addr) {
368 ip_addr = addr;
369 }
370
371 public void setIp_mask(String mask) {
372 ip_mask = mask;
373 }
374
375 public void setLimit_in(String in) {
376 limit_in = in;
377 }
378
379 public void setLimit_out(String out) {
380 limit_out = out;
381
382 }
383
384 public void setDay_limit_in(String in) {
385 day_limit_in = in;
386 }
387
388 public void setDay_limit_out(String out) {
389 day_limit_out = out;
390 }
391
392 public void setLimitTotal(String LimitTotal) {
393 LimitTotal = LimitTotal;
394 }
395
396 public void setWarnProc(String WarnProc) {
397 WarnProc = WarnProc;
398 }
399
400 public void setStopProc(String StopProc) {
401 StopProc = StopProc;
402 }
403
404 public void setDay(String Day) {
405 Day = Day;
406 }
407
408 public void setMonth(String Month) {
409 Month = Month;
410 }
411
412 public void setYear(String Year) {
413 Year = Year;
414 }
415
416 public void setExpiration(String Expiration) {
417 Expiration = Expiration;
418 }
419
420 public void setErrors(String key, String msg) {
421 errors.put(key, msg);
422 }
423
424 }