Problem showing project images in app ported from XCode

From: Apoorva Muralidhara (apoorv..odefab.com)
Date: Thu Feb 07 2008 - 19:33:16 EST

  • Next message: Lachlan Deck: "Re: Refusing direct actions"

    I'm migrating an old WebObjects application from XCode to WOLips
    (version 3.3.4760). Using the WOLips wizard, I've created an empty
    WebObjects application and copied all the Java code, components, and
    EOModel into the appropriate directories, and configured the build
    path as necessary. The application builds, launches, and fetches
    from the database. But none of the images show up.

    In other applications, we usually serve an image by storing it
    externally, with a symbolic link to its directory from just under /
    Library/WebServer/Documents/, and displaying it using the WOImage
    "src" binding with the corresponding absolute URL. But the
    application I'm porting keeps the images in its project, using the
    WOImage "filename" binding and relying on WOResourceManager to find
    them.

    I have, for example, a WOImage on the front page, with a filename
    binding: filename = "wombat.jpg".

    If I put wombat.jpg into the top-level project directory, the image
    appears when I run the application. If I put it in
    WebServerResources, it does not. The project I'm porting has an
    existing static resource directory structure, with subdirectories
    such as "gif" and "jpg" and "css". When I put this jpg where I
    *really* want it--at WebServerResources/jpg/wombat.jpg--it definitely
    doesn't show up!

    With the resources where I really want them, I have right-clicked on
    WebServerResources, on jpg, and even on the individual .jpg (using
    "add all files with extension") , and chosen WOLips Tools --> Include
    As WebServerResource. My wsresources.include.patternset:

    WebServerResources/**/*
    **/WebServerResources
    **/css
    **/gif
    **/gimp
    **/html
    **/jpg
    **/js
    **/xml
    **/*.jpg

    This file was not mentioned in the wsresources node of my build.xml,
    so I hand-edited it. It looks like this now:

    <wsresources dir="WebServerResources">
            <patternset>
                    <includesfile name="woproject/wsresources.include.patternset" />
                    <include name="**/*" />
                    <exclude name="CVS" />
                    <exclude name=".svn" />
                    <excludesfile name="woproject/wsresources.exclude.patternset" />
            </patternset>
    </wsresources>

    I also tried adding <include name="*.jpg"/>, <include name="jpg/
    *.jpg"/>, <include name="**/*.jpg"/>, and <include
    name="WebServerResources/jpg/*.jpg"/>.

    But no matter what I do, the images just don't show up!

    I right-clicked on WebServerResources and brought up Properties and
    made sure that "Executable" was checked. I looked inside my built
    copy of the application, and the resources are there, although I did
    note a duplicate "WebServerResources" in the path--that is, my jpg is
    at build/marsupials.woa/Contents/WebServerResources/
    WebServerResources/jpg/wombat.jpg. I tried manually "correcting"
    this error, so that this image was at build/marsupials.woa/Contents/
    WebServerResources/jpg/wombat.jpg, and reran the application, but the
    image still doesn't appear.

    Any ideas?

    Thanks,
    Apoorva Muralidhara



    This archive was generated by hypermail 2.0.0 : Thu Feb 07 2008 - 19:34:09 EST