public void getRecoverUniqueListTest()
        {
            RecoverInfos ris = new RecoverInfos();
            string rfA = "C:\\a.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";
            string rfB = "C:\\b.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";
            string rfC = "C:\\c.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";
            string rfD = "C:\\d.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";

            ris.addRawRecord(rfA, 1);
            ris.addRawRecord(rfB, 1);
            ris.addRawRecord(rfC, 1);

            ris.addRawRecord(rfA, 2);
            ris.addRawRecord(rfD, 2);

            ris.addRawRecord(rfB, 3);
            ris.addRawRecord(rfC, 3);
            ris.addRawRecord(rfD, 3);
            var res = ris.getRecoverUniqueList();
            Assert.AreEqual(4, res.Count);

            //expected:
            /*
             * a2
             * b3
             * c3
             * d3
             */
            //Assert.IsTrue(res.Contains())
            //Assert.AreEqual(res[1].rf.nameAndPath, "C:\\ciao2.txt");
            //Assert.AreEqual(res[2].rf.nameAndPath, "C:\\ciao3.txt");
            //Assert.AreEqual(res[0].rf.nameAndPath, "C:\\ciao1.txt");
        }
        public void getRecoverUniqueListTest()
        {
            RecoverInfos ris = new RecoverInfos();
            string       rfA = "C:\\a.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";
            string       rfB = "C:\\b.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";
            string       rfC = "C:\\c.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";
            string       rfD = "C:\\d.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n";

            ris.addRawRecord(rfA, 1);
            ris.addRawRecord(rfB, 1);
            ris.addRawRecord(rfC, 1);

            ris.addRawRecord(rfA, 2);
            ris.addRawRecord(rfD, 2);

            ris.addRawRecord(rfB, 3);
            ris.addRawRecord(rfC, 3);
            ris.addRawRecord(rfD, 3);
            var res = ris.getRecoverUniqueList();

            Assert.AreEqual(4, res.Count);

            //expected:

            /*
             * a2
             * b3
             * c3
             * d3
             */
            //Assert.IsTrue(res.Contains())
            //Assert.AreEqual(res[1].rf.nameAndPath, "C:\\ciao2.txt");
            //Assert.AreEqual(res[2].rf.nameAndPath, "C:\\ciao3.txt");
            //Assert.AreEqual(res[0].rf.nameAndPath, "C:\\ciao1.txt");
        }
 public void RecoverInfosTest()
 {
     RecoverInfos ris = new RecoverInfos();
     ris.addRawRecord("C:\\ciao.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 1);
     var res = ris.getRecoverUniqueList();
     RecoverRecord rr = res[0];
     Assert.AreEqual("C:\\ciao.txt", rr.rf.nameAndPath);
     Assert.AreEqual("abcdefghabcdefghabcdefghabcdefgh", rr.rf.hash);
     Assert.AreEqual(-1, rr.rf.size);
     Assert.AreEqual(new DateTime(1970, 1, 1, 1, 0, 0), rr.rf.lastModified);
 }
        public void RecoverInfosTest()
        {
            RecoverInfos ris = new RecoverInfos();

            ris.addRawRecord("C:\\ciao.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 1);
            var           res = ris.getRecoverUniqueList();
            RecoverRecord rr  = res[0];

            Assert.AreEqual("C:\\ciao.txt", rr.rf.nameAndPath);
            Assert.AreEqual("abcdefghabcdefghabcdefghabcdefgh", rr.rf.hash);
            Assert.AreEqual(-1, rr.rf.size);
            Assert.AreEqual(new DateTime(1970, 1, 1, 1, 0, 0), rr.rf.lastModified);
        }
 public void getVersionSpecificRecoverListTest()
 {
     RecoverInfos ris = new RecoverInfos();
     ris.addRawRecord("C:\\ciao1.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 1);
     ris.addRawRecord("C:\\ciao2a.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 2);
     ris.addRawRecord("C:\\ciao3.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 3);
     ris.addRawRecord("C:\\ciao2b.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 2);
     var res3 = ris.getVersionSpecificRecoverList(3);
     Assert.AreEqual(res3.Count, 1);
     Assert.AreEqual(res3[0].rf.nameAndPath, "C:\\ciao3.txt");
     var res2 = ris.getVersionSpecificRecoverList(2);
     Assert.AreEqual(res2.Count, 2);
     Assert.AreEqual(res2[0].rf.nameAndPath, "C:\\ciao2a.txt");
     Assert.AreEqual(res2[1].rf.nameAndPath, "C:\\ciao2b.txt");
 }
        public void getVersionSpecificRecoverListTest()
        {
            RecoverInfos ris = new RecoverInfos();

            ris.addRawRecord("C:\\ciao1.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 1);
            ris.addRawRecord("C:\\ciao2a.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 2);
            ris.addRawRecord("C:\\ciao3.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 3);
            ris.addRawRecord("C:\\ciao2b.txt\r\n0000000000000000abcdefghabcdefghabcdefghabcdefgh\r\n", 2);
            var res3 = ris.getVersionSpecificRecoverList(3);

            Assert.AreEqual(res3.Count, 1);
            Assert.AreEqual(res3[0].rf.nameAndPath, "C:\\ciao3.txt");
            var res2 = ris.getVersionSpecificRecoverList(2);

            Assert.AreEqual(res2.Count, 2);
            Assert.AreEqual(res2[0].rf.nameAndPath, "C:\\ciao2a.txt");
            Assert.AreEqual(res2[1].rf.nameAndPath, "C:\\ciao2b.txt");
        }
Example #7
0
        public RecoverInfos askForRecoverInfo()
        {
            //todo: remove
            if (DEBUGGING_NO_SERVER)
            {
                RecoverInfos risdbg = new RecoverInfos();
                risdbg.addRawRecord("C:\\DATI\\poli\\Programmazione di Sistema\\progetto_client\\cartella_test\\1\r\n000000111111111100000000000000000000000000000000", 1);
                risdbg.addRawRecord("C:\\DATI\\poli\\Programmazione di Sistema\\progetto_client\\cartella_test\\2\r\n000000111111111100000000000000000000000000000000", 2);
                risdbg.addRawRecord("C:\\DATI\\poli\\Programmazione di Sistema\\progetto_client\\cartella_test\\3\r\n000000111111111100000000000000000000000000000000", 3);
                risdbg.addRawRecord("C:\\DATI\\poli\\Programmazione di Sistema\\progetto_client\\cartella_test\\4\r\n000000111111111100000000000000000000000000000000", 4);
                risdbg.addRawRecord("C:\\DATI\\poli\\Programmazione di Sistema\\progetto_client\\cartella_test\\5\r\n000000111111111100000000000000000000000000000000", 5);
                risdbg.addRawRecord("C:\\DATI\\poli\\Programmazione di Sistema\\progetto_client\\cartella_test\\6\r\n000000111111111100000000000000000000000000000000", 5);
                risdbg.addRawRecord("C:\\DATI\\poli\\Programmazione di Sistema\\progetto_client\\cartella_test\\7\r\n000000111111111100000000000000000000000000000000", 7);
                risdbg.addRawRecord("percorso\r\n000000111111111100000000000000000000000000000000", 1);
                return risdbg;
            }
            //*/
            sendToServer(commRecoverInfo);
            waitForAck(commCmdAckFromServer);

            RecoverInfos ris = new RecoverInfos();
            try
            {
                //leggi numero di versioni
                int numVers = Convert.ToInt32(socketReadline());
                if (numVers == 0)
                {
                    MyLogger.debug("primo backup necessario");
                    return null;
                }
                int nFile;
                int nVersCurr;
                //per ogni versione
                for (int bv = 1; bv <= numVers; bv++)
                {
                    nVersCurr = Convert.ToInt32(socketReadline());
                    if (nVersCurr != bv)
                        throw new Exception("nVersCurr != bv !!!!");
                    nFile = Convert.ToInt32(socketReadline());
                    //per ogni file
                    for (int f = 0; f < nFile; f++)
                    {
                        // [Percorso completo]\r\n[Ultima modifica -> 16byte][Hash -> 32char]\r\n
                        ris.addRawRecord(socketReadline() + "\r\n" +  socketReadline(), bv);
                        sendToServer(commDataRec);
                    }
                }

            }
            catch (Exception e)
            {
                MyLogger.debug("errore in askForRecoverInfo\n");
                MyLogger.debug(e.ToString());
                throw;
            }
            return ris;
        }
Example #8
0
 private void setRecoverInfos(RecoverInfos recInfo)
 {
     recoverW.setRecoverInfos(recInfo);
 }
Example #9
0
 public RecoveringQuery_st(RecoverInfos recInfos, int versionToRecover, string recoveringFolderPath)
 {
     this.recInfos = recInfos;
     this.versionToRecover = versionToRecover;
     this.recoveringFolderPath = recoveringFolderPath;
 }
        int versionToDisplay; //-1 se display di file da tutte le versioni

        #endregion Fields

        #region Constructors

        public RecoverWindow(MainWindow mainW)
        {
            InitializeComponent();
            this.mainW = mainW;
            DelYesNoQuestion = AskYesNoQuestion;
            DelCloseWindow = () => { this.Close(); return; };
            DelSetRecProgressValues = SetRecProgressValues;

            RecoverEntryList = new List<recoverListEntry>();
            RecoverEntryList.Add( new recoverListEntry() { Name = "Caricamento in corso...", lastMod = ""});
            recoverListView.ItemsSource = RecoverEntryList;

            recInfos = new RecoverInfos();
            RecoverViewModeList = new List<string> { "file da tutte le versioni" };
            comboRecoverViewMode.ItemsSource = RecoverViewModeList;
            //seleziono prima stringa (file da tutte le versioni)
            comboRecoverViewMode.SelectedIndex = 0;
            versionToDisplay = -1;
            this.buttRecover.IsEnabled = false;
        }
 //public void cleanRecovered()
 //{
 //    //lo rimuovo dalla lista di RecoverEntry
 //    RecoverEntryList.Remove(RListRecoveringEntry);
 //    //rimuovo anche dall'oggetto RecoverInfos in mainW.
 //    recInfos.removeRecoverRecord(RListRecoveringEntry.rr);
 //    //refresh della listView
 //    recoverListView.Items.Refresh();
 //}
 internal void setRecoverInfos(RecoverInfos recInfos)
 {
     if (recInfos != null)
         this.recInfos = recInfos;
     showRecoverInfos();
     updateRecoverViewModes();
 }