mevenide

Synchronization stopped working in Eclipse 3.2M5

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Critical Critical
  • Resolution: Unresolved
  • Affects Version/s: ECLIPSE-0.4
  • Fix Version/s: None
  • Component/s: mevenide-eclipse
  • Labels:
    None
  • Environment:
    Eclipse 3.2M5, Mevenide 0.4, Win32
  • Number of attachments :
    0

Description

In Eclipse 3.2M5 the synchronizer view does not work anymore. Stacktrace:

java.lang.VerifyError: class org.mevenide.ui.eclipse.sync.action.ToggleWritePropertiesAction overrides final method .
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:158)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:491)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:461)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:420)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:403)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:186)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:390)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:351)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:81)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at org.mevenide.ui.eclipse.sync.view.SynchronizeActionFactory.createWritePropertiesAction(SynchronizeActionFactory.java:332)
at org.mevenide.ui.eclipse.sync.view.SynchronizeActionFactory.initActions(SynchronizeActionFactory.java:122)
at org.mevenide.ui.eclipse.sync.view.SynchronizeActionFactory.<init>(SynchronizeActionFactory.java:89)
at org.mevenide.ui.eclipse.sync.view.SynchronizeActionFactory.getFactory(SynchronizeActionFactory.java:99)
at org.mevenide.ui.eclipse.sync.view.SynchronizationView.createActions(SynchronizationView.java:352)
at org.mevenide.ui.eclipse.sync.view.SynchronizationView.createPartControl(SynchronizationView.java:164)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:331)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:196)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:555)
at org.eclipse.ui.internal.Perspective.showView(Perspective.java:1656)
at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:942)
at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:925)
at org.eclipse.ui.internal.WorkbenchPage$13.run(WorkbenchPage.java:3273)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3270)
at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3248)
at org.mevenide.ui.eclipse.actions.SynchronizePomAction.run(SynchronizePomAction.java:47)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:530)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:480)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:392)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3287)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2907)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1899)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:417)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:99)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:374)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)
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.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)

Activity

Hide
Lukas Vlcek added a comment -

Hi,

I found that it still does not work even for Eclipse 3.2 final release (aka Callisto). This seems like show stopped for me now!

It says:
Unable to create view: class org.mevenide.ui.eclipse.sync.action.ToggleWritePropertiesAction overrides final method [Æà*(+.ká*(+9

And yields the following stack trace:
java.lang.VerifyError: class org.mevenide.ui.eclipse.sync.action.ToggleWritePropertiesAction overrides final method [Æà*(+.ká*(+9
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:160)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:498)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:468)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:427)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:339)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:391)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:352)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at org.mevenide.ui.eclipse.sync.view.SynchronizationView.createActions(SynchronizationView.java:352)
at org.mevenide.ui.eclipse.sync.view.SynchronizationView.createPartControl(SynchronizationView.java:164)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:332)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:197)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:525)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:140)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:394)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1144)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1097)
at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:795)
at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:781)
at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:123)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:126)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:84)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:937)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:709)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3171)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1953)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Show
Lukas Vlcek added a comment - Hi, I found that it still does not work even for Eclipse 3.2 final release (aka Callisto). This seems like show stopped for me now! It says: Unable to create view: class org.mevenide.ui.eclipse.sync.action.ToggleWritePropertiesAction overrides final method [Æà*(+.ká*(+9 And yields the following stack trace: java.lang.VerifyError: class org.mevenide.ui.eclipse.sync.action.ToggleWritePropertiesAction overrides final method [Æà*(+.ká*(+9 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:160) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:498) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:468) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:427) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:410) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:188) at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:339) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:391) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:352) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at org.mevenide.ui.eclipse.sync.view.SynchronizationView.createActions(SynchronizationView.java:352) at org.mevenide.ui.eclipse.sync.view.SynchronizationView.createPartControl(SynchronizationView.java:164) at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:332) at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:197) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290) at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:525) at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:140) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268) at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:394) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1144) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1097) at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:795) at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:781) at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:123) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:126) at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267) at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276) at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1) at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:84) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:937) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:709) at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3171) at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1953) at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Hide
Radek Riedel added a comment -

I have solved this issue by decompiling ToggleWritePropertiesAction class and reimplemnting it by new eclipse code interface.
Then repacking it into plugin jar and it is working. Unfortunately I dont have time to work on the whole issue so I would like to post what I have done for who ever wants to implement it into next version of mevenide.

Here is the reimplemented class.

package org.mevenide.ui.eclipse.sync.action;

import org.eclipse.jface.action.Action;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;

public class ToggleWritePropertiesAction extends Action {

public ToggleWritePropertiesAction()
{
super(null, 2);
IPropertyChangeListener listener =
new IPropertyChangeListener() {

public void propertyChange(PropertyChangeEvent event) {
if("checked".equals(event.getProperty()))
{
String tooltip;
if(((Boolean)event.getNewValue()).booleanValue())
{ tooltip = "Donot override project.properties"; // beacause I don have the whole project I dont need the dependecy // but if any one want do compile the right way he should yuse theline below //Mevenide.getResourceString("ToggleWriteProperties.NoOverride"); } else

{ tooltip = "Override project.properties"; // tooltip = Mevenide.getResourceString("ToggleWriteProperties.Override"); }

setToolTipText(tooltip);
}
}
};
addPropertyChangeListener(listener);
}

}

Show
Radek Riedel added a comment - I have solved this issue by decompiling ToggleWritePropertiesAction class and reimplemnting it by new eclipse code interface. Then repacking it into plugin jar and it is working. Unfortunately I dont have time to work on the whole issue so I would like to post what I have done for who ever wants to implement it into next version of mevenide. Here is the reimplemented class. package org.mevenide.ui.eclipse.sync.action; import org.eclipse.jface.action.Action; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; public class ToggleWritePropertiesAction extends Action { public ToggleWritePropertiesAction() { super(null, 2); IPropertyChangeListener listener = new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { if("checked".equals(event.getProperty())) { String tooltip; if(((Boolean)event.getNewValue()).booleanValue()) { tooltip = "Donot override project.properties"; // beacause I don have the whole project I dont need the dependecy // but if any one want do compile the right way he should yuse theline below //Mevenide.getResourceString("ToggleWriteProperties.NoOverride"); } else { tooltip = "Override project.properties"; // tooltip = Mevenide.getResourceString("ToggleWriteProperties.Override"); } setToolTipText(tooltip); } } }; addPropertyChangeListener(listener); } }
Hide
muz added a comment -

This bug now prevents eclipse 3.4.0 from using this plugin. It cannot syncronize.

Show
muz added a comment - This bug now prevents eclipse 3.4.0 from using this plugin. It cannot syncronize.

People

Vote (10)
Watch (9)

Dates

  • Created:
    Updated: