[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Project.java,1.44,1.45
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-03-20 09:09:36
|
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 |