1 7 package org.mmbase.applications.packaging.packagehandlers.gui; 8 9 import java.util.ArrayList ; 10 import java.util.HashMap ; 11 import java.util.Iterator ; 12 import java.util.List ; 13 import java.util.Map ; 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 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 46 public Controller() { 47 cloud = LocalContext.getCloudContext().getCloud("mmbase"); 48 49 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 67 public List getPackageHandlers() { 68 Map packagehandlers = PackageManager.getPackageHandlers(); 70 List list = new ArrayList (); 71 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 72 73 Iterator e = packagehandlers.entrySet().iterator(); 74 while (e.hasNext()) { 75 Map.Entry entry = (Map.Entry ) e.next(); 76 String key = (String ) entry.getKey(); 77 String value = (String ) 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 93 public List getPackages() { 94 ProviderManager.resetSleepCounter(); 96 97 Iterator packages = PackageManager.getPackages(); 99 100 List list = new ArrayList (); 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 127 public List getPackageVersions(String id) { 128 Iterator packageversions = PackageManager.getPackageVersions(id); 130 131 List list = new ArrayList (); 132 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 133 134 while (packageversions.hasNext()) { 135 PackageVersionContainer pvc = (PackageVersionContainer) packageversions.next(); 136 Iterator 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 164 public List getPackageVersionNumbers(String id) { 165 Iterator verlist = PackageManager.getPackageVersionNumbers(id); 167 168 List list = new ArrayList (); 169 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 170 while (verlist.hasNext()) { 171 String version = (String ) 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 |