KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > applications > packaging > 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.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.BundleManager;
17 import org.mmbase.applications.packaging.InstallManager;
18 import org.mmbase.applications.packaging.PackageManager;
19 import org.mmbase.applications.packaging.Person;
20 import org.mmbase.applications.packaging.ProviderManager;
21 import org.mmbase.applications.packaging.ShareManager;
22 import org.mmbase.applications.packaging.bundlehandlers.BundleInterface;
23 import org.mmbase.applications.packaging.installhandlers.installStep;
24 import org.mmbase.applications.packaging.packagehandlers.PackageInterface;
25 import org.mmbase.applications.packaging.providerhandlers.ProviderInterface;
26 import org.mmbase.applications.packaging.sharehandlers.ShareUser;
27 import org.mmbase.bridge.Cloud;
28 import org.mmbase.bridge.CloudContext;
29 import org.mmbase.bridge.LocalContext;
30 import org.mmbase.bridge.NodeManager;
31 import org.mmbase.module.core.MMBase;
32 import org.mmbase.module.core.MMObjectNode;
33 import org.mmbase.module.core.VirtualBuilder;
34 import org.mmbase.util.logging.Logger;
35 import org.mmbase.util.logging.Logging;
36
37 /**
38  * @author Daniel Ockeloen
39  * @version $Id: guiController.java
40  */

