facebook

Removing button or action breaks code

  1. MyEclipse Archived
  2.  > 
  3. Matisse/Swing UI Development
Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #264112 Reply

    Richly
    Participant

    I’ve got a form with a couple of extra buttons that I’d like to remove. But when I click on the button, delete it, and then try to save the form, I get a Save Failed:null message. Thinking the the problem was removing a button that had code associated with it, I began with a clean copy of the form and removed just the action by selecting actionPerformed on the Events page and then clicking on the Remove button. But when I then tried to save the form, I got the same Save Failed:null error message.

    So, there appears to be a bug in Matisse that prevents my removing the extraneous buttons.

    For the record, I’m using MyEclipse 20061111-5.1.0-GA with jre that came with the FullStack.

    Best regards,
    Richard

    #264154 Reply

    Riyad Kalla
    Member

    Richard,
    I cannot reproduce this locally. Can you download this project and open the form, then try and remove both the buttons then save it. Did that work?

    #264175 Reply

    Richly
    Participant

    Your example works fine for me, too. Mine still fails. Of course, my form is much more complicated: it has three panels, fourteen buttons, a couple of radio buttons, etc.

    I played with your form, making the buttons have the same width, placing them on a panel, reformatting the source using my preferences. None of this made saving the form fail after removing an action or a button.

    – Richard

    #264177 Reply

    Riyad Kalla
    Member

    Richard,
    Can you email a small project, that is just enough code with your forms so that it compiles without any errors so I can test this? support@genuitec.com ATTN Riyad, with a link to this thread so I have a reference.

    #264245 Reply

    Richly
    Participant

    My project isn’t very large, but it’s not as small as you’d like, either. Zipped, it’s about 50K. After playing with it for a couple of hours, what I find is this: it breaks reliably as is. But if I copy it to another directory and do something to make it any smaller and transportable, e.g., make the buttons just print text to the console and disconnect it from its database, then it saves reliably after removing one of the buttons. But any single action – e.g., disconnect from database – may or may not affect this behavior.

    One thing I’ve not been able to try is separating the output (.class) files into a different directory from the input (.java) files. I’ve simply forgotten how I did it in the first place and can’t seem to find the magic to do it again – nor can I find it in the help file. I’d appreciate a reminder of how to do that. For all I know, it’s at the root of the problem.

    A couple of other things that may affect the behavior: I compile to version 6 (and make the 1.6.0 jre be the default for compilation). I turn off the warning about missing serialVersionUIDs. And I prefer putting opening braces at the end of the current line, not at the beginning of the next line — I mention this because I know that this broke some deletion code in the previous version of MyEclipse.

    It’s a conundrum! And I have no idea how to get you a copy that I am sure will break.

    Sorry,
    Richard

    #264247 Reply

    Riyad Kalla
    Member

    One thing I’ve not been able to try is separating the output (.class) files into a different directory from the input (.java) files. I’ve simply forgotten how I did it in the first place and can’t seem to find the magic to do it again – nor can I find it in the help file. I’d appreciate a reminder of how to do that. For all I know, it’s at the root of the problem.

    No problem, that is under your project properties, under Java Build Path, then the Source tab. At the bottom, use Browse and setup an output dir, like /bin, or if it’s a web project, /WebRoot/WEB-INF/classes.

    A couple of other things that may affect the behavior: I compile to version 6 (and make the 1.6.0 jre be the default for compilation). I turn off the warning about missing serialVersionUIDs. And I prefer putting opening braces at the end of the current line, not at the beginning of the next line — I mention this because I know that this broke some deletion code in the previous version of MyEclipse.

    Are you running MyEclipse with JDK 6, or just building against it in your project properties?

    Also you are right about the bracket, on a newline it used to break removing the listeners.

    It’s a conundrum! And I have no idea how to get you a copy that I am sure will break.

    If you can get me something that will “probably break” that could work too… if you send that along and just say “ok remove buttons X, Y, Z, and then re-add them, and remove them again until it dies” something like that… if it’s that random, it is starting to sound like a race condition to me, but if I could get a mostly reproducable case, and hand it off to the devs and tell them what to look for, that might be a starting place.

    #265645 Reply

    MattBiggs
    Member

    We appear to have the exact same problem now with several of our forms. We are using eclipse 3.2 and have now tried with myeclipse 5.1 and 5.5m1.

    The stack trace from the log file is as follows:

    !SESSION 2007-02-06 08:29:53.332 -----------------------------------------------
    eclipse.buildId=M20060629-1905
    java.version=1.6.0
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
    Framework arguments:  -product com.genuitec.myeclipse.product.ide
    Command-line arguments:  -os win32 -ws win32 -arch x86 -product com.genuitec.myeclipse.product.ide -clean
    
    !ENTRY org.eclipse.ui 4 4 2007-02-06 08:38:40.554
    !MESSAGE Save Failed
    
    !ENTRY org.eclipse.ui 2 0 2007-02-06 08:38:40.554
    !MESSAGE Save Failed
    !STACK 0
    java.lang.NullPointerException
        at com.genuitec.eclipse.dehory.DehoryEditor.format(DehoryEditor.java:619)
        at com.genuitec.eclipse.dehory.DehoryEditor.doSave(DehoryEditor.java:734)
        at org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper.java:131)
        at org.eclipse.ui.internal.SaveableHelper$4.run(SaveableHelper.java:252)
        at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
        at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:763)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
        at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:760)
        at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2283)
        at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:258)
        at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:136)
        at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1386)
        at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:2995)
        at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3008)
        at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:67)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539)
        at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
        at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:441)
        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)
        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.core.launcher.Main.invokeFramework(Main.java:336)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
        at org.eclipse.core.launcher.Main.run(Main.java:977)
        at org.eclipse.core.launcher.Main.main(Main.java:952)
    

    [/quote]

    #265646 Reply

    MattBiggs
    Member

    Rather interestingly, the above error occured when removing and re-adding a JList to our dialog. This caused various errors to appear in our source code. By flicking to our ‘Source’ view i discovered the following entry had been left:

     private void anchorListValueChanged(javax.swing.event.ListSelectionEvent evt)

    Obviously this line is missing the closing brackets “{ }”. By adding these in, the code will then save correctly. It must be noted however, that it was matisse that has mangled this function. Previously this function contained user written code and the correct //GEN-FIRST and //GEN-LAST matisse comments. By deleting the associated component matisse has half removed the function and then refuses to save itself.

    #265661 Reply

    Riyad Kalla
    Member

    Matt,
    we have seen some errors with JDK 6 and Matisse4MyEclipse, can you try using the 5.5M1 All-In-One installer and seeing if that still exihbits the same problem? If so, I’d like to get a copy of the problem project to have a look at it.

    #265794 Reply

    MattBiggs
    Member

    We did try the all in one 5.5M1 installer and had the exact same problems. Infact we experienced the same problem on 2 different machines, trying different configurations. A third machine however DID work, but the only difference that we could find was that it included a 1.4 JDK aswell as 1.5 and 1.6.

    I will try to check out an old revision of the project as we have since fixed it, and then put it into a new project to send to you. The project it currently resides in is over 50mb of classified source code, so i cant really send that.

    #265803 Reply

    cnbs2
    Member

    Hello. I have similar problem. Form refuses to save after any type of change is done. This is just to bad, i can’t continue my work.
    How this can be fixed?

    !ENTRY org.eclipse.ui 4 4 2007-02-08 14:44:24.849
    !MESSAGE Save Failed

    !ENTRY org.eclipse.ui 2 0 2007-02-08 14:44:24.849
    !MESSAGE Save Failed
    !STACK 0
    java.lang.NullPointerException
    at com.genuitec.eclipse.dehory.DehoryEditor.format(DehoryEditor.java:605)
    at com.genuitec.eclipse.dehory.DehoryEditor.doSave(DehoryEditor.java:720)
    at org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper.java:131)
    at org.eclipse.ui.internal.SaveableHelper$4.run(SaveableHelper.java:252)
    at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
    at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:763)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:760)
    at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2283)
    at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:258)
    at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:136)
    at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1386)
    at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:2995)
    at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3008)
    at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:67)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
    at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:461)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:424)
    at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:160)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:466)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:799)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:846)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:564)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:506)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:122)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Display.filterEvent(Display.java:982)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:927)
    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.sendKeyEvent(Widget.java:965)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:961)
    at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1275)
    at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3346)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3246)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025)
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1925)
    at org.eclipse.swt.widgets.Display.messageProc(Display.java:2589)
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1925)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966)
    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)
    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.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)

    *** Date:
    8 Февраль 2007 г. 14:44:58 EET

    ** System properties:
    OS=WindowsXP
    OS version=5.1
    Java version=1.5.0_08

    *** MyEclipse details:
    MyEclipse Enterprise Workbench
    Version: 5.1.0 GA
    Build id: 20061111-5.1.0-GA

    *** Eclipse details:
    MyEclipse Enterprise Workbench

    Version: 5.1.0 GA
    Build id: 20061111-5.1.0-GA

    Eclipse Graphical Editing Framework

    Version: 3.2.1.v20060921
    Build id: 20060921-1617

    Eclipse Platform

    Version: 3.2.1.r321_v20060921-b_XVA-INSQSyMtx
    Build id: M20060921-0945

    Eclipse RCP

    Version: 3.2.1.r321_v20060801-2ekW2BxmcpPUOoq
    Build id: M20060921-0945

    Eclipse Java Development Tools

    Version: 3.2.1.r321_v20060905-R4CM1Znkvre9wC-
    Build id: M20060921-0945
    Eclipse Plug-in Development Environment

    Version: 3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG
    Build id: M20060921-0945

    Eclipse Project SDK

    Version: 3.2.1.r321_v20060801-tQ1w49KnTArT0FZ
    Build id: M20060921-0945

    Eclipse startup command=-os
    win32
    -ws
    win32
    -arch
    x86
    -launcher
    D:\Soft\JAVA_IDE\eclipse-3.2.1\eclipse\eclipse.exe
    -name
    Eclipse
    -showsplash
    600
    -exitdata
    13dc_50
    -product
    com.genuitec.myeclipse.product.ide
    -vm
    C:\Program Files\Java\jre1.5.0_08\bin\javaw.exe[/code]

    #265809 Reply

    Riyad Kalla
    Member

    cnbs2,
    If you switch to Source view, is your source code valid or are there portions of the source code that are mangled and invalid?

Viewing 12 posts - 1 through 12 (of 12 total)
Reply To: Removing button or action breaks code

You must be logged in to post in the forum log in