public void SetAndRestore() { var s = new UndoStack <int>(); var a = new Restorable <int>(s, 0); var mark1 = s.MarkStack(); a.Value = 1; Assert.AreEqual(1, a); var mark2 = s.MarkStack(); a.Value = 2; Assert.AreEqual(2, a); s.Restore(mark2); Assert.AreEqual(1, a); a.Value = 3; Assert.AreEqual(3, a); var mark3 = s.MarkStack(); a.Value = 4; Assert.AreEqual(4, a); s.Restore(mark3); Assert.AreEqual(3, a); s.Restore(mark1); Assert.AreEqual(0, a); }
public void Setting() { var s = new UndoStack<int>(); var a = new Restorable<int>(s, 0); a.Value = 1; Assert.AreEqual(1, a); }
public void InitializedValue() { var s = new UndoStack <int>(); var a = new Restorable <int>(s, 0); Assert.AreEqual(0, a); }
public static FormInstance createRootDataModel(Restorable r) { FormInstance inst = createDataModel(r); inst.schema = "http://openrosa.org/backup"; addData(inst, "timestamp", System.DateTime.Now, Constants.DATATYPE_DATE_TIME); return(inst); }
public void Setting() { var s = new UndoStack <int>(); var a = new Restorable <int>(s, 0); a.Value = 1; Assert.AreEqual(1, a); }
public static FormInstance createDataModel(Restorable r) { FormInstance dm = newDataModel(r.RestorableType); if (r is Persistable) { addData(dm, RECORD_ID_TAG, (System.Object)((Persistable)r).ID); } return(dm); }
public static void importRMS(FormInstance dm, IStorageUtility storage, System.Type type, System.String path) { if (!typeof(Externalizable).IsAssignableFrom(type) || !typeof(Restorable).IsAssignableFrom(type)) { return; } bool idMatters = typeof(Persistable).IsAssignableFrom(type); System.String childName = ((Restorable)PrototypeFactory.getInstance(type)).RestorableType; TreeElement e = dm.resolveReference(absRef(path, dm)); System.Collections.ArrayList children = e.getChildrenWithName(childName); for (int i = 0; i < children.Count; i++) { FormInstance child = subDataModel((TreeElement)children[i]); Restorable inst = (Restorable)PrototypeFactory.getInstance(type); //restore record id first so 'importData' has access to it int recID = -1; if (idMatters) { recID = ((System.Int32)getValue(RECORD_ID_TAG, child)); ((Persistable)inst).ID = recID; } inst.importData(child); try { if (idMatters) { storage.write((Persistable)inst); } else { storage.add((Externalizable)inst); } } catch (System.Exception ex) { //UPGRADE_TODO: The equivalent in .NET for method 'java.lang.Class.getName' may return a different value. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1043'" //UPGRADE_TODO: The equivalent in .NET for method 'java.lang.Throwable.getMessage' may return a different value. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1043'" throw new System.SystemException("Error importing RMS during restore! [" + type.FullName + ":" + recID + "]; " + ex.Message); } } }
public static void templateData(Restorable r, FormInstance dm, TreeReference parent) { if (parent == null) { parent = topRef(dm); applyDataType(dm, "timestamp", parent, typeof(System.DateTime)); } if (r is Persistable) { applyDataType(dm, RECORD_ID_TAG, parent, typeof(System.Int32)); } r.templateData(dm, parent); }
public void SetAndRestore() { var s = new UndoStack<int>(); var a = new Restorable<int>(s, 0); var mark1 = s.MarkStack(); a.Value = 1; Assert.AreEqual(1, a); var mark2 = s.MarkStack(); a.Value = 2; Assert.AreEqual(2, a); s.Restore(mark2); Assert.AreEqual(1, a); a.Value = 3; Assert.AreEqual(3, a); var mark3 = s.MarkStack(); a.Value = 4; Assert.AreEqual(4, a); s.Restore(mark3); Assert.AreEqual(3, a); s.Restore(mark1); Assert.AreEqual(0, a); }
public static void templateChild(FormInstance dm, System.String prefixPath, TreeReference parent, Restorable r) { TreeReference childRef = (prefixPath == null ? parent : RestoreUtils.childRef(prefixPath, parent)); childRef = org.javarosa.core.model.util.restorable.RestoreUtils.childRef(r.RestorableType, childRef); templateData(r, dm, childRef); }
public void InitializedValue() { var s = new UndoStack<int>(); var a = new Restorable<int>(s, 0); Assert.AreEqual(0, a); }