/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu; import gw.internal.gosu.parser.DefaultEntityAccess; import java.net.URL; import java.io.File; import java.net.URLClassLoader; public class ShellEntityAccess extends DefaultEntityAccess { private static final URLClassLoader _classLoader = (URLClassLoader)ClassLoader.getSystemClassLoader(); @Override public URLClassLoader getPluginClassLoader() { return _classLoader; } public StringBuilder getPluginRepositories() { StringBuilder sbFileRepositories = new StringBuilder(); addPluginRepositories( sbFileRepositories ); return sbFileRepositories; } private void addPluginRepositories( StringBuilder sbFileRepositories ) { //## this is crazy, it adds everything under the sun, i don;t think we need anything here since gosu classes load in the same loader as java classes // URL[] ls = _classLoader.getURLs(); // for( URL url : ls ) // { // String strFileName = URLDecoder.decode(url.getFile()); // if( strFileName.startsWith( "//" ) || strFileName.startsWith( "/" ) ) // { // String fileName = strFileName.substring( 1 ); // if (new File(fileName).exists()) { // strFileName = fileName; // } // } // strFileName = strFileName.replace( '/', File.separatorChar ); // sbFileRepositories.append( strFileName ).append( File.pathSeparatorChar ); // } } }