Debugging Drop-In PlugIn

41 views
Skip to first unread message

Daniel Seidinger

unread,
Jan 7, 2016, 7:47:48 AM1/7/16
to JCrypTool Developers
Hi, I am part of a team currently developing a new PlugIn and my question is that if there is a way to check why a jar file doesn't show up as a plugin in JCryptTool. I used the guide on the website on how to export it and the plugin is already running as a stand-alone programm. It would be great if you could help me.

Dominik Schadow

unread,
Jan 7, 2016, 8:03:34 AM1/7/16
to JCrypTool Developers
Hi Daniel,

Have a look at the JCrypTool About dialog and the plug-ins listed in there. Your plug-in should be visible too. After that check the JCrypTool log file located in user.home/Documents/.jcryptool. Maybe you'll find an exception or error in this file.

Dominik 

Daniel Seidinger

unread,
Jan 7, 2016, 1:53:47 PM1/7/16
to JCrypTool Developers

Okay, it shows up as being part of it and I only found a help missing error because we haven't implemented it yet, could this be the cause?

Dominik Schadow

unread,
Jan 7, 2016, 2:01:24 PM1/7/16
to JCrypTool Developers
No, that shouldn't stop your plug-in from being loaded. Which JCrypTool extension point are you using, where do you expect your plug-in to be visible?

Daniel Seidinger

unread,
Jan 8, 2016, 8:02:19 AM1/8/16
to JCrypTool Developers
We are using the visual menue extensionpoint, so we are expecting it to be under visual.

Daniel Seidinger

unread,
Jan 8, 2016, 8:07:55 AM1/8/16
to JCrypTool Developers
!ENTRY org.eclipse.help 4 0 2016-01-07 13:41:19.430
!MESSAGE Error reading help table of contents file /"org.jcryptool.visual.merkleTree/$nl$/toc.xml" (skipping file)
!STACK 0
java.io.FileNotFoundException
    at org.eclipse.help.internal.toc.TocFileParser.parse(TocFileParser.java:49)
    at org.eclipse.help.internal.toc.TocFileProvider.getTocContributions(TocFileProvider.java:47)
    at org.eclipse.help.internal.toc.TocManager.getAndCacheTocContributions(TocManager.java:210)
    at org.eclipse.help.internal.toc.TocManager.getTocContributionsForToc(TocManager.java:199)
    at org.eclipse.help.internal.toc.TocManager.getRootTocContributions(TocManager.java:306)
    at org.eclipse.help.internal.toc.TocManager.getTocs(TocManager.java:68)
    at org.eclipse.help.HelpSystem.getTocs(HelpSystem.java:71)
    at org.jcryptool.core.commands.ShowHelpContents$1.run(ShowHelpContents.java:44)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.jcryptool.core.commands.ShowHelpContents.execute(ShowHelpContents.java:42)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.jcryptool.core.Application.start(Application.java:44)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)


the only error related to the program I could find.

Dominik Schadow

unread,
Jan 8, 2016, 8:45:39 AM1/8/16
to JCrypTool Developers
Please post your repository URL where I can find your plug-in.

Daniel Seidinger

unread,
Jan 8, 2016, 9:19:53 AM1/8/16
to JCrypTool Developers
It isn't on any public repository atm, I could send you the sourcecode tho.

Dominik Schadow

unread,
Jan 8, 2016, 9:22:57 AM1/8/16
to JCrypTool Developers
Yes mail that to me.

Dominik Schadow

unread,
Jan 9, 2016, 7:11:09 AM1/9/16
to JCrypTool Developers
You do not extend the org.jcryptool.core.operations.visuals like any other JCrypTool visuals plug-in (have a look at these plug-ins). Your plug-in will not show up in JCT without that. And remove the hardcoded zest classpath entries in the .classpath file, this will not work during runtime anyway.


Am Freitag, 8. Januar 2016 15:19:53 UTC+1 schrieb Daniel Seidinger:

Daniel Seidinger

unread,
Jan 10, 2016, 10:51:36 AM1/10/16
to JCrypTool Developers
What exactly do I need to change because we are currently already extending the org.jcryptool.core.operations.visuals but it is still not working, can you maybe be more concrete in what has to be changed?

Daniel Seidinger

unread,
Jan 10, 2016, 11:28:53 AM1/10/16
to JCrypTool Developers
Okay, it now shows up int the menue, but it doesn't open anything, in the error log I found this.


!ENTRY org.jcryptool.core 4 0 2016-01-10 17:25:42.024
!MESSAGE Die Ansicht org.jcryptool.visual.merkleTree.MerkleTreeView konnte nicht erstellt werden.
!STACK 1
org.eclipse.ui.PartInitException: Die Ansicht org.jcryptool.visual.merkleTree.MerkleTreeView konnte nicht erstellt werden.
    at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1258)
    at org.eclipse.ui.internal.WorkbenchPage$12.run(WorkbenchPage.java:4211)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4207)
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4187)
    at org.jcryptool.core.actions.ShowPluginViewHandler.execute(ShowPluginViewHandler.java:52)
!SUBENTRY 1 org.eclipse.ui 4 0 2016-01-10 17:25:42.024
!MESSAGE Die Ansicht org.jcryptool.visual.merkleTree.MerkleTreeView konnte nicht erstellt werden.

Daniel Seidinger

unread,
Jan 14, 2016, 7:22:25 AM1/14/16
to JCrypTool Developers
Okay, we now can launch our plugin by going to windows -> Others -> klicking on the plugin. It currently doesn't work via the normal menue but it does show up there.
Reply all
Reply to author
Forward
0 new messages