1 19 package org.java.plugin.tools.mocks; 20 21 import java.net.URL ; 22 import java.util.Collection ; 23 import java.util.Collections ; 24 import java.util.HashMap ; 25 import java.util.LinkedList ; 26 import java.util.Map ; 27 28 import org.java.plugin.PathResolver; 29 import org.java.plugin.registry.ExtensionPoint; 30 import org.java.plugin.registry.IntegrityCheckReport; 31 import org.java.plugin.registry.PluginDescriptor; 32 import org.java.plugin.registry.PluginFragment; 33 import org.java.plugin.registry.PluginRegistry; 34 import org.java.plugin.registry.Version; 35 import org.java.plugin.registry.xml.PluginRegistryImpl; 36 import org.java.plugin.util.ExtendedProperties; 37 38 41 public class MockPluginRegistry implements PluginRegistry { 42 private IntegrityCheckReport integrityCheckReport; 43 private PluginRegistryImpl xmlRegistryImpl; 44 private LinkedList listeners = new LinkedList (); 45 private IntegrityCheckReport registrationReport; 46 private HashMap extensionPoints = new HashMap (); 47 private HashMap pluginDescriptors = new HashMap (); 48 private LinkedList pluginFragments = new LinkedList (); 49 50 54 public IntegrityCheckReport checkIntegrity( 55 final PathResolver pathResolver) { 56 return integrityCheckReport; 57 } 58 59 63 public IntegrityCheckReport checkIntegrity(final PathResolver pathResolver, 64 final boolean includeRegistrationReport) { 65 return integrityCheckReport; 66 } 67 68 72 public MockPluginRegistry setIntegrityCheckReport( 73 final IntegrityCheckReport value) { 74 integrityCheckReport = value; 75 return this; 76 } 77 78 82 public void configure(final ExtendedProperties config) { 83 } 85 86 90 public String extractId(final String uniqueId) { 91 if (xmlRegistryImpl == null) { 92 xmlRegistryImpl = new PluginRegistryImpl(); 93 } 94 return xmlRegistryImpl.extractId(uniqueId); 95 } 96 97 101 public String extractPluginId(final String uniqueId) { 102 if (xmlRegistryImpl == null) { 103 xmlRegistryImpl = new PluginRegistryImpl(); 104 } 105 return xmlRegistryImpl.extractPluginId(uniqueId); 106 } 107 108 112 public Version extractVersion(final String uniqueId) { 113 if (xmlRegistryImpl == null) { 114 xmlRegistryImpl = new PluginRegistryImpl(); 115 } 116 return xmlRegistryImpl.extractVersion(uniqueId); 117 } 118 119 123 public Collection getDependingPlugins(final PluginDescriptor descr) { 124 return Collections.EMPTY_LIST; 126 } 127 128 132 public ExtensionPoint getExtensionPoint(String pluginId, String pointId) { 133 String uid = makeUniqueId(pluginId, pointId); 134 ExtensionPoint result = (ExtensionPoint) extensionPoints.get(uid); 135 if (result == null) { 136 throw new IllegalArgumentException ( 137 "unknown extenssion point UID " + uid); } 139 return result; 140 } 141 142 146 public ExtensionPoint getExtensionPoint(String uniqueId) { 147 ExtensionPoint result = (ExtensionPoint) extensionPoints.get(uniqueId); 148 if (result == null) { 149 throw new IllegalArgumentException ( 150 "unknown extenssion point UID " + uniqueId); } 152 return result; 153 } 154 155 159 public MockPluginRegistry addExtensionPoint(final ExtensionPoint extPoint) { 160 extensionPoints.put(extPoint.getUniqueId(), extPoint); 161 return this; 162 } 163 164 168 public PluginDescriptor getPluginDescriptor(final String pluginId) { 169 PluginDescriptor result = 170 (PluginDescriptor) pluginDescriptors.get(pluginId); 171 if (result == null) { 172 throw new IllegalArgumentException ( 173 "unknown plug-in ID " + pluginId); } 175 return result; 176 } 177 178 181 public Collection getPluginDescriptors() { 182 return Collections.unmodifiableCollection(pluginDescriptors.values()); 183 } 184 185 189 public MockPluginRegistry addPluginDescriptor( 190 final PluginDescriptor descr) { 191 pluginDescriptors.put(descr.getId(), descr); 192 return this; 193 } 194 195 198 public Collection getPluginFragments() { 199 return Collections.unmodifiableCollection(pluginFragments); 200 } 201 202 206 public MockPluginRegistry addPluginFragment(final PluginFragment fragment) { 207 pluginFragments.add(fragment); 208 return this; 209 } 210 211 214 public IntegrityCheckReport getRegistrationReport() { 215 return registrationReport; 216 } 217 218 222 public MockPluginRegistry setRegistrationReport( 223 final IntegrityCheckReport value) { 224 registrationReport = value; 225 return this; 226 } 227 228 232 public boolean isExtensionPointAvailable(final String pluginId, 233 final String pointId) { 234 return extensionPoints.containsKey(makeUniqueId(pluginId, pointId)); 235 } 236 237 241 public boolean isExtensionPointAvailable(final String uniqueId) { 242 return extensionPoints.containsKey(uniqueId); 243 } 244 245 249 public boolean isPluginDescriptorAvailable(final String pluginId) { 250 return pluginDescriptors.containsKey(pluginId); 251 } 252 253 257 public String makeUniqueId(final String pluginId, final String elementId) { 258 if (xmlRegistryImpl == null) { 259 xmlRegistryImpl = new PluginRegistryImpl(); 260 } 261 return xmlRegistryImpl.makeUniqueId(pluginId, elementId); 262 } 263 264 268 public String makeUniqueId(final String pluginId, final Version version) { 269 if (xmlRegistryImpl == null) { 270 xmlRegistryImpl = new PluginRegistryImpl(); 271 } 272 return xmlRegistryImpl.makeUniqueId(pluginId, version); 273 } 274 275 279 public ManifestInfo readManifestInfo(final URL manifest) { 280 return null; 282 } 283 284 287 public Map register(final URL [] manifests) { 288 return Collections.EMPTY_MAP; 290 } 291 292 296 public void registerListener(final RegistryChangeListener listener) { 297 listeners.add(listener); 298 } 299 300 304 public Collection unregister(final String [] ids) { 305 return Collections.EMPTY_LIST; 307 } 308 309 313 public void unregisterListener(final RegistryChangeListener listener) { 314 listeners.remove(listener); 315 } 316 } 317 | Popular Tags |