Index: modules/swing/src/main/java/common/javax/swing/undo/CompoundEdit.java =================================================================== --- modules/swing/src/main/java/common/javax/swing/undo/CompoundEdit.java (revision 506473) +++ modules/swing/src/main/java/common/javax/swing/undo/CompoundEdit.java (working copy) @@ -28,6 +28,12 @@ public class CompoundEdit extends AbstractUndoableEdit { + /** + * This field is added as performance optimization but not as + * a guarantee of correct deserialization. + */ + private static final long serialVersionUID = -6512679249930119683L; + protected Vector edits = new Vector(); /** @@ -36,6 +42,7 @@ */ boolean inProgress = true; + @Override public boolean addEdit(final UndoableEdit anEdit) { if (!inProgress) { return false; @@ -68,6 +75,7 @@ * obj.addEdit(new CompoundEdit()); * System.out.println(obj.toString()); */ + @Override public String toString() { String str = super.toString(); str += " inProgress: " + inProgress; @@ -79,6 +87,7 @@ return str; } + @Override public String getUndoPresentationName() { UndoableEdit last = lastEdit(); @@ -92,6 +101,7 @@ return super.getUndoPresentationName(); } + @Override public String getRedoPresentationName() { UndoableEdit last = lastEdit(); @@ -105,6 +115,7 @@ return super.getRedoPresentationName(); } + @Override public String getPresentationName() { UndoableEdit last = lastEdit(); @@ -118,6 +129,7 @@ return super.getPresentationName(); } + @Override public boolean isSignificant() { for (ListIterator li = edits.listIterator(); li.hasNext();) { if (((UndoableEdit)li.next()).isSignificant()) { @@ -131,14 +143,17 @@ return inProgress; } + @Override public boolean canUndo() { return !isInProgress() && super.canUndo(); } + @Override public boolean canRedo() { return !isInProgress() && super.canRedo(); } + @Override public void undo() { super.undo(); for (ListIterator li = edits.listIterator(edits.size()); @@ -147,6 +162,7 @@ } } + @Override public void redo() { super.redo(); for (ListIterator li = edits.listIterator(); li.hasNext();) { @@ -158,6 +174,7 @@ inProgress = false; } + @Override public void die() { super.die(); for (ListIterator li = edits.listIterator(edits.size());