Bob,
Thanks.  I'll try to get a look at it this evening.  I thought I did  
try absolute paths.  I'll cross check with my code.

Jonathan
On Apr 28, 2010, at 11:08 PM, Robert Hanson wrote:

> Jonathan, I checked in some code for you. The solution is just to  
> use absolute paths, not relative ones. This works for me both in  
> Eclipse and from the Jar file.
>
>  Bytes[] data = getResourceAsBytes("org/openscience/jmol/app/images/ 
> angleButton.gif")
>
>
>   private static byte[] getResourceAsBytes(String fullPath) {
>     byte[] buf = new byte[1024];
>     byte[] bytes = new byte[4096];
>     BufferedInputStream bis = new BufferedInputStream(ClassLoader
>         .getSystemResourceAsStream(fullPath));
>     int len = 0;
>     int totalLen = 0;
>     try {
>       while ((len = bis.read(buf)) > 0) {
>         totalLen += len;
>         if (totalLen >= bytes.length)
>           bytes = ArrayUtil.ensureLength(bytes, totalLen * 2);
>         System.arraycopy(buf, 0, bytes, totalLen - len, len);
>       }
>       buf = new byte[totalLen];
>       System.arraycopy(bytes, 0, buf, 0, totalLen);
>     } catch (Exception IOException) {
>       Logger.error("WebPanel IO ERROR reading resource " + fullPath);
>       return null;
>     }
>     return buf;
>   }
>
>
> On Wed, Apr 28, 2010 at 8:06 PM, Jonathan Gutow <gu...@uwosh.edu>  
> wrote:
> I've run into a problem using some of the internal resources inside  
> the Jmol.jar for WebExport.  If anybody knows what I'm doing wrong  
> please let me know.
>
> Running inside Eclipse my code works.
> As a compiled .jar I find that the resource URL is null instead of a  
> usable value.
> Note it continues to work for things inside the WebExport.html part  
> of the jar.  I assume this may have to do with the fact that  
> WebExport is below the resources I am trying to access in the jar  
> structure.  I have not been able to figure out what to do.  Should I  
> be getting the URL with a call like object.getParent...?
>
> Here's the piece of code.
>
> object = this (the WebExport object)
> fileName = ( button.png, which works for files in WebExport.html,  
> or ../image/button.png or org/openscience/jmol/app/images/ neither  
> of the last two work in the compiled .jar, but all three work in  
> Eclipse)
> flagError=True.
>
> static URL getResource(Object object, String fileName, boolean  
> flagError) {
>    URL url = null;
>    if (!fileName.contains("/"))fileName="html/"+fileName;
>    try {
>      if ((url = object.getClass().getResource(fileName)) == null &&  
> flagError)
>        System.err.println("Couldn't find file: " + fileName);
>    } catch (Exception e) {
>      System.err.println("Exception " + e.getMessage() + " in  
> getResource "
>          + fileName);
>    }
>    return url;
>  }
>
> Thanks,
> Jonathan
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Jmol-developers mailing list
> Jmol-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jmol-developers
>
>
>
> -- 
> Robert M. Hanson
> Professor of Chemistry
> St. Olaf College
> 1520 St. Olaf Ave.
> Northfield, MN 55057
> http://www.stolaf.edu/people/hansonr
> phone: 507-786-3107
>
>
> If nature does not answer first what we want,
> it is better to take what answer we get.
>
> -- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
> ------------------------------------------------------------------------------
> _______________________________________________
> Jmol-developers mailing list
> Jmol-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jmol-developers

                          Dr. Jonathan H. Gutow
Chemistry Department                                 gu...@uwosh.edu
UW-Oshkosh                                           Office:920-424-1326
800 Algoma Boulevard                                 FAX:920-424-2042
Oshkosh, WI 54901
                  http://www.uwosh.edu/facstaff/gutow






------------------------------------------------------------------------------
_______________________________________________
Jmol-developers mailing list
Jmol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to