Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-3489

source editor breaks XML when undoing

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • LATER
    • 3.0.0.cr1
    • jbpm
    • None

      Tested with JBoss Dev Studio Version: 2.0.0.CR1, Build id: R200812221144

      Steps to repro:

      1. Install JBDS.
      2. download http://www.jboss.org/downloading/?projectId=jbossjbpm&url=http://downloads.sourceforge.net/jbpm/jbpm-installer-3.3.0.GA.jar
      3. `java -jar jbpm-installer-3.3.0.GA.jar`. I installed into ~/jbpm-3.3.0.GA
      4. New > Other > Process Project
      5. Go into src/main/jpdl/simple and open processdefinition.xml with jBPM Graphical Process Designer
      6. Add a couple nodes, then connect them to the existing flow.
      7. Switch to Source tab. I had this:

      <?xml version="1.0" encoding="UTF-8"?>

      <process-definition
      xmlns="urn:jbpm.org:jpdl-3.2"
      name="simple">
      <start-state name="start">
      <transition name="to_state" to="first">
      <action name="action" class="com.sample.action.MessageActionHandler">
      <message>Going to the first state!</message>
      </action>
      </transition>
      <transition to="mail-node1" name="to mail-node1"></transition>
      </start-state>
      <state name="first">
      <transition name="to_end" to="end">
      <action name="action" class="com.sample.action.MessageActionHandler">
      <message>About to finish!</message>
      </action>
      </transition>
      </state>

      <task-node name="task-node1">
      <transition to="end"></transition>
      </task-node>

      <mail-node name="mail-node1">
      <transition to="task-node1"></transition>
      </mail-node>
      <end-state name="end"></end-state>
      </process-definition>

      8. Select the name of some node, eg., "mail-node1". Hit delete. Cursor jumps here:

      <mail-node name="">
      <tran|sition to="task-node1"></transition>
      </mail-node>

      9. CTRL-Z to undo change(s). Now I get this:

      <mail-node name="">
      <tranmail-node1sition to="task-node1"></transition>
      </mail-node>

      10. Save. Close. Reopen. Diagram is now in a broken state, with a Transition pointing into space, and the Mail Node no longer coupled to anything.

      11. Switch to source view again. Paste the correct text from step 7 into the editor. Close. Reopen. The UI layout in the Diagram view is corrupt, with nodes all moved to the 0,0 coord corner (top left).

      12. Switch to the source view. Select the name of the task-node, and change it. Undo w/ CTRL-Z. Continue undoing, and watch as the XML gets corrupted to this:

      <task-node name="task-node1">
      <transition to="end"></transition>
      </task-node>

      <mail-node name="mail-node1">
      <trans"task-node1"on to=""a"</transition>
      </mail-node>

            kaers@redhat.com Koen Aers
            nickboldt Nick Boldt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: