KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > applications > packaging > projects > editors > cloudmodel > gui > Controller


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.applications.packaging.projects.editors.cloudmodel.gui;
11
12 import java.util.ArrayList JavaDoc;
13 import java.util.Iterator JavaDoc;
14 import java.util.List JavaDoc;
15
16 import org.mmbase.applications.packaging.projects.editors.cloudmodel.AllowedRelation;
17 import org.mmbase.applications.packaging.projects.editors.cloudmodel.Model;
18 import org.mmbase.applications.packaging.projects.editors.cloudmodel.NeededBuilder;
19 import org.mmbase.applications.packaging.projects.editors.cloudmodel.NeededBuilderField;
20 import org.mmbase.applications.packaging.projects.editors.cloudmodel.NeededRelDef;
21 import org.mmbase.bridge.Cloud;
22 import org.mmbase.bridge.CloudContext;
23 import org.mmbase.bridge.LocalContext;
24 import org.mmbase.bridge.NodeManager;
25 import org.mmbase.module.core.MMBase;
26 import org.mmbase.module.core.MMObjectNode;
27 import org.mmbase.module.core.VirtualBuilder;
28 import org.mmbase.util.logging.Logger;
29 import org.mmbase.util.logging.Logging;
30
31 /**
32  * @author Daniel Ockeloen
33  * @version $Id: guiController.java
34  */

