Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25274/src/net/sourceforge/bprocessor/model
Modified Files:
Project.java
Log Message:
First version of Undo implemented
Index: Project.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Project.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** Project.java 17 Mar 2006 09:55:27 -0000 1.44
--- Project.java 20 Mar 2006 09:09:31 -0000 1.45
***************
*** 16,19 ****
--- 16,22 ----
import java.util.Set;
+ import net.sourceforge.bprocessor.model.xml.Bprocessor;
+ import net.sourceforge.bprocessor.model.xml.PersistenceManager;
+
import org.apache.log4j.Logger;
/**
***************
*** 66,69 ****
--- 69,78 ----
private Space activeSpace;
+ /** Previous state */
+ private Bprocessor previousState;
+
+ /** Current state */
+ private Bprocessor currentState;
+
/**
* Get the instance
***************
*** 628,631 ****
--- 637,662 ----
/**
+ * Checkpoint the B-model
+ */
+ public void checkpoint() {
+ previousState = currentState;
+ currentState = PersistenceManager.externalize();
+ }
+
+ /**
+ * Revert to previous checkpoint and swap current
+ * with previous.
+ */
+ public void revert() {
+ if (previousState != null) {
+ Bprocessor temporary = previousState;
+ clear();
+ PersistenceManager.internalize(previousState);
+ previousState = currentState;
+ currentState = temporary;
+ }
+ }
+
+ /**
* Attribute Info
* @param info String
|