java3d
  1. java3d
  2. JAVA3D-237

(SceneGraphFileWriter) ClassLoader cant find my custom objects's state class

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.6.0
    • Component/s: j3d-core-utils
    • Labels:
      None
    • Environment:

      Operating System: Windows XP
      Platform: PC

    • Issuezilla Id:
      237

      Description

      In this test example although i have custom object's state at exact location it
      gives this warning "Could not find
      com.sun.j3d.utils.scenegraph.io.state.CubeIQAState, using superclass
      com.sun.j3d.utils.scenegraph.io.state.javax.media.j3d.IndexedQuadArrayState
      " And cant load saved file.

        Activity

        Hide
        tekrei added a comment -

        Created an attachment (id=143)
        Contains 3 class to test issue

        Show
        tekrei added a comment - Created an attachment (id=143) Contains 3 class to test issue
        Hide
        tekrei added a comment -

        Looks like com.sun.j3d.utils.scenegraph.io.retained.Controller has class loading:
        (Line 228)
        Class state = Class.forName(
        "com.sun.j3d.utils.scenegraph.io.state."name"State" );

        Can we solve this class loading problem with this on Controller object:

        // Instead of
        // Class toRun =
        Class.forName("com.sun.j3d.utils.scenegraph.io.state."name"State");
        // use:
        Thread t = Thread.currentThread();
        ClassLoader cl = t.getContextClassLoader();
        Class toRun = cl.loadClass("com.sun.j3d.utils.scenegraph.io.state."name"State");

        Show
        tekrei added a comment - Looks like com.sun.j3d.utils.scenegraph.io.retained.Controller has class loading: (Line 228) Class state = Class.forName( "com.sun.j3d.utils.scenegraph.io.state." name "State" ); Can we solve this class loading problem with this on Controller object: // Instead of // Class toRun = Class.forName("com.sun.j3d.utils.scenegraph.io.state." name "State"); // use: Thread t = Thread.currentThread(); ClassLoader cl = t.getContextClassLoader(); Class toRun = cl.loadClass("com.sun.j3d.utils.scenegraph.io.state." name "State");
        Hide
        kcr added a comment -

        Set target milestone to 1.5.0.

        Show
        kcr added a comment - Set target milestone to 1.5.0.
        Hide
        kcr added a comment -

        Assign to kcr

        Show
        kcr added a comment - Assign to kcr
        Hide
        kcr added a comment -

        Lower priority to P4.

        Show
        kcr added a comment - Lower priority to P4.
        Hide
        kcr added a comment -

        Set target release to 1.6.0

        Show
        kcr added a comment - Set target release to 1.6.0
        Hide
        kcr added a comment -

        Unassigned.

        Show
        kcr added a comment - Unassigned.

          People

          • Assignee:
            java3d-issues
            Reporter:
            tekrei
          • Votes:
            2 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: