CaArray module set up

From Informatics

Jump to: navigation, search

The file for caarray component can be downloaded at \\Genome8\public\xiaoqing\caarray2\Caarray.zip.

Please unzip the file into your eclipse_workspace, then add the caarray project into your Eclipse.

The changes made in geworkbench-core:

  • update CVS for the source.
  • remove the lib/caArrayMageom folder.
  • create lib/caarray2 folder.
  • Move two jars commons-collections-3.2.jar and commons-lang-2.3.jar (inside the caarray/lib) into the new created folder lib/caarray2 in geworkbench-core.
  • Update the geworkbench-core build path. Put above two jars on top of the classpath. Export both jars.
  • Update the new caarray component class path including the jars inside its own lib folder.
  • The caarray component can be invoked standalone using the main class:
org.geworkbench.components.caarray.arraydata.CaArray2Component.java
  • Update the all.xml with the following plugin:
<plugin id="caArray2Panel" name="CaArray2" class="org.geworkbench.components.caarray.arraydata.CaArray2Component" source="caarray">
 <gui-area name="VisualArea"/>
 </plugin>


Status

The code can be compiled with the above set up. But you will get the error message. Please check the end of this page to set up a runnable caArray.

  [java] Server connection exception: gov.nih.nci.caarray.services.ServerConnectionException: Couldn't connect to the caArray server
    [java] gov.nih.nci.caarray.services.ServerConnectionException: Couldn't connect to the caArray server
    [java]     at gov.nih.nci.caarray.services.CaArrayServer.connectToServer(CaArrayServer.java:175)
    [java]     at gov.nih.nci.caarray.services.CaArrayServer.connect(CaArrayServer.java:129)
    [java]     at org.geworkbench.components.caarray.arraydata.CaArray2Component.main(CaArray2Component.java:130)
    [java]     at org.geworkbench.components.caarray.arraydata.CaArray2Component.saveButtonPressed(CaArray2Component.java:123)
     [java]     at org.geworkbench.components.caarray.arraydata.CaArray2Component$1.actionPerformed(CaArray2Component.java:118)
    [java]     at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    [java]     at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
     [java]     at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    [java]     at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    [java]     at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    [java]     at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
    [java]     at java.awt.Component.processMouseEvent(Component.java:5488)
    [java]     at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
    [java]     at java.awt.Component.processEvent(Component.java:5253)
    [java]     at java.awt.Container.processEvent(Container.java:1966)
    [java]     at java.awt.Component.dispatchEventImpl(Component.java:3955)
    [java]     at java.awt.Container.dispatchEventImpl(Container.java:2024)
    [java]     at java.awt.Component.dispatchEvent(Component.java:3803)
    [java]     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    [java]     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    [java]     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    [java]     at java.awt.Container.dispatchEventImpl(Container.java:2010)
    [java]     at java.awt.Window.dispatchEventImpl(Window.java:1766)
    [java]     at java.awt.Component.dispatchEvent(Component.java:3803)
    [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    [java]     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    [java]     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    [java]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    [java]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    [java]     at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    [java] Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
    [java]     at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
    [java]     at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
    [java]     at javax.naming.InitialContext.init(InitialContext.java:223)
    [java]     at javax.naming.InitialContext.<init>(InitialContext.java:197)
    [java]     at gov.nih.nci.caarray.services.CaArrayServer.connectToServer(CaArrayServer.java:168)
    [java]     ... 29 more
    [java] Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
    [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    [java]     at java.security.AccessController.doPrivileged(Native Method)
    [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    [java]     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    [java]     at java.lang.Class.forName0(Native Method)
    [java]     at java.lang.Class.forName(Class.java:242)
    [java]     at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
    [java]     at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
    [java]     ... 33 more

If you remove all jars from the new caarray component and move them into the main lib folder except axis.jar, you still get an error message:


  java.lang.NoClassDefFoundError: org/apache/axis/encoding/Deserializer
	  at java.lang.Class.forName0(Native Method)
	  at java.lang.Class.forName(Class.java:164)
	  at $Proxy7.<clinit>(Unknown Source)
	  at sun.reflect.GeneratedSerializationConstructorAccessor18.newInstance(Unknown Source)
	  at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
	  at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:896)
	  at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1704)
	  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
	  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
	    at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
	  at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
	  at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:652)
	  at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
	  at javax.naming.InitialContext.lookup(InitialContext.java:351)
	  at gov.nih.nci.caarray.services.CaArrayServer.connectToServer(CaArrayServer.java:178)
	  at gov.nih.nci.caarray.services.CaArrayServer.connect(CaArrayServer.java:132)
	  at org.geworkbench.components.caarray.arraydata.DataSetDownloadClient.lookupExperiments(DataSetDownloadClient.java:248)
	  at org.geworkbench.components.caarray.arraydata.CaArray2Component.receive(CaArray2Component.java:91)
	   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	  at java.lang.reflect.Method.invoke(Method.java:585)
	  at org.geworkbench.engine.management.ComponentRegistry$1.run(ComponentRegistry.java:374)
	  at org.geworkbench.engine.management.Synchronous.addTask(Synchronous.java:19)
	  at org.geworkbench.engine.management.ComponentRegistry.publishToSubscriberHelper(ComponentRegistry.java:392)
	  at org.geworkbench.engine.management.ComponentRegistry.publish(ComponentRegistry.java:406)
	  at org.geworkbench.engine.management.ComponentRegistry.access$1(ComponentRegistry.java:400)
	  at org.geworkbench.engine.management.ComponentRegistry$ComponentExtension.intercept(ComponentRegistry.java:180)
	  at org.geworkbench.builtin.projects.ProjectPanel$$EnhancerByCGLIB$$60aac370.publishCaArrayRequestEvent(<generated>)
	  at org.geworkbench.builtin.projects.LoadData.publishCaArrayEvent(LoadData.java:512)
	  at org.geworkbench.builtin.projects.util.CaARRAYPanel.publishCaArrayEvent(CaARRAYPanel.java:158)
	  at org.geworkbench.builtin.projects.util.CaARRAYPanel$ConnectionTask.connect(CaARRAYPanel.java:842)
	  at org.geworkbench.builtin.projects.util.CaARRAYPanel$ConnectionTask$1.run(CaARRAYPanel.java:723)
	  at java.lang.Thread.run(Thread.java:595) 


