KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > applications > packaging > packagehandlers > gui > Controller


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

7 package org.mmbase.applications.packaging.packagehandlers.gui;
8
9 import java.util.ArrayList JavaDoc;
10 import java.util.HashMap JavaDoc;
11 import java.util.Iterator JavaDoc;
12 import java.util.List JavaDoc;
13 import java.util.Map JavaDoc;
14
15 import org.mmbase.applications.packaging.InstallManager;
16 import org.mmbase.applications.packaging.PackageManager;
17 import org.mmbase.applications.packaging.ProviderManager;
18 import org.mmbase.applications.packaging.packagehandlers.PackageInterface;
19 import org.mmbase.applications.packaging.packagehandlers.PackageVersionContainer;
20 import org.mmbase.applications.packaging.providerhandlers.ProviderInterface;
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     /**
44      *Constructor for the Controller object
45      */

46     public Controller() {
47         cloud = LocalContext.getCloudContext().getCloud("mmbase");
48
49         // hack needs to be solved
50
manager = cloud.getNodeManager("typedef");
51         if (manager == null) {
52             log.error("Can't access builder typedef");
53         }
54         context = LocalContext.getCloudContext();
55         if (!InstallManager.isRunning()) {
56             InstallManager.init();
57         }
58     }
59
60
61
62     /**
63      * Gets the packageHandlers attribute of the Controller object
64      *
65      * @return The packageHandlers value
66      */

67     public List JavaDoc getPackageHandlers() {
68         // get the current package handlers we have installed
69
Map JavaDoc packagehandlers = PackageManager.getPackageHandlers();
70         List JavaDoc list = new ArrayList JavaDoc();
71         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
72
73         Iterator JavaDoc e = packagehandlers.entrySet().iterator();
74         while (e.hasNext()) {
75             Map.Entry JavaDoc entry = (Map.Entry JavaDoc) e.next();
76             String JavaDoc key = (String JavaDoc) entry.getKey();
77             String JavaDoc value = (String JavaDoc) entry.getValue();
78
79             MMObjectNode virtual = builder.getNewNode("admin");
80             virtual.setValue("name", key);
81             virtual.setValue("value", value);
82             list.add(virtual);
83         }
84         return list;
85     }
86
87
88     /**
89      * Gets the packages attribute of the Controller object
90      *
91      * @return The packages value
92      */

93     public List JavaDoc getPackages() {
94         // signal action to for package discovery
95
ProviderManager.resetSleepCounter();
96
97         // get the current best packages
98
Iterator JavaDoc packages = PackageManager.getPackages();
99
100         List JavaDoc list = new ArrayList JavaDoc();
101         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
102
103         while (packages.hasNext()) {
104             PackageInterface p = (PackageInterface) packages.next();
105             MMObjectNode virtual = builder.getNewNode("admin");
106             virtual.setValue("id", p.getId());
107             virtual.setValue("name", p.getName());
108             virtual.setValue("type", p.getType());
109             virtual.setValue("maintainer", p.getMaintainer());
110             virtual.setValue("version", p.getVersion());
111             virtual.setValue("creation-date", p.getCreationDate());
112             virtual.setValue("state", p.getState());
113             list.add(virtual);
114         }
115
116         return list;
117     }
118
119
120
121     /**
122      * Gets the packageVersions attribute of the Controller object
123      *
124      * @param id Description of the Parameter
125      * @return The packageVersions value
126      */

127     public List JavaDoc getPackageVersions(String JavaDoc id) {
128         // get the packages of one id (all versions)
129
Iterator JavaDoc packageversions = PackageManager.getPackageVersions(id);
130
131         List JavaDoc list = new ArrayList JavaDoc();
132         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
133
134         while (packageversions.hasNext()) {
135             PackageVersionContainer pvc = (PackageVersionContainer) packageversions.next();
136             Iterator JavaDoc packages = pvc.getPackages();
137             while (packages.hasNext()) {
138                 PackageInterface p = (PackageInterface) packages.next();
139                 MMObjectNode virtual = builder.getNewNode("admin");
140                 virtual.setValue("id", p.getId());
141                 virtual.setValue("name", p.getName());
142                 virtual.setValue("type", p.getType());
143                 virtual.setValue("maintainer", p.getMaintainer());
144                 virtual.setValue("version", p.getVersion());
145                 virtual.setValue("state", p.getState());
146                 virtual.setValue("creation-date", p.getCreationDate());
147                 ProviderInterface provider = p.getProvider();
148                 if (provider != null) {
149                     virtual.setValue("provider", provider.getName());
150                 }
151                 list.add(virtual);
152             }
153         }
154         return list;
155     }
156
157
158     /**
159      * Gets the packageVersionNumbers attribute of the Controller object
160      *
161      * @param id Description of the Parameter
162      * @return The packageVersionNumbers value
163      */

164     public List JavaDoc getPackageVersionNumbers(String JavaDoc id) {
165         // get the packages of one id (all versions)
166
Iterator JavaDoc verlist = PackageManager.getPackageVersionNumbers(id);
167
168         List JavaDoc list = new ArrayList JavaDoc();
169         VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase());
170         while (verlist.hasNext()) {
171             String JavaDoc version = (String JavaDoc) verlist.next();
172             MMObjectNode virtual = builder.getNewNode("admin");
173             virtual.setValue("version", version);
174             list.add(virtual);
175         }
176         return list;
177     }
178
179 }
180
181
Popular Tags