41 public class Controller {
42
43     private static Logger log = Logging.getLoggerInstance(Controller.class);
44     private static Cloud cloud;
45            NodeManager manager;
46     CloudContext context;
47
48
49     public Controller() {
50         cloud=LocalContext.getCloudContext().getCloud("mmbase");
51
52         // hack needs to be solved
53
manager=cloud.getNodeManager("typedef");
54         if (manager==null) log.error("Can't access builder typedef");
55         context=LocalContext.getCloudContext();
56         if (!InstallManager.isRunning()) InstallManager.init();
57     }
58
59     public boolean changeSettings(String JavaDoc providername,String JavaDoc callbackurl) {
60
61         ShareManager.setCallbackUrl(callbackurl);
62         ShareManager.setProviderName(providername);
63         ShareManager.writeShareFile();
64         ShareManager.signalRemoteClients();
65
66         return true;
67     }
68
69
70     public boolean changeUserSettings(String JavaDoc account,String JavaDoc password,String JavaDoc method,String JavaDoc host) {
71         ShareUser user=ShareManager.getShareUser(account);
72         if (user!=null) {
73             user.setPassword(password);
74             user.setMethod(method);
75             if (host!=null && !host.equals("none")) {
76                 user.setHost(host);
77             }
78         }
79         ShareManager.writeShareFile();
80         ShareManager.signalRemoteClients();
81         return true;
82     }
83
84     public List JavaDoc getPackageInstallSteps(String JavaDoc id,String JavaDoc wv,String JavaDoc wp,String JavaDoc slogid) {
85
86                 List JavaDoc list = new ArrayList JavaDoc();
87                 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
88
89         try {
90         int logid=Integer.parseInt(slogid);
91
92         PackageInterface p=null;
93         if (wv.equals("best")) {
94             p=(PackageInterface)PackageManager.getPackage(id);
95         } else {
96             // ok lets decode the version and provider we want
97
p=(PackageInterface)PackageManager.getPackage(id,wv,wp);
98         }
99         if (p!=null) {
100
101             Iterator JavaDoc steps=null;
102             if (logid==-1) {
103                 steps=p.getInstallSteps();
104             } else {
105                 steps=p.getInstallSteps(logid);
106             }
107
108             while (steps.hasNext()) {
109                 installStep step=(installStep)steps.next();
110                 MMObjectNode virtual = builder.getNewNode("admin");
111                 virtual.setValue("userfeedback",step.getUserFeedBack());
112                 virtual.setValue("timestamp",step.getTimeStamp());
113                 virtual.setValue("errorcount",step.getErrorCount());
114                 virtual.setValue("warningcount",step.getWarningCount());
115                 virtual.setValue("id",step.getId());
116                 virtual.setValue("parent",step.getParent());
117                 if (step.hasChilds()) {
118                     virtual.setValue("haschilds","true");
119                 } else {
120                     virtual.setValue("haschilds","false");
121                 }
122                 list.add(virtual);
123             }
124         }
125         } catch (Exception JavaDoc e) {
126         }
127         return list;
128     }
129
130
131
132     public List JavaDoc getBundleInstallSteps(String JavaDoc id,String JavaDoc wv,String JavaDoc wb,String JavaDoc slogid) {
133
134                 List JavaDoc list = new ArrayList JavaDoc();
135                 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
136
137         try {
138         int logid=Integer.parseInt(slogid);
139
140         BundleInterface b=null;
141         if (wv.equals("best")) {
142             b=(BundleInterface)BundleManager.getBundle(id);
143         } else {
144             // ok lets decode the version and provider we want
145
b=(BundleInterface)BundleManager.getBundle(id,wv,wb);
146         }
147         if (b!=null) {
148
149             Iterator JavaDoc steps=null;
150             if (logid==-1) {
151                 steps=b.getInstallSteps();
152             } else {
153                 steps=b.getInstallSteps(logid);
154             }
155
156             // create a result list
157

158             while (steps.hasNext()) {
159                 installStep step=(installStep)steps.next();
160                 MMObjectNode virtual = builder.getNewNode("admin");
161                 virtual.setValue("userfeedback",step.getUserFeedBack());
162                 virtual.setValue("timestamp",step.getTimeStamp());
163                 virtual.setValue("errorcount",step.getErrorCount());
164                 virtual.setValue("warningcount",step.getWarningCount());
165                 virtual.setValue("id",step.getId());
166                 virtual.setValue("parent",step.getParent());
167                 if (step.hasChilds()) {
168                     virtual.setValue("haschilds","true");
169                 } else {
170                     virtual.setValue("haschilds","false");
171                 }
172                 list.add(virtual);
173             }
174         }
175         } catch (Exception JavaDoc e) {
176         }
177         return list;
178     }
179
180
181
182
183     public List JavaDoc havePackageLog(String JavaDoc id,String JavaDoc wv,String JavaDoc wp) {
184             List JavaDoc list = new ArrayList JavaDoc();
185              VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
186              MMObjectNode virtual = builder.getNewNode("admin");
187
188         PackageInterface p=null;
189         if (wv.equals("best")) {
190             p=(PackageInterface)PackageManager.getPackage(id);
191         } else {
192             // ok lets decode the version and provider we want
193
p=(PackageInterface)PackageManager.getPackage(id,wv,wp);
194         }
195         if (p!=null) {
196
197             Iterator JavaDoc steps=p.getInstallSteps();
198             
199             if (steps!=null) {
200                 virtual.setValue("log","true");
201             } else {
202                 virtual.setValue("log","false");
203             }
204         }
205         list.add(virtual);
206         return list;
207     }
208
209
210
211     public List JavaDoc haveBundleLog(String JavaDoc id,String JavaDoc wv,String JavaDoc wb) {
212             List JavaDoc list = new ArrayList JavaDoc();
213              VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
214
215              MMObjectNode virtual = builder.getNewNode("admin");
216
217         BundleInterface b=null;
218         if (wv.equals("best")) {
219             b=(BundleInterface)BundleManager.getBundle(id);
220         } else {
221             // ok lets decode the version and provider we want
222
b=(BundleInterface)BundleManager.getBundle(id,wv,wb);
223         }
224         if (b!=null) {
225             Iterator JavaDoc steps=b.getInstallSteps();
226             if (steps!=null) {
227                 virtual.setValue("log","true");
228             } else {
229                 virtual.setValue("log","false");
230             }
231         }
232         list.add(virtual);
233         return list;
234     }
235
236     public List JavaDoc getPackageInfo(String JavaDoc id,String JavaDoc wv,String JavaDoc wp) {
237             List JavaDoc list = new ArrayList JavaDoc();
238              VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
239
240              MMObjectNode virtual = builder.getNewNode("admin");
241
242         PackageInterface p=null;
243         if (wv.equals("best")) {
244             p=(PackageInterface)PackageManager.getPackage(id);
245         } else {
246             // ok lets decode the version and provider we want
247
p=(PackageInterface)PackageManager.getPackage(id,wv,wp);
248         }
249         if (p!=null) {
250             virtual.setValue("name",p.getName());
251             virtual.setValue("version",p.getVersion());
252             virtual.setValue("maintainer",""+p.getMaintainer());
253             virtual.setValue("type",p.getType());
254             virtual.setValue("creation-date",p.getCreationDate());
255             ProviderInterface provider=p.getProvider();
256             if (provider!=null) {
257                 virtual.setValue("provider",provider.getName());
258             }
259             virtual.setValue("state",p.getState());
260             virtual.setValue("description",p.getDescription());
261             virtual.setValue("releasenotes",p.getReleaseNotes());
262             virtual.setValue("installationnotes",p.getInstallationNotes());
263             virtual.setValue("licensename",p.getLicenseName());
264             virtual.setValue("licensetype",p.getLicenseType());
265             virtual.setValue("licenseversion",p.getLicenseVersion());
266             virtual.setValue("licensebody",p.getLicenseBody());
267         }
268         list.add(virtual);
269         return list;
270     }
271
272
273     public List JavaDoc getPackagePeople(String JavaDoc id,String JavaDoc wv,String JavaDoc wp,String JavaDoc type) {
274             List JavaDoc list = new ArrayList JavaDoc();
275              VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
276
277
278         PackageInterface p=null;
279         if (wv.equals("best")) {
280             p=(PackageInterface)PackageManager.getPackage(id);
281         } else {
282             // ok lets decode the version and provider we want
283
p=(PackageInterface)PackageManager.getPackage(id,wv,wp);
284         }
285         if (p!=null) {
286             List JavaDoc people=p.getRelatedPeople(type);
287             if (people!=null) {
288                     for (Iterator JavaDoc i = people.iterator(); i.hasNext();) {
289                 Person pr=(Person)i.next();
290                      MMObjectNode virtual = builder.getNewNode("admin");
291                 virtual.setValue("name",pr.getName());
292                 virtual.setValue("company",pr.getCompany());
293                 virtual.setValue("reason",pr.getReason());
294                 virtual.setValue("mailto",pr.getMailto());
295                 list.add(virtual);
296             }
297             }
298         }
299         return list;
300     }
301
302
303     public List JavaDoc getBundlePeople(String JavaDoc id,String JavaDoc wv,String JavaDoc wp,String JavaDoc type) {
304             List JavaDoc list = new ArrayList JavaDoc();
305              VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
306
307
308         BundleInterface b=null;
309         if (wv.equals("best")) {
310             b=(BundleInterface)BundleManager.getBundle(id);
311         } else {
312             // ok lets decode the version and provider we want
313
b=(BundleInterface)BundleManager.getBundle(id,wv,wp);
314         }
315         if (b!=null) {
316             List JavaDoc people=b.getRelatedPeople(type);
317             if (people!=null) {
318                     for (Iterator JavaDoc i = people.iterator(); i.hasNext();) {
319                 Person pr=(Person)i.next();
320                      MMObjectNode virtual = builder.getNewNode("admin");
321                 virtual.setValue("name",pr.getName());
322                 virtual.setValue("company",pr.getCompany());
323                 virtual.setValue("reason",pr.getReason());
324                 virtual.setValue("mailto",pr.getMailto());
325                 list.add(virtual);
326             }
327             }
328         }
329         return list;
330     }
331
332
333     public List JavaDoc getBundleScreenshots(String JavaDoc id,String JavaDoc wv,String JavaDoc wp) {
334             List JavaDoc list = new ArrayList JavaDoc();
335              VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
336
337         BundleInterface b=null;
338         if (wv.equals("best")) {
339             b=(BundleInterface)BundleManager.getBundle(id);
340         } else {
341             // ok lets decode the version and provider we want
342
b=(BundleInterface)BundleManager.getBundle(id,wv,wp);
343         }
344         if (b!=null) {
345             List JavaDoc screenshots=b.getScreenshots();
346             if (screenshots!=null) {
347                 for (Iterator JavaDoc i = screenshots.iterator(); i.hasNext();) {
348                         MMObjectNode virtual = builder.getNewNode("admin");
349                     virtual.setValue("name",(String JavaDoc)i.next());
350                     virtual.setValue("file",(String JavaDoc)i.next());
351                     virtual.setValue("description",(String JavaDoc)i.next());
352                     list.add(virtual);
353                 }
354             }
355         }
356         return list;
357     }
358
359
360     public List JavaDoc getBundleStarturls(String JavaDoc id,String JavaDoc wv,String JavaDoc wp) {
361             List JavaDoc list = new ArrayList JavaDoc();
362              VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
363
364         BundleInterface b=null;
365         if (wv.equals("best")) {
366             b=(BundleInterface)BundleManager.getBundle(id);
367         } else {
368             // ok lets decode the version and provider we want
369
b=(BundleInterface)BundleManager.getBundle(id,wv,wp);
370         }
371         if (b!=null) {
372             List JavaDoc starturls=b.getStarturls();
373             if (starturls!=null) {
374                 for (Iterator JavaDoc i = starturls.iterator(); i.hasNext();) {
375                         MMObjectNode virtual = builder.getNewNode("admin");
376                     virtual.setValue("name",(String JavaDoc)i.next());
377                     virtual.setValue("link",(String JavaDoc)i.next());
378                     virtual.setValue("description",(String JavaDoc)i.next());
379                     list.add(virtual);
380                 }
381             }
382         }
383         return list;
384     }
385
386     public List JavaDoc getBundleInfo(String JavaDoc id,String JavaDoc wv,String JavaDoc wp) {
387         List JavaDoc list = new ArrayList JavaDoc();
388         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
389
390         MMObjectNode virtual = builder.getNewNode("admin");
391
392         BundleInterface b=null;
393         if (wv.equals("best")) {
394             b=(BundleInterface)BundleManager.getBundle(id);
395         } else {
396             // ok lets decode the version and provider we want
397
b=(BundleInterface)BundleManager.getBundle(id,wv,wp);
398         }
399         if (b!=null) {
400             virtual.setValue("name",b.getName());
401             virtual.setValue("version",b.getVersion());
402             virtual.setValue("maintainer",""+b.getMaintainer());
403             virtual.setValue("type",b.getType());
404             virtual.setValue("creation-date",b.getCreationDate());
405             ProviderInterface provider=b.getProvider();
406             if (provider!=null) {
407                 virtual.setValue("provider",provider.getName());
408             }
409             virtual.setValue("state",b.getState());
410                         virtual.setValue("description",b.getDescription());
411                         virtual.setValue("releasenotes",b.getReleaseNotes());
412                         virtual.setValue("installationnotes",b.getInstallationNotes());
413                         virtual.setValue("licensename",b.getLicenseName());
414                         virtual.setValue("licensetype",b.getLicenseType());
415                         virtual.setValue("licenseversion",b.getLicenseVersion());
416                         virtual.setValue("licensebody",b.getLicenseBody());
417                         virtual.setValue("bundleprogressbarvalue",b.getProgressBarValue());
418                         virtual.setValue("packageprogressbarvalue",b.getPackageProgressBarValue());
419         }
420         list.add(virtual);
421         return list;
422     }
423
424
425
426     public List JavaDoc getPackageManagerSettings() {
427                 List JavaDoc list = new ArrayList JavaDoc();
428                 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
429
430                 MMObjectNode virtual = builder.getNewNode("admin");
431
432         // get the current providers
433
virtual.setValue("providername",ShareManager.getProviderName());
434         virtual.setValue("callbackurl",ShareManager.getCallbackUrl());
435         list.add(virtual);
436         return list;
437     }
438
439     public boolean createPackage(String JavaDoc id,String JavaDoc wv,String JavaDoc wp) {
440         PackageInterface p=null;
441         if (wv.equals("best")) {
442             p=(PackageInterface)PackageManager.getPackage(id);
443         } else {
444             // ok lets decode the version and provider we want
445
p=(PackageInterface)PackageManager.getPackage(id,wv,wp);
446         }
447         if (p!=null) {
448             //InstallManager.installPackage(p);
449
log.info("Create package");
450         }
451         return true;
452     }
453
454
455     public void signalRemoteChange(String JavaDoc id) {
456         ProviderInterface provider=ProviderManager.get(id);
457         if (provider!=null) {
458             provider.getPackages();
459                     PackageManager.removeOfflinePackages(provider);
460         } else {
461             log.error("no provider : "+id);
462         }
463     }
464
465
466     public String JavaDoc getRelatedPeopleString(List JavaDoc people,String JavaDoc type) {
467         String JavaDoc body="";
468         if (people!=null) {
469                    for (Iterator JavaDoc i = people.iterator(); i.hasNext();) {
470             Person pr=(Person)i.next();
471                 if (type.equals("initiators")) {
472                     body+="\t\t\t<initiator name=\""+pr.getName()+"\" company=\""+pr.getCompany()+"\" />\n";
473                 } else if (type.equals("developers")) {
474                     body+="\t\t\t<developer name=\""+pr.getName()+"\" company=\""+pr.getCompany()+"\" mailto=\""+pr.getMailto()+"\" />\n";
475                 } else if (type.equals("contacts")) {
476                     body+="\t\t\t<contact reason=\""+pr.getReason()+"\" name=\""+pr.getName()+"\" mailto=\""+pr.getMailto()+"\" />\n";
477                 } else if (type.equals("supporters")) {
478                     body+="\t\t\t<supporter company=\""+pr.getCompany()+"\" />\n";
479                 }
480             }
481         }
482         return body;
483     }
484
485 }
486
Popular Tags