- private List getFiltersAsMaps(List aFilters) {
- synchronized(aFilters) {
- List result = new Vector();
-
- Iterator i = aFilters.iterator();
- while (i.hasNext()) {
- Filter filter = (Filter) i.next();
- Map map = new HashMap();
-
- map.put("id", filter.getId());
- map.put("expression", filter.getExpression());
- map.put("type", filter.getType());
-
- result.add(map);
- }
- return result;
- }
- }
-
- private void addFilter(List aFilters, String aType, String anExpression) {
- Filter filter = new Filter();
-
- filter.setId(generateId());
- filter.setExpression(anExpression);
- filter.setType(aType);
-
- synchronized (aFilters) {
- aFilters.add(filter);
- }
- }
-
- private void setFilter(List aFilters, String anIdentifier, String aType, String anExpression) {
- synchronized (aFilters) {
- Filter filter = findFilter(aFilters, anIdentifier);
-
- if (filter!=null) {
- filter.setExpression(anExpression);
- filter.setType(aType);
- }
- }
- }
-
- private Filter findFilter(List aFilters, String anIdentifier) {
- synchronized (aFilters) {
- Iterator i = aFilters.iterator();
- while (i.hasNext()) {
- Filter filter = (Filter) i.next();
-
- if (filter.getId().equals(anIdentifier)) {
- return filter;
- }
- }
- }
-
- return null;
- }
-
- private void deleteFilter(List aFilters, String anIdentifier) {
- synchronized (aFilters) {
- Filter filter = findFilter(aFilters, anIdentifier);
-
- if (filter!=null) {
- aFilters.remove(filter);
- }
- }
- }
-
- private String generateId() {
- synchronized(this) {
- maxIdentifier = maxIdentifier+1;
-
- return Integer.toString(maxIdentifier);
- }
- }
-
- private static class Filter {
- private String identifier;
- private String expression;
- private String type;
-
- public Filter() {
- expression="";
- type="";
- identifier="";
- }
-
- public String getId() {
- return identifier;
- }
-
- public void setId(String anId) {
- identifier = anId;
- }
-
- public String getExpression() {
- return expression;
- }
-
- public void setExpression(String anExpression) {
- expression = anExpression;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String aType) {
- type = aType;
- }
- }
-
- private void setFilterConfig(List aFilters, String aConfigKey, ExtendedProperties aConfiguration) {
- synchronized(aFilters) {
- Iterator i = aFilters.iterator();
-
- while (i.hasNext()) {
- Filter filter = (Filter) i.next();
-
- aConfiguration.addProperty(aConfigKey, filter.getType()+":"+filter.getExpression());
- }
- }
- }
-
- private void getFilterConfig(List aFilters, String aConfigKey, ExtendedProperties aConfiguration) {
- synchronized(aFilters) {
- aFilters.clear();
-
- Iterator i = Arrays.asList(aConfiguration.getStringArray(aConfigKey)).iterator();
-
- while (i.hasNext()) {
- String filter = (String) i.next();
- List parts = StringRoutines.separateString(filter, ":");
-
- if (parts.size()==2) {
- addFilter( (String) parts.get(0), (String) parts.get(1));
- }
- }
- }