private URL locateResource(
     String publicName, String category, String defaultName, boolean verbose, File publicRoot)
     throws IOException {
   URL u = null;
   boolean custom = false;
   if (publicName != null) {
     if (publicRoot != null) {
       File publicResource = new File(publicRoot, publicName);
       if (publicResource.exists() && publicResource.isFile()) {
         u = publicResource.toURI().toURL();
       }
     } else {
       u = baseResourceLoader.getClassLoader().getResource(publicName);
     }
     custom = (u != null);
   }
   if (u == null && defaultName != null) {
     u = baseResourceLoader.getResource(defaultName);
   }
   String msg = null;
   if (custom) {
     msg =
         MessageFormat.format(
             I18N.getString("message.using-custom-resource-from-classpath"),
             category == null ? "" : "[" + category + "] ",
             publicName);
   } else if (u != null) {
     msg =
         MessageFormat.format(
             I18N.getString("message.using-default-resource-from-classpath"),
             category == null ? "" : "[" + category + "] ",
             publicName);
   }
   if (verbose && u != null) {
     Log.info(msg);
   }
   return u;
 }
Example #2
0
 private static long getLastModified(Class cls) {
   try {
     String shortName = cls.getName().substring(1 + cls.getName().lastIndexOf('.'));
     java.net.URL url = cls.getResource(shortName + ".class");
     String file = url.getFile();
     // System.out.println("url="+url);
     if ("file".equals(url.getProtocol())) {
       // example:
       // file='/home/cliffwd/cvs/dublin/nb_all/schema2beans/rt/src/org/netbeans/modules/schema2beans/GenBeans.class'
       String result = file.substring(0, file.length() - cls.getName().length() - 6);
       return new File(file).lastModified();
     } else if ("jar".equals(url.getProtocol())) {
       // example: file = 'jar:/usr/local/j2sdkee1.3.1/lib/j2ee.jar!/org/w3c/dom/Node.class'
       String jarFile = file.substring(file.indexOf(':') + 1);
       jarFile = jarFile.substring(0, jarFile.indexOf('!'));
       // System.out.println("jarFile="+jarFile);
       return new File(jarFile).lastModified();
     }
     return url.openConnection().getDate();
   } catch (java.io.IOException e) {
     return 0;
   }
 }