/** * Obtiene una instancia de la clase. * * @return Instancia de la clase. * @throws ISPACException si ocurre algún error. */ public static synchronized ISPACConfigLocation getInstance() throws ISPACException { if (mInstance == null) { mInstance = new ISPACConfigLocation(); mInstance.initiate(); } return mInstance; }
/** * Obtiene una ruta de un fichero de localización. * * @param key Nombre de la localización. * @return Ruta del fichero de configuración. */ public static String getLocation(String key) { String location = null; try { location = ISPACConfigLocation.getInstance().get(key); } catch (ISPACException e) { location = null; } return location; }
/** * Obtiene la URL de un fichero. La búsqueda de realiza en el orden siguiente: * * <ul> * <li>Classpath de la aplicación * <li>Classpath del sistema * <li>Ruta absoluta * </ul> * * @param resource Nombre del fichero. * @return URL del fichero. */ public static URL getFileURL(String resource) { URL url = null; if (resource != null) { // Comprobar el fichero en el classpath de la aplicación url = ISPACConfigLocation.class.getClassLoader().getResource(resource); if (url == null) { // Comprobar el fichero en el classpath del sistema url = ClassLoader.getSystemResource(resource); if (url == null) { try { // Fichero con path relativo a la aplicación String appPath = ISPACConfigLocation.getInstance().get(APP_PATH); if (StringUtils.isNotBlank(appPath)) { File file = new File(appPath + resource); if (file.isFile()) { url = file.toURL(); } } } catch (Exception e) { url = null; } if (url == null) { try { // Fichero con path absoluto File file = new File(resource); if (file.isFile()) { url = file.toURL(); } } catch (Exception e) { url = null; } } } } } return url; }