Revision 1092 org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.app/org.gvsig.scripting.app.mainplugin/src/main/java/org/gvsig/scripting/app/extension/ScriptingExtension.java
ScriptingExtension.java | ||
---|---|---|
21 | 21 |
*/ |
22 | 22 |
package org.gvsig.scripting.app.extension; |
23 | 23 |
|
24 |
import java.io.File; |
|
24 | 25 |
import java.io.InputStream; |
26 |
import java.net.MalformedURLException; |
|
27 |
import java.net.URL; |
|
25 | 28 |
import java.util.List; |
26 | 29 |
import org.apache.commons.io.IOUtils; |
27 | 30 |
import org.apache.commons.lang3.StringUtils; |
... | ... | |
31 | 34 |
import org.gvsig.andami.PluginsLocator; |
32 | 35 |
import org.gvsig.andami.PluginsManager; |
33 | 36 |
import org.gvsig.andami.plugins.Extension; |
37 |
import org.gvsig.andami.plugins.PluginClassLoader; |
|
34 | 38 |
import org.gvsig.scripting.ScriptingLocator; |
35 | 39 |
import org.gvsig.scripting.ScriptingManager; |
36 | 40 |
import org.gvsig.scripting.swing.api.ScriptingSwingLocator; |
... | ... | |
179 | 183 |
return true; |
180 | 184 |
} |
181 | 185 |
|
186 |
public static void add_classpath(URL url) { |
|
187 |
if( url==null ) { |
|
188 |
LOGGER.warn("Can't add to the plugin classloader a null URL."); |
|
189 |
return; |
|
190 |
} |
|
191 |
try { |
|
192 |
PluginsManager manager = PluginsLocator.getManager(); |
|
193 |
PluginServices thePlugin = manager.getPlugin(ScriptingExtension.class); |
|
194 |
PluginClassLoader loader = thePlugin.getClassLoader(); |
|
195 |
loader.addURL(url); |
|
196 |
} catch(Throwable th) { |
|
197 |
LOGGER.warn("Can't add the url '"+url.toString()+"' to the plugin classloader.",th); |
|
198 |
} |
|
199 |
} |
|
200 |
|
|
201 |
public static void add_classpath(File path) { |
|
202 |
if( path==null ) { |
|
203 |
LOGGER.warn("Can't create a url from a null file."); |
|
204 |
return; |
|
205 |
} |
|
206 |
try { |
|
207 |
URL url = path.toURI().toURL(); |
|
208 |
add_classpath(url); |
|
209 |
} catch (MalformedURLException ex) { |
|
210 |
LOGGER.warn("Can't create a url from the path '"+path+"'.", ex); |
|
211 |
} |
|
212 |
} |
|
213 |
|
|
214 |
public static void add_classpath(String path) { |
|
215 |
if( path==null ) { |
|
216 |
LOGGER.warn("Can't create a url from a null path."); |
|
217 |
return; |
|
218 |
} |
|
219 |
File f = new File(path); |
|
220 |
add_classpath(f); |
|
221 |
} |
|
222 |
|
|
182 | 223 |
@Override |
183 | 224 |
public PluginServices getPlugin() { |
184 | 225 |
PluginServices thePlugin = super.getPlugin(); |
... | ... | |
189 | 230 |
return thePlugin; |
190 | 231 |
} |
191 | 232 |
|
192 |
|
|
193 | 233 |
} |
Also available in: Unified diff