35 public class Controller {
36
37     private static Logger log = Logging.getLoggerInstance(Controller.class);
38     private static Cloud cloud;
39     NodeManager manager;
40     CloudContext context;
41
42
43     public Controller() {
44         cloud=LocalContext.getCloudContext().getCloud("mmbase");
45
46         // hack needs to be solved
47
manager=cloud.getNodeManager("typedef");
48         if (manager==null) log.error("Can't access builder typedef");
49         context=LocalContext.getCloudContext();
50     }
51
52
53     public List JavaDoc getNeededBuilders(String JavaDoc cloudmodelfile) {
54         List JavaDoc list = new ArrayList JavaDoc();
55         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
56
57     log.info("GETNEEDED BUILDERS="+cloudmodelfile);
58     Model model = new Model(cloudmodelfile);
59         Iterator JavaDoc neededbuilders=model.getNeededBuilders();
60         for (Iterator JavaDoc i = neededbuilders; i.hasNext();) {
61             NeededBuilder nb=(NeededBuilder)i.next();
62             MMObjectNode virtual = builder.getNewNode("admin");
63             virtual.setValue("name",nb.getName());
64             virtual.setValue("maintainer",nb.getMaintainer());
65             virtual.setValue("version",nb.getVersion());
66             list.add(virtual);
67         }
68         return list;
69     }
70
71
72     public List JavaDoc getNeededRelDefs(String JavaDoc cloudmodelfile) {
73         List JavaDoc list = new ArrayList JavaDoc();
74         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
75
76     Model model = new Model(cloudmodelfile);
77         Iterator JavaDoc neededreldefs=model.getNeededRelDefs();
78         for (Iterator JavaDoc i = neededreldefs; i.hasNext();) {
79             NeededRelDef nr=(NeededRelDef)i.next();
80             MMObjectNode virtual = builder.getNewNode("admin");
81             virtual.setValue("source",nr.getSource());
82             virtual.setValue("target",nr.getTarget());
83             virtual.setValue("direction",nr.getDirection());
84             virtual.setValue("guisourcename",nr.getGuiSourceName());
85             virtual.setValue("guitargetname",nr.getGuiTargetName());
86             virtual.setValue("buildername",nr.getBuilderName());
87             list.add(virtual);
88         }
89         return list;
90     }
91
92     public List JavaDoc getNeededBuilderFields(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc language) {
93         List JavaDoc list = new ArrayList JavaDoc();
94         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
95     Model model = new Model(cloudmodelfile);
96         NeededBuilder nb=model.getNeededBuilder(buildername);
97     if (nb!=null) {
98             Iterator JavaDoc nbfl = nb.getFields();
99         int pos = 3;
100         while (nbfl.hasNext()) {
101                 MMObjectNode virtual = builder.getNewNode("admin");
102         NeededBuilderField nbf = (NeededBuilderField)nbfl.next();
103                 virtual.setValue("dbname",nbf.getDBName());
104                 virtual.setValue("dbstate",nbf.getDBState());
105                 virtual.setValue("dbtype",nbf.getDBType());
106                 virtual.setValue("dbsize",nbf.getDBSize());
107                 virtual.setValue("dbkey",nbf.getDBKey());
108                 virtual.setValue("dbnotnull",nbf.getDBNotNull());
109                 virtual.setValue("dbinputpos",nbf.getEditorInputPos());
110                 virtual.setValue("dbsearchpos",nbf.getEditorSearchPos());
111                 virtual.setValue("dblistpos",nbf.getEditorListPos());
112                 virtual.setValue("dbpos",pos++);
113                 list.add(virtual);
114         }
115     }
116         return list;
117     }
118
119
120     public MMObjectNode getNeededBuilderInfo(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc language) {
121         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
122         MMObjectNode virtual = builder.getNewNode("admin");
123
124     Model model = new Model(cloudmodelfile);
125         NeededBuilder nb=model.getNeededBuilder(buildername);
126         virtual.setValue("name",nb.getName());
127         virtual.setValue("maintainer",nb.getMaintainer());
128         virtual.setValue("version",nb.getVersion());
129         virtual.setValue("extends",nb.getExtends());
130         virtual.setValue("singularname",nb.getSingularName(language));
131         virtual.setValue("pluralname",nb.getPluralName(language));
132         virtual.setValue("description",nb.getDescription(language));
133         virtual.setValue("extends",nb.getExtends());
134         virtual.setValue("status",nb.getStatus());
135         virtual.setValue("searchage",nb.getSearchAge());
136         virtual.setValue("classname",nb.getClassName());
137         return virtual;
138     }
139
140
141     public MMObjectNode getNeededBuilderFieldInfo(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc language,String JavaDoc field) {
142         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
143         MMObjectNode virtual = builder.getNewNode("admin");
144
145     Model model = new Model(cloudmodelfile);
146     if (model != null) {
147             NeededBuilder nb=model.getNeededBuilder(buildername);
148         if (nb != null) {
149                 NeededBuilderField nbf=nb.getField(field);
150             if (nbf != null) {
151                         virtual.setValue("dbname",nbf.getDBName());
152                         virtual.setValue("dbstate",nbf.getDBState());
153                         virtual.setValue("dbtype",nbf.getDBType());
154                         virtual.setValue("dbsize",nbf.getDBSize());
155                         virtual.setValue("description",nbf.getDescription(language));
156                         virtual.setValue("dbkey",nbf.getDBKey());
157                         virtual.setValue("dbnotnull",nbf.getDBNotNull());
158                         virtual.setValue("dbinputpos",nbf.getEditorInputPos());
159                         virtual.setValue("dbsearchpos",nbf.getEditorSearchPos());
160                         virtual.setValue("dblistpos",nbf.getEditorListPos());
161                         virtual.setValue("guiname",nbf.getGuiName(language));
162             }
163         }
164     }
165         return virtual;
166     }
167
168
169     public List JavaDoc getAllowedRelations(String JavaDoc cloudmodelfile) {
170         List JavaDoc list = new ArrayList JavaDoc();
171         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
172
173     Model model = new Model(cloudmodelfile);
174         Iterator JavaDoc allowedrelations=model.getAllowedRelations();
175         for (Iterator JavaDoc i = allowedrelations; i.hasNext();) {
176             AllowedRelation ar=(AllowedRelation)i.next();
177             MMObjectNode virtual = builder.getNewNode("admin");
178             virtual.setValue("from",ar.getFrom());
179             virtual.setValue("to",ar.getTo());
180             virtual.setValue("type",ar.getType());
181             list.add(virtual);
182         }
183         return list;
184     }
185
186     public boolean addNeededBuilder(String JavaDoc cloudmodelfile,String JavaDoc builder,String JavaDoc maintainer,String JavaDoc version) {
187     Model model = new Model(cloudmodelfile);
188     if (model!=null) {
189         model.addNeededBuilder(builder,maintainer,version);
190     }
191     return false;
192     }
193
194
195     public boolean deleteNeededBuilder(String JavaDoc cloudmodelfile,String JavaDoc builder,String JavaDoc maintainer,String JavaDoc version) {
196     Model model = new Model(cloudmodelfile);
197     if (model!=null) {
198         model.deleteNeededBuilder(builder,maintainer,version);
199         return true;
200     }
201     return false;
202     }
203
204     public boolean deleteNeededBuilderField(String JavaDoc cloudmodelfile,String JavaDoc builder,String JavaDoc field) {
205     Model model = new Model(cloudmodelfile);
206     if (model!=null) {
207             NeededBuilder nb=model.getNeededBuilder(builder);
208         if (nb!=null) {
209             nb.deleteField(field);
210             model.writeModel();
211             return true;
212         }
213     }
214     return false;
215     }
216
217     public boolean addNeededRelDef(String JavaDoc cloudmodelfile,String JavaDoc source,String JavaDoc target,String JavaDoc direction,String JavaDoc guisourcename,String JavaDoc guitargetname,String JavaDoc builder) {
218     Model model = new Model(cloudmodelfile);
219     if (model!=null) {
220         model.addNeededRelDef(source,target,direction,guisourcename,guitargetname,builder);
221     }
222     return false;
223     }
224
225
226     public boolean deleteNeededRelDef(String JavaDoc cloudmodelfile,String JavaDoc source,String JavaDoc target,String JavaDoc direction,String JavaDoc guisourcename,String JavaDoc guitargetname,String JavaDoc builder) {
227     Model model = new Model(cloudmodelfile);
228     if (model!=null) {
229         model.deleteNeededRelDef(source,target,direction,guisourcename,guitargetname,builder);
230     }
231     return false;
232     }
233
234
235     public boolean addAllowedRelation(String JavaDoc cloudmodelfile,String JavaDoc from,String JavaDoc to,String JavaDoc type) {
236     Model model = new Model(cloudmodelfile);
237     if (model!=null) {
238         model.addAllowedRelation(from,to,type);
239     }
240     return false;
241     }
242
243
244     public boolean deleteAllowedRelation(String JavaDoc cloudmodelfile,String JavaDoc from,String JavaDoc to,String JavaDoc type) {
245     Model model = new Model(cloudmodelfile);
246     if (model!=null) {
247         model.deleteAllowedRelation(from,to,type);
248     }
249     return false;
250     }
251
252
253     public boolean setBuilderDescription(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc language,String JavaDoc newdescription) {
254     Model model = new Model(cloudmodelfile);
255     if (model!=null) {
256             NeededBuilder nb=model.getNeededBuilder(buildername);
257         if (nb!=null) {
258             nb.setDescription(language,newdescription);
259             model.writeModel();
260         }
261     }
262     return false;
263     }
264
265
266     public boolean setBuilderFieldDescription(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc field,String JavaDoc language,String JavaDoc newdescription) {
267     Model model = new Model(cloudmodelfile);
268     if (model!=null) {
269             NeededBuilder nb=model.getNeededBuilder(buildername);
270         if (nb!=null) {
271                 NeededBuilderField nbf=nb.getField(field);
272             if (nbf != null) {
273                 nbf.setDescription(language,newdescription);
274             }
275             model.writeModel();
276         }
277     }
278     return false;
279     }
280
281
282     public boolean addBuilderField(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newname,String JavaDoc newtype,String JavaDoc newstatus,int newsize) {
283     Model model = new Model(cloudmodelfile);
284     if (model!=null) {
285             NeededBuilder nb=model.getNeededBuilder(buildername);
286         if (nb!=null) {
287                 NeededBuilderField nbf=nb.getField(newname);
288             if (nbf == null && !newname.equals("")) {
289                 nb.addField(newname,newtype,newstatus,newsize);
290                 model.writeModel();
291             }
292         }
293     }
294     return false;
295     }
296
297
298     public boolean setBuilderFieldPositions(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc field,int inputpos, int searchpos, int listpos) {
299     Model model = new Model(cloudmodelfile);
300     if (model!=null) {
301             NeededBuilder nb=model.getNeededBuilder(buildername);
302         if (nb!=null) {
303                 NeededBuilderField nbf=nb.getField(field);
304             if (nbf != null) {
305                 nbf.setEditorInputPos(inputpos);
306                 nbf.setEditorSearchPos(searchpos);
307                 nbf.setEditorListPos(listpos);
308             }
309             model.writeModel();
310         }
311     }
312     return false;
313     }
314
315
316     public boolean setBuilderFieldDBValues(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc field,String JavaDoc dbname,String JavaDoc dbtype,String JavaDoc dbstate,int dbsize,String JavaDoc key,String JavaDoc notnull) {
317     Model model = new Model(cloudmodelfile);
318     if (model!=null) {
319             NeededBuilder nb=model.getNeededBuilder(buildername);
320         if (nb!=null) {
321                 NeededBuilderField nbf=nb.getField(field);
322             if (nbf != null) {
323                 nbf.setDBName(dbname);
324                 nbf.setDBType(dbtype);
325                 nbf.setDBState(dbstate);
326                 nbf.setDBSize(dbsize);
327                 if (key.equals("true")) {
328                     nbf.setDBKey(true);
329                 } else {
330                     nbf.setDBKey(false);
331                 }
332                 if (notnull.equals("true")) {
333                     nbf.setDBNotNull(true);
334                 } else {
335                     nbf.setDBNotNull(false);
336                 }
337             }
338             model.writeModel();
339         }
340     }
341     return false;
342     }
343
344
345     public boolean setBuilderFieldGuiName(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc field,String JavaDoc language,String JavaDoc newguiname) {
346     Model model = new Model(cloudmodelfile);
347     if (model!=null) {
348             NeededBuilder nb=model.getNeededBuilder(buildername);
349         if (nb!=null) {
350                 NeededBuilderField nbf=nb.getField(field);
351             if (nbf != null) {
352                 nbf.setGuiName(language,newguiname);
353             }
354             model.writeModel();
355         }
356     }
357     return false;
358     }
359
360
361     public boolean setBuilderSingularName(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc language,String JavaDoc newname) {
362     Model model = new Model(cloudmodelfile);
363     if (model!=null) {
364             NeededBuilder nb=model.getNeededBuilder(buildername);
365         if (nb!=null) {
366             nb.setSingularName(language,newname);
367             model.writeModel();
368         }
369     }
370     return false;
371     }
372
373
374     public boolean setBuilderPluralName(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc language,String JavaDoc newname) {
375     Model model = new Model(cloudmodelfile);
376     if (model!=null) {
377             NeededBuilder nb=model.getNeededBuilder(buildername);
378         if (nb!=null) {
379             nb.setPluralName(language,newname);
380             model.writeModel();
381         }
382     }
383     return false;
384     }
385
386     public boolean setBuilderStatus(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newstatus) {
387     Model model = new Model(cloudmodelfile);
388     if (model!=null) {
389             NeededBuilder nb=model.getNeededBuilder(buildername);
390         if (nb!=null) {
391             nb.setStatus(newstatus);
392             model.writeModel();
393         }
394     }
395     return false;
396     }
397
398     public boolean setBuilderSearchAge(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newsearchage) {
399     Model model = new Model(cloudmodelfile);
400     if (model!=null) {
401             NeededBuilder nb=model.getNeededBuilder(buildername);
402         if (nb!=null) {
403             nb.setSearchAge(newsearchage);
404             model.writeModel();
405         }
406     }
407     return false;
408     }
409
410
411     public boolean setBuilderClassName(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newclassname) {
412     Model model = new Model(cloudmodelfile);
413     if (model!=null) {
414             NeededBuilder nb=model.getNeededBuilder(buildername);
415         if (nb!=null) {
416             nb.setClassName(newclassname);
417             model.writeModel();
418         }
419     }
420     return false;
421     }
422
423
424     public boolean setBuilderName(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newname) {
425     Model model = new Model(cloudmodelfile);
426     if (model!=null) {
427             NeededBuilder nb=model.getNeededBuilder(buildername);
428         if (nb!=null) {
429             nb.setName(newname);
430             model.writeModel();
431         }
432     }
433     return false;
434     }
435
436     public boolean setBuilderMaintainer(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newmaintainer) {
437     Model model = new Model(cloudmodelfile);
438     if (model!=null) {
439             NeededBuilder nb=model.getNeededBuilder(buildername);
440         if (nb!=null) {
441             nb.setMaintainer(newmaintainer);
442             model.writeModel();
443         }
444     }
445     return false;
446     }
447
448
449     public boolean setBuilderVersion(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newversion) {
450     Model model = new Model(cloudmodelfile);
451     if (model!=null) {
452             NeededBuilder nb=model.getNeededBuilder(buildername);
453         if (nb!=null) {
454             nb.setVersion(newversion);
455             model.writeModel();
456         }
457     }
458     return false;
459     }
460
461     public boolean setBuilderExtends(String JavaDoc cloudmodelfile,String JavaDoc buildername,String JavaDoc newextends) {
462     Model model = new Model(cloudmodelfile);
463     if (model!=null) {
464             NeededBuilder nb=model.getNeededBuilder(buildername);
465         if (nb!=null) {
466             nb.setExtends(newextends);
467             model.writeModel();
468         }
469     }
470     return false;
471     }
472 }
473
Popular Tags