[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Some (minimal?) Java help needed (Was: Bug#670353: ITP: fastqc -- quality control for next generation sequencing data)



Le 11/8/12 1:13 PM, Andreas Tille a écrit :
> Hi Olivier,
>
> On Thu, Nov 08, 2012 at 11:17:33AM +0100, Olivier Sallou wrote:
>>> This sounds somehow obvious and works (even if I wonder why my manual
>>> call at command line which exactly did what you suggested was (and is)
>>> failing).
>> It seems that the exec call loose the ENV{CLASSPATH} set by the perl
>> program where dependencies are set. As classpath is correctly set in the
>> manifest, calling the -jar works perfectly.
>> If you call on command line:  java -cp
>> /usr/share/fastqc/fastqc.jar:path_tobam.jar:path_to-bzip2.jar 
>> uk.ac.babraham.FastQC.FastQCApplication, it works fine too.
> I guess this might be an effect of beeing fastqc.jar not in
> /usr/share/java where all *.jar files should end up.  Whatever, thanks
> for enlightening me. 
>
> I commited the packaging stuff that creates a fastqc that properly starts
> now to SVN.  Everybody please give it a test with your sequences.
>
> Unfortunately there seems one remaining issue with the Help system:
> If I try the menu item
>
>    "Help"  ->  "Contents..."
>
> I get the following:
>
> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>         at uk.ac.babraham.FastQC.FastQCMenuBar.actionPerformed(FastQCMenuBar.java:135)
>         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
>         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
>         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
>         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
>         at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
>         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)
>         at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)
>         at java.awt.Component.processMouseEvent(Component.java:6389)
>         at javax.swing.JComponent.processMouseEvent(JComponent.java:3268)
>         at java.awt.Component.processEvent(Component.java:6154)
>         at java.awt.Container.processEvent(Container.java:2045)
>         at java.awt.Component.dispatchEventImpl(Component.java:4750)
>         at java.awt.Container.dispatchEventImpl(Container.java:2103)
>         at java.awt.Component.dispatchEvent(Component.java:4576)
>         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
>         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
>         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
>         at java.awt.Container.dispatchEventImpl(Container.java:2089)
>         at java.awt.Window.dispatchEventImpl(Window.java:2518)
>         at java.awt.Component.dispatchEvent(Component.java:4576)
>         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
>         at java.awt.EventQueue.access$400(EventQueue.java:96)
>         at java.awt.EventQueue$2.run(EventQueue.java:631)
>         at java.awt.EventQueue$2.run(EventQueue.java:629)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
>         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
>         at java.awt.EventQueue$3.run(EventQueue.java:645)
>         at java.awt.EventQueue$3.run(EventQueue.java:643)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
>         at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
>         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
>         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
>         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
>         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
>         at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
>
> I tried to find the reason for this pretty useless error log and assumed
> that the reason migth possibly be the implicite PATH to the Help dir and
> replaced it with an explicite PATH
>
> --- a/uk/ac/babraham/FastQC/FastQCMenuBar.java
> +++ b/uk/ac/babraham/FastQC/FastQCMenuBar.java
> @@ -132,7 +132,7 @@ public class FastQCMenuBar extends JMenu
>                 }
>
>                 else if (command.equals("help_contents")) {
>
>                         try {
>
> -                               new HelpDialog(application,new File(URLDecoder.decode(ClassLoader.getSystemResource("Help").getFile(),"UTF-8")));
>
> +                               new HelpDialog(application,new File(URLDecoder.decode(ClassLoader.getSystemResource("/usr/share/fastqc/Help").getFile(),"UTF-8")));

Looking at the code, I would expect to get something like:
               

new HelpDialog(application,new File(URLDecoder.decode("/usr/share/fastqc/Help","UTF-8")));
or
new HelpDialog(application,new File("/usr/share/fastqc/Help");

Olivier 

>
>                         }
>
>                         catch (UnsupportedEncodingException e1) {
>
>                                 e1.printStackTrace();
>
>
> but the result remained the same.  Any idea?
>
> Kind regards
>
>          Andreas.
>
>

-- 
Olivier Sallou
IRISA / University of Rennes 1
Campus de Beaulieu, 35000 RENNES - FRANCE
Tel: 02.99.84.71.95

gpg key id: 4096R/326D8438  (keyring.debian.org)
Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438


Reply to: