KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > calipso > reportgenerator > userinterface > UPCollection


1 package com.calipso.reportgenerator.userinterface;
2
3 import com.calipso.reportgenerator.common.ReportSpec;
4 import com.calipso.reportgenerator.common.ReportFilterSpec;
5 import com.calipso.reportgenerator.common.LanguageTraslator;
6 import com.calipso.reportgenerator.reportdefinitions.types.FilterDefinitionFilterTypeType;
7 import com.calipso.reportgenerator.reportdefinitions.types.ParameterValueFilterParameterType;
8 import com.calipso.reportgenerator.reportcalculator.FilterOperation;
9
10 import java.util.Vector JavaDoc;
11 import java.util.Collection JavaDoc;
12 import java.util.Iterator JavaDoc;
13 import java.util.Map JavaDoc;
14
15 /**
16  * Crea instancias de <code>UPCollectionElement</code> por cada dimension.
17  * Cada instancia de <code>UPCollectionElement</code> conoce todos los datos
18  * del filtro de una determinada dimension.
19  */

20
21 public class UPCollection {
22
23   private ReportSpec reportSpec;
24   private Vector JavaDoc upCollection;
25   private Map JavaDoc existingParams;
26
27   public UPCollection(ReportSpec reportSpec, Map JavaDoc existingParams) {
28     this.reportSpec = reportSpec;
29     this.existingParams = existingParams;
30   }
31
32   public Vector JavaDoc getUpCollection() {
33     if(upCollection == null) {
34       upCollection = new Vector JavaDoc();
35       initializeCollection();
36     }
37     return upCollection;
38   }
39
40   private void initializeCollection() {
41     Collection JavaDoc filterCol = reportSpec.getEditFilterSpecs();
42     for(Iterator JavaDoc filterColIterator = filterCol.iterator() ; filterColIterator.hasNext() ; ){
43       ReportFilterSpec filterDefinition = (ReportFilterSpec) filterColIterator.next();
44       if(filterDefinition.getVisual() && !isPreset(filterDefinition)){
45         switch(filterDefinition.getFilterType().getType()){
46           case FilterDefinitionFilterTypeType.RANGE_TYPE:
47             upCollection.add(new UPRangeElement(filterDefinition, reportSpec, "FROM", "TO",
48                              LanguageTraslator.traslate("146"), LanguageTraslator.traslate("147")));
49             break;
50           case FilterDefinitionFilterTypeType.EQUALTO_TYPE:
51             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUE",
52                              LanguageTraslator.traslate("150")));
53             break;
54           case FilterDefinitionFilterTypeType.GREATERTHAN_TYPE:
55             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUE",
56                              LanguageTraslator.traslate("150")));
57             break;
58           case FilterDefinitionFilterTypeType.LESSTHAN_TYPE:
59             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUE",
60                              LanguageTraslator.traslate("150")));
61             break;
62           case FilterDefinitionFilterTypeType.BEGINWITH_TYPE:
63             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUE",
64                              LanguageTraslator.traslate("150")));
65             break;
66           case FilterDefinitionFilterTypeType.ENDWITH_TYPE:
67             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUE",
68                              LanguageTraslator.traslate("150")));
69             break;
70           case FilterDefinitionFilterTypeType.INCLUDES_TYPE:
71             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUE",
72                              LanguageTraslator.traslate("150")));
73             break;
74           case FilterDefinitionFilterTypeType.RANKING_TYPE:
75             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUE",
76                              LanguageTraslator.traslate("150")));
77             break;
78           case FilterDefinitionFilterTypeType.IN_TYPE:
79             upCollection.add(new UPValueElement(filterDefinition, reportSpec, "VALUES",
80                              LanguageTraslator.traslate("390")));
81             break;
82           case FilterDefinitionFilterTypeType.EXCLUDEGROUP_TYPE:
83             upCollection.add(new UPExcludeElement(filterDefinition, reportSpec));
84             break;
85         }
86       }
87     }
88   }
89
90   private boolean isPreset(ReportFilterSpec filterDefinition) {
91     if (existingParams == null){
92       return false;
93     } else {
94       return existingParams.containsKey(filterDefinition.getParamNames().get(0));
95     }
96   }
97 }
98
Popular Tags