Exemple #1
0
        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);
        }
Exemple #2
0
 public void Setting()
 {
     var s = new UndoStack<int>();
     var a = new Restorable<int>(s, 0);
     a.Value = 1;
     Assert.AreEqual(1, a);
 }
Exemple #3
0
        public void InitializedValue()
        {
            var s = new UndoStack <int>();
            var a = new Restorable <int>(s, 0);

            Assert.AreEqual(0, a);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        public void Setting()
        {
            var s = new UndoStack <int>();
            var a = new Restorable <int>(s, 0);

            a.Value = 1;
            Assert.AreEqual(1, a);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
                }
            }
        }
Exemple #8
0
        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);
        }
Exemple #9
0
 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);
 }
Exemple #10
0
        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);
        }
Exemple #11
0
 public void InitializedValue()
 {
     var s = new UndoStack<int>();
     var a = new Restorable<int>(s, 0);
     Assert.AreEqual(0, a);
 }