1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.pluto.core.impl;
21
22 import javax.portlet.*;
23 import java.util.*;
24
25 public class PreferencesValidatorImpl implements PreferencesValidator
26 {
27
28 public PreferencesValidatorImpl()
29 {
30 }
31
32 public void validate(PortletPreferences preferences)
33 throws ValidatorException
34 {
35 Collection failedKeys = new ArrayList();
36 Enumeration names = preferences.getNames();
37
38 String[] defValues = {"no values"};
39 String[] values = null;
40 String key = null;
41
42 while (names.hasMoreElements())
43 {
44 key = names.nextElement().toString();
45 values = preferences.getValues(key, defValues);
46
47 if (values != null)
48 {
49 for (int i=0; i<values.length;i++)
50 {
51 if (values[i] != null)
52 {
53
54 if (!values[i].equalsIgnoreCase(values[i].trim()))
55 {
56 failedKeys.add(key);
57 i=values.length;
58 }
59 }
60 }
61 }
62 }
63
64 if (!failedKeys.isEmpty())
65 {
66 throw new ValidatorException("One or more preferences do not comply with the validation criteria",failedKeys);
67 }
68 }
69 }