KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > clipbuilder > html > XML > ElementBuilder


1 package org.jahia.clipbuilder.html.XML;
2
3 import org.jdom.*;
4 import java.util.*;
5 import org.jahia.clipbuilder.html.util.*;
6
7 /**
8  * Description of the Class
9  *
10  *@author Tlili Khaled
11  */

12 public class ElementBuilder {
13
14     /**
15      * Description of the Field
16      */

17     private static ElementBuilder instance;
18
19
20     /**
21      * Gets the ClipperEle attribute of the ElementBuilder object
22      *
23      *@param name Description of Parameter
24      *@param description Description of Parameter
25      *@return The ClipperEle value
26      */

27     public Element buildClipper(String JavaDoc name, String JavaDoc description) {
28         //Clipper
29
Element ele = new Element(Label.CLIPPER);
30
31         //name
32
Element nameEle = new Element(Label.NAME);
33         nameEle.setText(name);
34         ele.addContent(nameEle);
35
36         //description
37
Element descriptionEle = new Element(Label.DESCRIPTION);
38         if (description != null && !description.equals("")) {
39             descriptionEle.setText(description);
40         }
41         ele.addContent(descriptionEle);
42
43         //SequenceUrl
44
ele.addContent(new Comment(
45                 "All the url visited by the clipper (ranged by order)"));
46
47         ele.addContent(new Element(Label.SEQUENCEURL));
48
49         return ele;
50     }
51
52
53     /**
54      * Description of the Method
55      *
56      *@param type Description of Parameter
57      *@param keysMap Description of Parameter
58      *@return Description of the Returned Value
59      */

60     public Element buildFilter(String JavaDoc type, Map keysMap) {
61         //Filter
62
Element filterEle = new Element(Label.FILTER);
63         filterEle.setAttribute(Label.FILTER_TYPE, type);
64
65         Iterator it = keysMap.keySet().iterator();
66         while (it.hasNext()) {
67             String JavaDoc name = (String JavaDoc) it.next();
68             String JavaDoc value = (String JavaDoc) keysMap.get(name);
69
70             // add key
71
Element keyEle = new Element(Label.KEY);
72             keyEle.setAttribute(Label.KEY_NAME, name);
73             keyEle.setText(value);
74             filterEle.addContent(keyEle);
75
76         }
77
78         return filterEle;
79     }
80
81
82     /**
83      * Description of the Method
84      *
85      *@param proxy Description of Parameter
86      *@param browserJavascriptEvent Description of Parameter
87      *@param browserJavascriptCode Description of Parameter
88      *@param enableSSL Description of Parameter
89      *@param enableJavascript Description of Parameter
90      *@param client Description of Parameter
91      *@param htmlDocument Description of Parameter
92      *@param enableCSS Description of Parameter
93      *@param portletEnableSSL Description of Parameter
94      *@param portletContinualClipping Description of Parameter
95      *@param portletCacheExpiration Description of Parameter
96      *@return Description of the Returned Value
97      */

98     public Element buildConfiguration(String JavaDoc proxy,
99             String JavaDoc browserJavascriptEvent,
100             String JavaDoc browserJavascriptCode,
101             String JavaDoc enableSSL, String JavaDoc enableJavascript,
102             String JavaDoc client, String JavaDoc htmlDocument,
103             String JavaDoc enableCSS, String JavaDoc portletEnableSSL,
104             String JavaDoc portletContinualClipping, String JavaDoc portletCacheExpiration,
105                         String JavaDoc portletCacheContext) {
106
107         //Configuration
108
Element configureEle = new Element(Label.CONFIGURATION);
109
110         //proxy
111
Element proxyEle = new Element(Label.PROXY);
112         proxyEle.setText(proxy);
113
114         //SSL
115
Element enableSSLEle = new Element(Label.ENABLESSL);
116         enableSSLEle.setText(enableSSL);
117
118         //Browser javascript
119
Element browserJavascriptCodeEle = new Element(
120                 Label.BROWSER_JAVASCRIPT_CODE);
121         browserJavascriptCodeEle.setText(browserJavascriptCode);
122         Element browserJavascriptEventEle = new Element(
123                 Label.BROWSER_JAVASCRIPT_EVENT);
124         browserJavascriptEventEle.setText(browserJavascriptEvent);
125
126         //WebClient
127
Element clientEle = new Element(Label.CLIENT);
128         clientEle.setText(client);
129
130         //HTMLDocument
131
Element htmlDocumentEle = new Element(Label.HTMLDOCUMENT);
132         htmlDocumentEle.setText(htmlDocument);
133         Element enableCssEle = new Element(Label.ENABLECSS);
134         enableCssEle.setText(enableCSS);
135
136         //WebClient javascript
137
Element enableJavascriptEle = new Element(Label.ENABLEJAVASCRIPT);
138         enableJavascriptEle.setText(enableJavascript);
139
140         //Portlet-SSL
141
Element portletSSLEle = new Element(Label.PORTLET_SSL);
142         portletSSLEle.setText(portletEnableSSL);
143
144         //Portlet-clipping
145
Element portletClippingEle = new Element(Label.PORTLET_CLIPPING);
146         portletClippingEle.setText(portletContinualClipping);
147
148         //Portlet-clipping
149
Element portletCacheExpirationEle = new Element(Label.PORTLET_CACHE_EXPIRATION);
150         portletCacheExpirationEle.setText(portletCacheExpiration);
151
152                 //Portlet-clipping
153
Element portletCacheContextEle = new Element(Label.PORTLET_CACHE_CONTEXT);
154                 portletCacheContextEle.setText(portletCacheContext);
155
156
157         // add elements
158
configureEle.addContent(proxyEle);
159         configureEle.addContent(enableSSLEle);
160         configureEle.addContent(clientEle);
161         configureEle.addContent(htmlDocumentEle);
162         configureEle.addContent(enableCssEle);
163         configureEle.addContent(enableJavascriptEle);
164         configureEle.addContent(browserJavascriptCodeEle);
165         configureEle.addContent(browserJavascriptEventEle);
166         configureEle.addContent(portletSSLEle);
167         configureEle.addContent(portletClippingEle);
168         configureEle.addContent(portletCacheExpirationEle);
169                 configureEle.addContent(portletCacheContextEle);
170
171         return configureEle;
172     }
173
174
175     /**
176      * build an url Element
177      *
178      *@param baseUrl Description of Parameter
179      *@param redirectUrl Description of Parameter
180      *@param finalValue Description of Parameter
181      *@param from Description of Parameter
182      *@param hash Description of Parameter
183      *@return Description of the Returned Value
184      */

185     public Element buildURL(String JavaDoc baseUrl, String JavaDoc redirectUrl,
186             String JavaDoc finalValue, String JavaDoc from, String JavaDoc hash) {
187         ///url
188
Element urlEle = new Element(Label.URL);
189         urlEle.setAttribute(Label.URL_FROM, from);
190         urlEle.setAttribute(Label.URL_HASH, hash);
191
192         //Value
193
Element baseEle = new Element(Label.BASE);
194         baseEle.setText(baseUrl);
195         urlEle.addContent(baseEle);
196
197         //Value
198
Element valueEle = new Element(Label.VALUE);
199         valueEle.setText(redirectUrl);
200         urlEle.addContent(valueEle);
201
202         //Redirection
203
Element redirectValueEle = new Element(Label.FINAL_VALUE);
204         redirectValueEle.setText(finalValue);
205         urlEle.addContent(redirectValueEle);
206
207         //QueryParam
208
urlEle.addContent(new Comment("Query parameter for the request"));
209         Element queryParam = new Element(Label.QUERYPARAM);
210         urlEle.addContent(queryParam);
211
212         //FormParam
213
urlEle.addContent(new Comment("Parameters found in forms tag"));
214         Element userParam = new Element(Label.USERPARAM);
215         urlEle.addContent(userParam);
216
217         return urlEle;
218     }
219
220
221     /**
222      * Description of the Method
223      *
224      *@param formParentName Description of Parameter
225      *@param formParentId Description of Parameter
226      *@param formParentPos Description of Parameter
227      *@param name Description of Parameter
228      *@param mapping Description of Parameter
229      *@param type Description of Parameter
230      *@param possibleValues Description of Parameter
231      *@param visibility Description of Parameter
232      *@param update Description of Parameter
233      *@param position Description of Parameter
234      *@return Description of the Returned Value
235      */

236     public Element buildUserParam(String JavaDoc formParentName, String JavaDoc formParentId,
237             int formParentPos, String JavaDoc name,
238             String JavaDoc mapping, String JavaDoc type,
239             ArrayList possibleValues, String JavaDoc visibility,
240             String JavaDoc update, int position) {
241         //form-param
242
Element ele = new Element(Label.PARAMETER);
243         //form-param_attributes
244
ele.setAttribute(Label.PARAMETER_NAME, name);
245         ele.setAttribute(Label.PARAMETER_MAPPING, mapping);
246         ele.setAttribute(Label.PARAMETER_TYPE, type);
247
248         ele.setAttribute(Label.PARAMETER_VISIBILITY, visibility);
249         ele.setAttribute(Label.PARAMETER_UPDATE, update);
250         ele.setAttribute(Label.PARAMETER_POSITION, "" + position);
251         ele.setAttribute(Label.FORM_PARENT_NAME, formParentName);
252         ele.setAttribute(Label.FORM_PARENT_ID, formParentId);
253         ele.setAttribute(Label.FORM_PARENT_POSITION, "" + formParentPos);
254
255         //possible values
256
for (int i = 0; i < possibleValues.size(); i++) {
257             Element valueEle = new Element(Label.PARAMETER_VALUE);
258             valueEle.setText((String JavaDoc) possibleValues.get(i));
259             ele.addContent(valueEle);
260         }
261
262         return ele;
263     }
264
265
266     /**
267      * Description of the Method
268      *
269      *@param name Description of Parameter
270      *@param defaultValue Description of Parameter
271      *@param position Description of Parameter
272      *@param useAsDefault Description of Parameter
273      *@return Description of the Returned Value
274      */

275     public Element buildQueryParam(String JavaDoc name, String JavaDoc defaultValue, int position, String JavaDoc useAsDefault) {
276         //query-param
277
Element ele = new Element(Label.PARAMETER);
278
279         //query-param_attributes
280
ele.setAttribute(Label.PARAMETER_NAME, name);
281         if (useAsDefault.equalsIgnoreCase("true")) {
282             String JavaDoc encrypted = DESUtilities.getInstance().encrypt(Label.KEY_ENCRYPT, defaultValue);
283             ele.setAttribute(Label.PARAMETER_DEFAULT, encrypted);
284         }
285         ele.setAttribute(Label.PARAMETER_POSITION, "" + position);
286
287         return ele;
288     }
289
290
291     /**
292      * Gets the Instance attribute of the ElementBuilder object
293      *
294      *@return The Instance value
295      */

296     public static ElementBuilder getInstance() {
297         if (instance == null) {
298             instance = new ElementBuilder();
299         }
300         return instance;
301     }
302
303 }
304
Popular Tags