KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > structure > ajax > StructureUtils


1 package com.dotmarketing.portlets.structure.ajax;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.Iterator JavaDoc;
5 import java.util.List JavaDoc;
6 import java.util.Map JavaDoc;
7
8 import com.dotmarketing.factories.InodeFactory;
9 import com.dotmarketing.portlets.categories.model.Category;
10 import com.dotmarketing.portlets.entities.factories.EntityFactory;
11 import com.dotmarketing.portlets.entities.model.Entity;
12 import com.dotmarketing.portlets.structure.factories.FieldFactory;
13 import com.dotmarketing.portlets.structure.factories.StructureFactory;
14 import com.dotmarketing.portlets.structure.model.Field;
15 import com.dotmarketing.portlets.structure.model.Structure;
16 import com.dotmarketing.util.Logger;
17 import com.dotmarketing.util.WebKeys;
18
19 /**
20  * @author David
21  */

22 public class StructureUtils {
23
24     public String JavaDoc getStructureFields (long structureInode) {
25         Structure st = StructureFactory.getStructureByInode(structureInode);
26         List JavaDoc fields = st.getFields();
27         Iterator JavaDoc it = fields.iterator();
28         StringBuffer JavaDoc names = new StringBuffer JavaDoc ();
29         names.append("[ ");
30         for (int i = 0; i < fields.size(); i++) {
31             Field field = (Field)it.next();
32             names.append("{ fieldinode:\"" + field.getInode() + "\", fieldname:\"" + field.getFieldName() + "\", fielddbname:\"" + field.getFieldContentlet() + "\", velocityname:\"" + field.getVelocityVarName() + "\" }");
33             if (i < fields.size() - 1)
34                 names.append(", ");
35         }
36         names.append(" ]");
37         return names.toString();
38     }
39
40     public List JavaDoc<Map JavaDoc> getSearchableStructureFields (long structureInode) {
41         Structure st = StructureFactory.getStructureByInode(structureInode);
42         List JavaDoc<Field> fields = st.getFields();
43         ArrayList JavaDoc<Map JavaDoc> searchableFields = new ArrayList JavaDoc<Map JavaDoc> ();
44         for (Field field : fields) {
45             if (field.isIndexed()) {
46                 try {
47                     Map JavaDoc fieldMap = field.getMap();
48                     searchableFields.add(fieldMap);
49                 } catch (Exception JavaDoc e) {
50                     Logger.error(this, "Error getting the map of properties of a field: " + field.getInode());
51                 }
52             }
53         }
54         return searchableFields;
55     }
56     
57     public List JavaDoc<Map JavaDoc> getKeyStructureFields (long structureInode) {
58         Structure st = StructureFactory.getStructureByInode(structureInode);
59         List JavaDoc<Field> fields = st.getFields();
60         ArrayList JavaDoc<Map JavaDoc> searchableFields = new ArrayList JavaDoc<Map JavaDoc> ();
61         for (Field field : fields) {
62             if (!field.getFieldType().equals(com.dotmarketing.util.WebKeys.TypeField.BUTTON) &&
63                     !field.getFieldType().equals(com.dotmarketing.util.WebKeys.TypeField.FILE) &&
64                     !field.getFieldType().equals(com.dotmarketing.util.WebKeys.TypeField.IMAGE)) {
65                 try {
66                     Map JavaDoc fieldMap = field.getMap();
67                     searchableFields.add(fieldMap);
68                 } catch (Exception JavaDoc e) {
69                     Logger.error(this, "Error getting the map of properties of a field: " + field.getInode());
70                 }
71             }
72         }
73         return searchableFields;
74     }
75     
76     public List JavaDoc<Map JavaDoc> getStructureCategories (String JavaDoc structureInode) {
77         Structure st = (Structure) InodeFactory.getInode(structureInode, Structure.class);
78         Entity entity = EntityFactory.getEntity(st.getName());
79         List JavaDoc<Category> cats = EntityFactory.getEntityCategories(entity);
80         List JavaDoc<Map JavaDoc> catsMaps = new ArrayList JavaDoc<Map JavaDoc>();
81         for (Category cat : cats) {
82             Map JavaDoc catMap = cat.getMap();
83             catsMaps.add(catMap);
84         }
85         return catsMaps;
86     }
87
88     public String JavaDoc getDropDownList (long fieldInode) {
89         StringBuffer JavaDoc ddHtml = new StringBuffer JavaDoc ();
90         Field f = FieldFactory.getFieldByInode(fieldInode);
91         if (f.getFieldType().equals(WebKeys.TypeField.MULTISELECT))
92             ddHtml.append("<select multiple size=\"4\" id=\"" + f.getVelocityVarName() + "\" name=\"" + f.getVelocityVarName() + "\">\n");
93         else
94             ddHtml.append("<select id=\"" + f.getVelocityVarName() + "\" name=\"" + f.getVelocityVarName() + "\">\n");
95         String JavaDoc valuesSt = f.getValues();
96         String JavaDoc[] values = valuesSt.split("[(\\r\\n)\\n\\s]");
97         for (String JavaDoc value : values) {
98             if (value.trim().equals("")) continue;
99             String JavaDoc[] temp = value.split("\\|");
100             String JavaDoc val = "", label = "";
101             if (temp.length > 0)
102                 label = temp[0];
103             if (temp.length > 1)
104                 val = temp[1];
105             else
106                 val = temp[1];
107                 
108             ddHtml.append(" <option value=\"" + val + "\" #if($UtilMethods.hasValue($!{" + f.getVelocityVarName() + "}, '" + val +"')) selected #end>"+label+"</option>\n");
109             
110         }
111         ddHtml.append("</select>\n");
112         return ddHtml.toString();
113     }
114
115     public String JavaDoc getDropDownOptions (long fieldInode) {
116         StringBuffer JavaDoc ddHtml = new StringBuffer JavaDoc ();
117         Field f = FieldFactory.getFieldByInode(fieldInode);
118         String JavaDoc valuesSt = f.getValues();
119         String JavaDoc[] values = valuesSt.split("[(\\r\\n)\\n\\s]");
120         for (String JavaDoc value : values) {
121             if (value.trim().equals("")) continue;
122             String JavaDoc[] temp = value.split("\\|");
123             String JavaDoc val = "", label = "";
124             if (temp.length > 0)
125                 label = temp[0];
126             if (temp.length > 1)
127                 val = temp[1];
128             else
129                 val = temp[1];
130                 
131             ddHtml.append("<option value=\"" + val + "\">"+label+"</option>\n");
132             
133         }
134         return ddHtml.toString();
135     }
136
137     public String JavaDoc getRadioButtons (long fieldInode) {
138         StringBuffer JavaDoc ddHtml = new StringBuffer JavaDoc ();
139         Field f = FieldFactory.getFieldByInode(fieldInode);
140         String JavaDoc valuesSt = f.getValues();
141         String JavaDoc[] values = valuesSt.split("[(\\r\\n)\\n\\s]");
142         for (String JavaDoc value : values) {
143             if (value.trim().equals("")) continue;
144             String JavaDoc[] temp = value.split("\\|");
145             String JavaDoc val = "", label = "";
146             if (temp.length > 0)
147                 label = temp[0];
148             if (temp.length > 1)
149                 val = temp[1];
150             else
151                 val = temp[1];
152                 
153             ddHtml.append("<input type=\"radio\" value=\"" + val + "\" id=\"" + f.getVelocityVarName() + "\" name=\"" + f.getVelocityVarName() + "\" #if($!{" + f.getVelocityVarName() + "} == '" + val +"') checked #end> " + label + "<br>\n");
154             
155         }
156         return ddHtml.toString();
157     }
158
159     public String JavaDoc getCheckboxes (long fieldInode) {
160         StringBuffer JavaDoc ddHtml = new StringBuffer JavaDoc ();
161         Field f = FieldFactory.getFieldByInode(fieldInode);
162         String JavaDoc valuesSt = f.getValues();
163         String JavaDoc[] values = valuesSt.split("[(\\r\\n)\\n\\s]");
164         for (String JavaDoc value : values) {
165             if (value.trim().equals("")) continue;
166             String JavaDoc[] temp = value.split("\\|");
167             String JavaDoc val = "", label = "";
168             if (temp.length > 0)
169                 label = temp[0];
170             if (temp.length > 1)
171                 val = temp[1];
172             else
173                 val = temp[1];
174                 
175             ddHtml.append("<input type=\"checkbox\" value=\"" + val + "\" id=\"" + f.getVelocityVarName() + "\" name=\"" + f.getVelocityVarName() + "\" #if($UtilMethods.hasValue($!{" + f.getVelocityVarName() + "}, '" + val +"')) checked #end> " + label + "<br>\n");
176             
177         }
178         return ddHtml.toString();
179     }
180
181     
182 }
183
Popular Tags