1
1
// **********************************************************************
3
// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
3
// Copyright (c) 2003-2010 ZeroC, Inc. All rights reserved.
5
5
// This copy of Ice is licensed to you under the terms described in the
6
6
// ICE_LICENSE file included in this distribution.
62
60
_initialized = true;
63
public synchronized String[]
66
java.util.ArrayList<String> names = new java.util.ArrayList<String>();
67
for(java.util.Map.Entry<String, Plugin> p : _plugins.entrySet())
69
names.add(p.getKey());
71
return names.toArray(new String[0]);
65
74
public synchronized Plugin
66
75
getPlugin(String name)
109
java.util.Iterator<java.util.Map.Entry<String, Plugin> > i = _plugins.entrySet().iterator();
110
java.util.Map.Entry<String, Plugin> entry;
118
for(java.util.Map.Entry<String, Plugin> p : _plugins.entrySet())
116
Plugin p = entry.getValue();
122
p.getValue().destroy();
119
124
catch(RuntimeException ex)
121
Ice.Util.getProcessLogger().warning("unexpected exception raised by plug-in `" +
122
entry.getKey() + "' destruction:\n" + ex.toString());
126
Ice.Util.getProcessLogger().warning("unexpected exception raised by plug-in `" + p.getKey() +
127
"' destruction:\n" + ex.toString());
156
161
java.util.Map<String, String> plugins = properties.getPropertiesForPrefix(prefix);
158
163
final String[] loadOrder = properties.getPropertyAsList("Ice.PluginLoadOrder");
159
for(int i = 0; i < loadOrder.length; ++i)
164
for(String name : loadOrder)
161
if(_plugins.containsKey(loadOrder[i]))
166
if(_plugins.containsKey(name))
163
168
PluginInitializationException ex = new PluginInitializationException();
164
ex.reason = "plug-in `" + loadOrder[i] + "' already loaded";
169
ex.reason = "plug-in `" + name + "' already loaded";
168
String key = "Ice.Plugin." + loadOrder[i] + ".java";
173
String key = "Ice.Plugin." + name + ".java";
169
174
boolean hasKey = plugins.containsKey(key);
172
plugins.remove("Ice.Plugin." + loadOrder[i]);
177
plugins.remove("Ice.Plugin." + name);
176
key = "Ice.Plugin." + loadOrder[i];
181
key = "Ice.Plugin." + name;
177
182
hasKey = plugins.containsKey(key);
182
final String value = (String)plugins.get(key);
183
loadPlugin(loadOrder[i], value, cmdArgs);
187
final String value = plugins.get(key);
188
loadPlugin(name, value, cmdArgs);
184
189
plugins.remove(key);
188
193
PluginInitializationException ex = new PluginInitializationException();
189
ex.reason = "plug-in `" + loadOrder[i] + "' not defined";
194
ex.reason = "plug-in `" + name + "' not defined";
249
254
loadPlugin(name, value, cmdArgs);
254
// An application can set Ice.InitPlugins=0 if it wants to postpone
255
// initialization until after it has interacted directly with the
258
if(properties.getPropertyAsIntWithDefault("Ice.InitPlugins", 1) > 0)
306
301
PluginFactory pluginFactory = null;
309
Class<?> c = Class.forName(className);
304
Class<?> c = IceInternal.Util.getInstance(_communicator).findClass(className);
307
PluginInitializationException e = new PluginInitializationException();
308
e.reason = "class " + className + " not found";
310
311
java.lang.Object obj = c.newInstance();
323
catch(ClassNotFoundException ex)
325
PluginInitializationException e = new PluginInitializationException();
326
e.reason = "class " + className + " not found";
330
324
catch(IllegalAccessException ex)
332
326
PluginInitializationException e = new PluginInitializationException();