You may see different error messages if you tried to move some jars in the carray component lib folder. For example, if you save axis.jar and caarray-client.jar in component lib, others in core.


gov.nih.nci.caarray.services.ServerConnectionException: Couldn't connect to the caArray server at gov.nih.nci.caarray.services.CaArrayServer.connectToServer(CaArrayServer.java:184) at gov.nih.nci.caarray.services.CaArrayServer.connect(CaArrayServer.java:132) at org.geworkbench.components.caarray.arraydata.CaArray2Component.receive(CaArray2Component.java:90) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.geworkbench.engine.management.ComponentRegistry$1.run(ComponentRegistry.java:374) at org.geworkbench.engine.management.Synchronous.addTask(Synchronous.java:19) at org.geworkbench.engine.management.ComponentRegistry.publishToSubscriberHelper(ComponentRegistry.java:392) at org.geworkbench.engine.management.ComponentRegistry.publish(ComponentRegistry.java:406) at org.geworkbench.engine.management.ComponentRegistry.access$1(ComponentRegistry.java:400) at org.geworkbench.engine.management.ComponentRegistry$ComponentExtension.intercept(ComponentRegistry.java:180) at org.geworkbench.builtin.projects.ProjectPanel$$EnhancerByCGLIB$$60aac370.publishCaArrayRequestEvent(<generated>) at org.geworkbench.builtin.projects.LoadData.publishCaArrayEvent(LoadData.java:514) at org.geworkbench.builtin.projects.util.CaARRAYPanel.publishCaArrayEvent(CaARRAYPanel.java:172) at org.geworkbench.builtin.projects.util.CaARRAYPanel$ConnectionTask.connect(CaARRAYPanel.java:744) at org.geworkbench.builtin.projects.util.CaARRAYPanel$ConnectionTask$1.run(CaARRAYPanel.java:699) at java.lang.Thread.run(Thread.java:595) Caused by: javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: gov.nih.nci.caarray.services.search.CaArraySearchService] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:728) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587) at javax.naming.InitialContext.lookup(InitialContext.java:351) at gov.nih.nci.caarray.services.CaArrayServer.connectToServer(CaArrayServer.java:178) ... 18 more Caused by: java.lang.ClassNotFoundException: gov.nih.nci.caarray.services.search.CaArraySearchService at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:707) at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:651) at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:588) at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628) at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294) at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238) at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at java.rmi.MarshalledObject.get(MarshalledObject.java:135) at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:652) ... 21 more

The only functional setup is listed below:

  • Move all caarray related jars into the main lib (lib/caarray2, the new created folder) and add them on the top of build path.
Personal tools