| 1 7 package org.mmbase.applications.packaging.providerhandlers.gui; 8 9 import java.util.ArrayList ; 10 import java.util.HashMap ; 11 import java.util.Iterator ; 12 import java.util.List ; 13 14 import org.mmbase.applications.packaging.InstallManager; 15 import org.mmbase.applications.packaging.ProviderManager; 16 import org.mmbase.applications.packaging.providerhandlers.HttpProvider; 17 import org.mmbase.applications.packaging.providerhandlers.ProviderInterface; 18 import org.mmbase.bridge.Cloud; 19 import org.mmbase.bridge.CloudContext; 20 import org.mmbase.bridge.LocalContext; 21 import org.mmbase.bridge.NodeManager; 22 import org.mmbase.module.core.MMBase; 23 import org.mmbase.module.core.MMObjectNode; 24 import org.mmbase.module.core.VirtualBuilder; 25 import org.mmbase.util.logging.Logger; 26 import org.mmbase.util.logging.Logging; 27 28 32 public class Controller { 33 34 private static Logger log = Logging.getLoggerInstance(Controller.class); 35 private static Cloud cloud; 36 NodeManager manager; 37 CloudContext context; 38 39 40 43 public Controller() { 44 cloud = LocalContext.getCloudContext().getCloud("mmbase"); 45 46 manager = cloud.getNodeManager("typedef"); 48 if (manager == null) { 49 log.error("Can't access builder typedef"); 50 } 51 context = LocalContext.getCloudContext(); 52 if (!InstallManager.isRunning()) { 53 InstallManager.init(); 54 } 55 } 56 57 58 63 public List getProviderHandlers() { 64 HashMap providerhandlers = ProviderManager.getProviderHandlers(); 66 67 List list = new ArrayList (); 69 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 70 71 Iterator e = providerhandlers.keySet().iterator(); 72 while (e.hasNext()) { 73 String key = (String ) e.next(); 74 String value = (String ) providerhandlers.get(key); 75 76 MMObjectNode virtual = builder.getNewNode("admin"); 77 virtual.setValue("name", key); 78 virtual.setValue("value", value); 79 list.add(virtual); 80 } 81 return list; 82 } 83 84 85 95 public boolean changeProviderSettings(String name, String maintainer, String account, String password, String path) { 96 97 ProviderInterface provider = ProviderManager.get(name); 98 if (provider != null) { 99 String method = provider.getMethod(); 100 provider.setMaintainer(maintainer); 101 provider.setPath(path); 102 if (method.equals("http")) { 103 ((HttpProvider) provider).setAccount(account); 104 ((HttpProvider) provider).setPassword(password); 105 } 106 } 107 ProviderManager.writeProviderFile(); 108 return true; 109 } 110 111 112 118 public boolean delProvider(String name) { 119 if (ProviderManager.delete(name)) { 120 } else { 122 return false; 124 } 125 ProviderManager.writeProviderFile(); 126 return true; 127 } 128 129 130 136 public List addSubscribeProvider(String url) { 137 List list = new ArrayList (); 138 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 139 MMObjectNode virtual = builder.getNewNode("admin"); 140 141 String result = ProviderManager.addSubscribeProvider(url); 142 if (result != null) { 143 virtual.setValue("feedback", result); 144 } 145 ProviderManager.writeProviderFile(); 146 147 list.add(virtual); 148 return list; 149 } 150 151 152 159 public List addDiskProvider(String name, String path) { 160 List list = new ArrayList (); 161 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 162 MMObjectNode virtual = builder.getNewNode("admin"); 163 164 String result = ProviderManager.addDiskProvider(name, path); 165 if (result != null) { 166 virtual.setValue("feedback", result); 167 } 168 ProviderManager.writeProviderFile(); 169 list.add(virtual); 170 return list; 171 } 172 173 174 179 public List getProviders() { 180 ProviderManager.resetSleepCounter(); 182 183 Iterator providers = ProviderManager.getProviders(); 185 186 List list = new ArrayList (); 187 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 188 189 while (providers.hasNext()) { 190 ProviderInterface provider = (ProviderInterface) providers.next(); 191 MMObjectNode virtual = builder.getNewNode("admin"); 192 virtual.setValue("method", provider.getMethod()); 193 virtual.setValue("name", provider.getName()); 194 virtual.setValue("maintainer", provider.getMaintainer()); 195 virtual.setValue("state", provider.getState()); 196 list.add(virtual); 197 } 198 return list; 199 } 200 201 202 208 public List getProviderInfo(String name) { 209 ProviderInterface provider = ProviderManager.get(name); 211 212 List list = new ArrayList (); 213 VirtualBuilder builder = new VirtualBuilder(MMBase.getMMBase()); 214 215 MMObjectNode virtual = builder.getNewNode("admin"); 216 217 if (provider != null) { 218 virtual.setValue("method", provider.getMethod()); 219 virtual.setValue("name", provider.getName()); 220 virtual.setValue("maintainer", provider.getMaintainer()); 221 virtual.setValue("state", provider.getState()); 222 virtual.setValue("path", provider.getPath()); 223 if (provider.getMethod().equals("http")) { 224 virtual.setValue("account", ((HttpProvider) provider).getAccount()); 225 virtual.setValue("password", ((HttpProvider) provider).getPassword()); 226 } 227 } 228 list.add(virtual); 229 return list; 230 } 231 232 233 } 234 235 | Popular Tags |