Ejemplo n.º 1
0
        private void button11_Click(object sender, EventArgs e)
        {
            ArchJobErrorDesc edesc = ArchJobErrorDesc.getInstance();

            edesc.getErrorCode("");
            CouchUtil util = new CouchUtil();

            CouchVo vo = new CouchVo();

            vo.userName      = "******";
            vo.pwd           = "mydbuser";
            vo.serverName    = "localhost";
            vo.serverport    = "5984";
            vo.dbName        = "mydb";
            vo.adminUserName = "******";
            vo.adminPwd      = "adminadmin";
            PawnDocRegVO docRegVO = new PawnDocRegVO();

            docRegVO.DocID           = 1234;
            docRegVO.StorageID       = "05f4b578-d22b-4d1e-8e24-6fa0ee581b38";
            docRegVO.TargetCouchDBID = 4444;
            string   msg     = null;
            bool     retFlag = false;
            Document doc     = util.GetDocument(out msg, out retFlag, vo, docRegVO);

            log.Debug("Got Doc " + doc);
        }
Ejemplo n.º 2
0
        public Document GetDocument(out string msg, out bool gotDoc, CouchVo vo, PawnDocRegVO regVO)
        {
            setCouchValues(vo);
            var      dStorage = new DocStorage_CouchDB();
            var      errCode  = string.Empty;
            var      errTxt   = string.Empty;
            Document doc      = (Document) new Document_Couch(regVO.StorageID);
            // SecuredCouchConnector CouchConnectorObj = new SecuredCouchConnector(hostname, portName, secWebPort, dbName, userid, pass, isSec);
            SecuredCouchArchiver CouchConnectorObj = new SecuredCouchArchiver(hostname, portName, secWebPort, dbName, userid, pass, isSec);

            dStorage.SecuredGetDocument(CouchConnectorObj, ref doc, out errCode, out errTxt);

            if (CouchConnectorObj.Error)
            {
                //log.Error("errTxt :" + errTxt);
                //log.Error("errCode :" + errCode);
                msg    = errTxt;
                gotDoc = false;
            }
            else
            {
                //log.Debug("errTxt :" + errTxt);
                //log.Debug("errCode :" + errCode);
                msg    = errTxt;
                gotDoc = true;
                // return true;
            }
            return(doc);
        }
Ejemplo n.º 3
0
 public void AddDocumentToCouch(string rDocument, PawnDocRegVO pawnDocRegVO)
 {
     try
     {
         bool   error;
         string retMSG;
         //  this.targetCouchVO.dbName = vo.TargetCouchDBName;
         SavedDoc = CouchArchiverAddHelper.getInstance().Document_Add(rDocument, out error, out retMSG,
                                                                      JobAllocationHandler3.getTargetCouch(), pawnDocRegVO.StorageID, pawnDocRegVO.TargetCouchDBName);
         //this.storageID = vo.StorageID;
         if (!SavedDoc)
         {
             if (retMSG != null && retMSG.Contains("already exists"))
             {
                 SavedDoc = true;
             }
             log.Error("Add Document failed:" + retMSG);
         }
     }
     catch (Exception e)
     {
         log.Error(string.Format("Save Doc failed for {0} target db{1}", pawnDocRegVO.StorageID, pawnDocRegVO.TargetCouchDBName), e);
         SavedDoc  = false;
         exception = e.Message;
     }
     finally
     {
         rDocument = null;
     }
 }
Ejemplo n.º 4
0
 public ArchiveJob(PawnDocRegVO vo, CouchVo srcCouchVO, CouchVo targetCouchVO, bool isRecovery)
 {
     this.vo            = vo;
     this.srcCouchVO    = srcCouchVO;
     this.targetCouchVO = targetCouchVO;
     this.isRecovery    = isRecovery;
 }
Ejemplo n.º 5
0
        public string getDocumentFromCouch(PawnDocRegVO pawnDocRegVO)
        {
            string rDocument = null;

            try
            {
                bool   error;
                string retMSG;
                rDocument = CouchArchiverGetHelper.getInstance().GetRawDocument(out retMSG, out error, JobAllocationHandler3.getSourceCouch(), pawnDocRegVO);
                if (error)
                {
                    GotDoc = false;
                }
                else
                {
                    GotDoc = true;
                }
                exception = retMSG;
            }
            catch (Exception e)
            {
                GotDoc    = false;
                exception = e.Message;
                log.Error(string.Format("Get Doc failed for {0}, archive skipped for {1}", pawnDocRegVO.StorageID, pawnDocRegVO.DocID), e);
            }
            return(rDocument);
        }
Ejemplo n.º 6
0
        private void insertArchLogNew(OracleConnection oracleConnection, PawnDocRegVO vo, char succCodeChar, int uqID)
        {
            //OracleCommand oracleCommand = null;
            string sql = "INSERT INTO CCSOWNER.PWN_DOC_REG_ARCH_STAT(ID,DOC_REG_ID,STORAGE_ID,ARCH_DATE,USER_ID,STATUS,TARGET_DOC_DB)" +
                         " VALUES(:ID,:DOC_REG_ID,:STORAGE_ID,:ARCH_DATE,:USER_ID,:STATUS,:TARGET_DOC_DB)";

            string str = null;

            using (var oracleCommand = new OracleCommand(null, oracleConnection))
            {
                log.Debug(string.Format("Executing: {0}", sql));
                oracleCommand.CommandText = sql;
                oracleCommand.Parameters.Add(":ID", OracleDbType.Int32);
                oracleCommand.Parameters.Add(":DOC_REG_ID", OracleDbType.Int32);
                oracleCommand.Parameters.Add(":STORAGE_ID", OracleDbType.Varchar2);
                oracleCommand.Parameters.Add(":ARCH_DATE", OracleDbType.TimeStampTZ);
                oracleCommand.Parameters.Add(":USER_ID", OracleDbType.Varchar2);
                oracleCommand.Parameters.Add(":STATUS", OracleDbType.Char);
                oracleCommand.Parameters.Add(":TARGET_DOC_DB", OracleDbType.Varchar2);
                oracleCommand.Prepare();
                oracleCommand.Parameters[0].Value = uqID;
                oracleCommand.Parameters[1].Value = vo.DocID;
                oracleCommand.Parameters[2].Value = vo.StorageID;
                oracleCommand.Parameters[3].Value = Utilities.GetTimestampValue(DateTime.Now);
                oracleCommand.Parameters[4].Value = vo.UserID;
                oracleCommand.Parameters[5].Value = succCodeChar;
                oracleCommand.Parameters[6].Value = vo.TargetCouchDBName;
                oracleCommand.ExecuteNonQuery();
            }
        }
Ejemplo n.º 7
0
        private void updateArchLog(OracleConnection oracleConnection, PawnDocRegVO vo, char succCodeChar)
        {
            //OracleCommand oracleCommand = null;

            /*string sql = "UPDATE CCSOWNER.PWN_DOC_REG_ARCH_STAT SET ARCH_DATE=:ARCH_DATE,STATUS=:STATUS," +
             *           "ERROR_ID=:ERROR_ID,TARGET_DOC_DB=:TARGET_DOC_DB WHERE DOC_REG_ID=:DOC_REG_ID";*/

            string sql = "UPDATE CCSOWNER.PWN_DOC_REG_ARCH_STAT SET ARCH_DATE=:ARCH_DATE,STATUS=:STATUS," +
                         "TARGET_DOC_DB=:TARGET_DOC_DB WHERE DOC_REG_ID=:DOC_REG_ID";

            using (var oracleCommand = new OracleCommand(null, oracleConnection))
            {
                log.Debug(string.Format("Executing: {0}", sql));
                oracleCommand.CommandText = sql;
                oracleCommand.Parameters.Add(":ARCH_DATE", OracleDbType.TimeStampTZ);
                oracleCommand.Parameters.Add(":STATUS", OracleDbType.Char);
                oracleCommand.Parameters.Add(":TARGET_DOC_DB", OracleDbType.Varchar2);
                oracleCommand.Parameters.Add(":DOC_REG_ID", OracleDbType.Int32);
                oracleCommand.Prepare();
                oracleCommand.Parameters[0].Value = Utilities.GetTimestampValue(DateTime.Now);
                oracleCommand.Parameters[1].Value = succCodeChar;
                oracleCommand.Parameters[2].Value = vo.TargetCouchDBName;
                oracleCommand.Parameters[3].Value = vo.DocID;
                oracleCommand.ExecuteNonQuery();
            }
        }
        public void processGet()
        {
            //fileWithPath = "C:\\dev\\dev_jak2\\devwork_jkingsley\\Phase2App\\CouchConnectorApp\\test\\sample.pdf";
            bool         isError;
            string       errorText;
            PawnDocRegVO regVO = new PawnDocRegVO();

            foreach (var doc in docList)
            {
                regVO           = new PawnDocRegVO();
                regVO.StorageID = doc;
                //new CouchUtil(srcvo).GetDocument(out msg, out gotDoc, srcvo, regVO);
                CouchArchiverGetHelper.getInstance().GetDocument(out errorText, out isError, srcvo, regVO);

                if (!isError)
                {
                    successCount++;
                }
                else
                {
                    failCount++;
                }
                //log.Debug(string.Format("{0} Is Error ... {1} return {2} ", doc, isError, errorText));
            }
            log.Info(string.Format(" Success count {0} fail count {1} Total count {2}", successCount, failCount, docList.Count));
        }
Ejemplo n.º 9
0
 public void Dispose()
 {
     this.JobThread = null;
     this.vo        = null;
     this.storageID = null;
     this.log       = null;
     this.exception = null;
 }
Ejemplo n.º 10
0
        public Document GetDocument(out string errTxt, out bool isError, CouchVo vo, PawnDocRegVO regVO)
        {
            var      dStorage = new DocStorage_CouchDB();
            Document doc      = (Document) new Document_Couch(regVO.StorageID);

            constructDoc(vo, ref doc, out isError, out errTxt);
            return(doc);
        }
Ejemplo n.º 11
0
 public void deleteDocFromSource(PawnDocRegVO pawnDocRegVO)
 {
     try
     {
         bool   error;
         string retMSG;
         SouceDocDeleted = CouchArchiverDeleteHelper.getInstance().Document_Delete(out retMSG, out error, JobAllocationHandler3.getSourceCouch(), pawnDocRegVO.StorageID);
     }
     catch (Exception e)
     {
         log.Error(string.Format("Document delete failed for {0} source db{1}", pawnDocRegVO.StorageID, JobAllocationHandler3.getSourceCouch().dbName), e);
         SouceDocDeleted = false;
     }
 }
Ejemplo n.º 12
0
        private void populateData()
        {
            records = new List <PawnDocRegVO>();
            PawnDocRegVO vo = null;

            for (int i = 1; i <= totalRecords; i++)
            {
                vo              = new PawnDocRegVO();
                vo.DocID        = i;
                vo.StorageID    = "xyz";
                vo.CreationDate = new DateTime();
                records.Add(vo);
            }
        }
Ejemplo n.º 13
0
        private void GetDocButton_Click(object sender, EventArgs e)
        {
            CouchVo vo = new CouchVo();

            vo.serverName    = "localhost";
            vo.serverport    = "5984";
            vo.userName      = "******";
            vo.pwd           = "pa55w0rd1";
            vo.serverName    = Properties.Settings.Default.CouchServerName;
            vo.serverport    = Properties.Settings.Default.CouchPort;
            vo.dbName        = "clx_cust_docs_dev";
            vo.adminUserName = "******";
            vo.adminPwd      = "adminadmin";
            PawnDocRegVO regvo = new PawnDocRegVO();

            if (string.IsNullOrEmpty(this.doctext.Text))
            {
                return;
            }
            regvo.StorageID = this.doctext.Text;
            string errorText = "";
            bool   isError   = false;

            /* Document doc=CouchArchiverGetHelper.getInstance().GetDocument(out errorText,out isError, vo, regvo);
             * MessageBox.Show("Is Error " + isError + " Text " + errorText);*/

            string rdoc = CouchArchiverGetHelper.getInstance().GetRawDocument(out errorText, out isError, vo, regvo);

            MessageBox.Show("Is Error " + isError + " Text " + errorText);

            bool   addDocError = false;
            string addError    = "";

            vo.dbName   = "clx_11_2010";
            vo.userName = "******";
            vo.pwd      = "pa55w0rd1";

            bool added = CouchArchiverAddHelper.getInstance().Document_Add(rdoc, out addDocError, out addError, vo, regvo.StorageID);

            if (added)
            {
                MessageBox.Show(" Added ,,,,,Is Error " + isError + " Text " + addError);
            }
            else
            {
                MessageBox.Show("Not Added ,,,,,Is Error " + isError + " Text " + addError);
            }
        }
Ejemplo n.º 14
0
        private void button14_Click(object sender, EventArgs e)
        {
            ArchJobErrorDesc edesc = ArchJobErrorDesc.getInstance();

            edesc.getErrorCode("");
            CouchUtil util = new CouchUtil();


            CouchVo vo = new CouchVo();

            vo.userName      = "******";
            vo.pwd           = "pa55w0rd1";
            vo.serverName    = "couchdb-dev";
            vo.serverport    = "5985";
            vo.dbName        = "clx_cust_docs_dev";
            vo.adminUserName = "******";
            vo.adminPwd      = "adminadmin";

            PawnDocRegVO docRegVO = new PawnDocRegVO();

            docRegVO.DocID             = 1234;
            docRegVO.StorageID         = "30fcdd50-b81a-4dfa-b837-9da56e4c9e3f";
            docRegVO.TargetCouchDBID   = 4444;
            docRegVO.TargetCouchDBName = "clx_7_2010";
            string   msg     = null;
            bool     retFlag = false;
            Document doc     = util.GetDocument(out msg, out retFlag, vo, docRegVO);

            log.Debug("Got Doc " + doc);


            vo               = new CouchVo();
            vo.userName      = "******";
            vo.pwd           = "mydbuser";
            vo.serverName    = "localhost";
            vo.serverport    = "5984";
            vo.dbName        = docRegVO.TargetCouchDBName;
            vo.adminUserName = "******";
            vo.adminPwd      = "adminadmin";
            string msg1 = "";
            bool   ret  = false;

            util.addDocumentToCouch(vo, doc, out msg1, out ret);
        }
Ejemplo n.º 15
0
        public void updateDBForError(ArchiveJobError.ErrorType errorType, PawnDocRegVO pawnDocRegVO)
        {
            string errorMsg  = "";
            int    errorCode = ArchJobErrorDesc.getInstance().getErrorCode(exception);
            bool   success   = false;

            GAD_Error_Occured = true;
            _failCount++;
            if (errorType == ArchiveJobError.ErrorType.G)
            {
                errorMsg = generateErrorMessage("Source Doc not found:");
                success  = PwnArchLogDAO.getInstance().CreateArchLogWithError(pawnDocRegVO, errorCode, errorMsg, 'G', isRecovery);
                if (!success)
                {
                    this.criticalError = true;
                }

                //make db call to update pawn doc reg
            }
            else if (errorType == ArchiveJobError.ErrorType.A)
            {
                errorMsg = generateErrorMessage("Add doc to target failed:");
                success  = PwnArchLogDAO.getInstance().CreateArchLogWithError(pawnDocRegVO, errorCode, errorMsg, 'A', isRecovery);
                if (!success)
                {
                    this.criticalError = true;
                }
            }
            else if (errorType == ArchiveJobError.ErrorType.D)
            {
                errorMsg = generateErrorMessage("Delete source failed:");
                success  = PwnArchLogDAO.getInstance().CreateArchLogWithError(pawnDocRegVO, errorCode, errorMsg, 'D', isRecovery);
                if (!success)
                {
                    this.criticalError = true;
                }
            }
            else
            {
                errorMsg           = generateErrorMessage("Archive failed:");
                this.criticalError = true;
            }
        }
Ejemplo n.º 16
0
        private void updatePwnDocReg(OracleConnection oracleConnection, PawnDocRegVO vo, char charCode)
        {
            //OracleCommand oracleCommand = null;
            string sql = "";

            if (charCode.Equals(ArchiveJob.CHAR_CODE_SUCCESS))
            {
                sql = "UPDATE CCSOWNER.PAWNDOCUMENTREGISTRY PWNREG SET PWNREG.ARCH_STATUS=:STAT,PWNREG.ARCH_DB_ID=:DBID" +
                      " WHERE PWNREG.ID=:ID";
            }
            else
            {
                sql = "UPDATE CCSOWNER.PAWNDOCUMENTREGISTRY PWNREG SET PWNREG.ARCH_STATUS=:STAT" + " WHERE PWNREG.ID=:ID";
            }
            using (var oracleCommand = new OracleCommand(null, oracleConnection))
            {
                //log.Info(string.Format("Executing: {0}", sql));
                //log.Info(string.Format("Values: id {0} code {1} targetdb{2}", vo.DocID, charCode, vo.TargetCouchDBID));
                oracleCommand.CommandText = sql;
                oracleCommand.Parameters.Add(":STAT", OracleDbType.Char);
                if (charCode.Equals(ArchiveJob.CHAR_CODE_SUCCESS))
                {
                    oracleCommand.Parameters.Add(":DBID", OracleDbType.Int32);
                }
                oracleCommand.Parameters.Add(":ID", OracleDbType.Int32);
                oracleCommand.Prepare();

                oracleCommand.Parameters[0].Value = charCode;
                if (charCode.Equals(ArchiveJob.CHAR_CODE_SUCCESS))
                {
                    oracleCommand.Parameters[1].Value = vo.TargetCouchDBID;
                    oracleCommand.Parameters[2].Value = vo.DocID;
                }
                else
                {
                    oracleCommand.Parameters[1].Value = vo.DocID;
                }

                oracleCommand.ExecuteNonQuery();
                //log.Info(string.Format("Values: id {0} code {1} targetdb{2} done..", vo.DocID, charCode, vo.TargetCouchDBID));
            }
        }
        public void process()
        {
            //fileWithPath = "C:\\dev\\dev_jak2\\devwork_jkingsley\\Phase2App\\CouchConnectorApp\\test\\sample.pdf";
            bool         addedDocError;
            string       addError;
            string       geterrorText;
            bool         getisError;
            PawnDocRegVO regVO = new PawnDocRegVO();

            // regVO.StorageID = "f544ed6c-6c02-4711-9727-626dabe95a4a";
            regVO.StorageID = docID;
            string rdoc = CouchArchiverGetHelper.getInstance().GetRawDocument(out geterrorText, out getisError, srcvo, regVO);

            int successCount = 0;
            int failedCount  = 0;

            foreach (var doc in docList)
            {
                //addDocumentToCouch(fileWithPath, doc,out added);
                if (rdoc != null)
                {
                    //rdoc.Replace("f544ed6c-6c02-4711-9727-626dabe95a4a", doc);
                    rdoc.Replace(docID, doc);
                    regVO.StorageID = docID;
                }
                bool added = CouchArchiverAddHelper.getInstance().Document_Add(rdoc, out addedDocError, out addError, srcvo, doc);
                if (addedDocError)
                {
                    log.Error(string.Format("Doc Add failed for docid{0}, addedDocError{1} addError{2}", doc, addedDocError, addError));
                    failedCount++;
                }
                else
                {
                    successCount++;
                }
                //log.Info(string.Format("Doc Add for docid{0}, addedDocError{1} addError{2}",doc,addedDocError,addError));
                Thread.Sleep(50);
                //log.Debug("Processing ... "+doc);
            }
            log.Info(string.Format(" Success count {0} fail count {1} Total count {2}", successCount, failCount, docList.Count));
        }
Ejemplo n.º 18
0
 public void updateTablesForSuccess(PawnDocRegVO pawnDocRegVO)
 {
     try
     {
         if (PwnArchLogDAO.getInstance().CreateArchLog(pawnDocRegVO, CHAR_CODE_SUCCESS, isRecovery))
         {
             //pawnDocRegVO.JobSuccess= true;
             _successCount++;
         }
         else
         {
             criticalError = true;
             // pawnDocRegVO.JobSuccess = false;
             //_failCount++;
         }
     }
     catch (Exception e)
     {
         log.Error("updateTablesForSuccess Exception", e);
     }
 }
Ejemplo n.º 19
0
        public string GetRawDocument(out string errTxt, out bool isError, CouchVo vo, PawnDocRegVO regVO)
        {
            try
            {
                byte[] btData = DocumentGet(regVO.StorageID, false, out isError, out errTxt, vo);

                if (!isError && btData != null)
                {
                    string sResult = ByteArrayToString(btData, out isError, out errTxt);
                    return(sResult);
                }
                else
                {
                    return("");
                }
            }
            catch (Exception exp)
            {
                isError = true;
                errTxt  = "Error converting document" + exp.Message;
            }
            return("");
        }
Ejemplo n.º 20
0
        public bool CreateArchLogWithError(PawnDocRegVO vo, int errorCode, string msg, Char errorCodeChar, bool isRecovery)
        {
            bool   ret    = false;
            string retVal = "";
            //OracleDataReader reader = null;
            //OracleConnection connection = null;
            //OracleCommand oracleCommand = null;
            int errorID = 0;
            int uqID    = 0;

            if (DBConnector.getInstance().getStatus() != DBConnector.Status.INITIALIZED)
            {
                log.Error(" from GetDocumentSets :DB Connection not established: Search aborted");
                return(false);
            }
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            //var stopwatch1 = new Stopwatch();
            OracleTransaction myTrans = null;

            /* long t0 = 0;
             * long t1 = 0;
             * long t2 = 0;
             * long t3 = 0;
             * long t4 = 0;*/

            using (var connection = new OracleConnection())
            {
                try
                {
                    connection.ConnectionString = DBConnector.getInstance().databaseServiceName();
                    // stopwatch1.Start();
                    connection.Open();

                    /*if(!getConnectionWithRetry(connection))
                     * {
                     *  log.Error("AddErrorsToDB Failed: due to connection error");
                     *  string str =
                     *   string.Format("---DB Archive Log Failure Doc ID{0} Storage ID {1} Status {2} Target DB ID{3} Target DB Name{4}  Error Code{5} ErrorMSG {6}---",
                     *                 vo.DocID, vo.StorageID, errorCodeChar, vo.TargetCouchDBID, vo.TargetCouchDBName, errorCode, msg);
                     *  log.Error(str);
                     *  return false;
                     * }*/
                    if (!isRecovery)
                    {
                        uqID = ConnDAO.getInstance().getUniqueIDNew(ref retVal, connection);
                        //insertArchLogNew
                    }
                    //  t0 = stopwatch1.ElapsedMilliseconds;
                    //  stopwatch1.Restart();
                    //connection.Open();
                    if (errorCode == -1)
                    {
                        errorID = getErrorCodeSeq(connection);
                    }
                    else
                    {
                        errorID = errorCode;
                    }


                    myTrans = connection.BeginTransaction(IsolationLevel.ReadCommitted);
                    if (errorCode == -1)
                    {
                        insertErrorMSG(connection, msg, errorID);
                    }

                    //   t1 = stopwatch1.ElapsedMilliseconds;
                    //  stopwatch1.Restart();

                    //log.Debug("Time for Insert Error " + stopwatch.ElapsedMilliseconds);
                    //stopwatch.Restart();
                    if (isRecovery)
                    {
                        updateArchLog(connection, vo, errorID, errorCodeChar);
                    }
                    else
                    {
                        insertArchLog(connection, vo, errorID, errorCodeChar, uqID);
                    }

                    //   t2 = stopwatch1.ElapsedMilliseconds;
                    //   stopwatch1.Restart();
                    //log.Debug("Time for insertArchLog " + stopwatch.ElapsedMilliseconds);
                    // stopwatch.Restart();
                    updatePwnDocReg(connection, vo, errorCodeChar);
                    //   t3 = stopwatch1.ElapsedMilliseconds;
                    //    stopwatch1.Restart();
                    //log.Debug("Time for updatePwnDocReg " + stopwatch.ElapsedMilliseconds);
                    myTrans.Commit();

                    //     t4 = stopwatch1.ElapsedMilliseconds;
                    //   stopwatch1.Stop();
                    ret = true;
                }
                catch (Exception e)
                {
                    log.Error("AddErrorsToDB Failed:", e);
                    string str =
                        string.Format("---DB Archive Log Failure Doc ID{0} Storage ID {1} Status {2} Target DB ID{3} Target DB Name{4}  Error Code{5} ErrorMSG {6}---",
                                      vo.DocID, vo.StorageID, errorCodeChar, vo.TargetCouchDBID, vo.TargetCouchDBName, errorCode, msg);
                    log.Error(str);
                    log.Debug(e.StackTrace.ToString());
                    if (myTrans != null && connection.State != ConnectionState.Closed)
                    {
                        try
                        {
                            myTrans.Rollback();
                        }
                        catch (OracleException oracleException)
                        {
                            log.Error("Oracle Exception" + oracleException.Message);
                            return(false);
                        }
                    }
                    ret = false;
                }
                finally
                {
                    stopwatch.Stop();
                    log.Info(string.Format("Time Taken for Error ArchLog  : {0} Msec", stopwatch.ElapsedMilliseconds));
                    //log.Info(string.Format(" conn {0} error insert {1} arch log insert {2} update reg{3} final commit {4}", t0, t1, t2, t3, t4));
                    //oracleCommand = null;
                }
            }

            return(ret);
        }
Ejemplo n.º 21
0
        public bool CreateArchLog(PawnDocRegVO vo, char succCodeChar, bool isRecovery)
        {
            bool   ret    = false;
            string retVal = "";

            //OracleDataReader reader = null;
            //OracleConnection connection = null;
            if (DBConnector.getInstance().getStatus() != DBConnector.Status.INITIALIZED)
            {
                log.Error(" from GetDocumentSets :DB Connection not established: Search aborted");
                return(false);
            }
            int uqID      = 0;
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            OracleTransaction myTrans = null;

            using (var connection = new OracleConnection())
            {
                try
                {
                    connection.ConnectionString = DBConnector.getInstance().databaseServiceName();
                    connection.Open();
                    if (!isRecovery)
                    {
                        uqID = ConnDAO.getInstance().getUniqueIDNew(ref retVal, connection);
                        //insertArchLogNew
                    }

                    myTrans = connection.BeginTransaction(IsolationLevel.ReadCommitted);
                    if (isRecovery)
                    {
                        updateArchLog(connection, vo, succCodeChar);
                    }
                    else
                    {
                        insertArchLogNew(connection, vo, succCodeChar, uqID);
                    }
                    //log.Debug("Time for insertArchLog " + stopwatch.ElapsedMilliseconds);
                    //stopwatch.Restart();
                    updatePwnDocReg(connection, vo, succCodeChar);
                    //log.Debug("Time for updatePwnDocReg " + stopwatch.ElapsedMilliseconds);
                    myTrans.Commit();
                    ret = true;
                }
                catch (Exception e)
                {
                    log.Error("CreateArchLog Failed:", e);
                    string str =
                        string.Format("---DB Archive Log Failure Doc ID{0} Storage ID {1} Status {2} Target DB ID{3} Target DB Name{4} ---",
                                      vo.DocID, vo.StorageID, succCodeChar, vo.TargetCouchDBID, vo.TargetCouchDBName);
                    log.Error(str);
                    log.Debug(e.StackTrace.ToString());
                    if (myTrans != null && connection.State != ConnectionState.Closed)
                    {
                        try
                        {
                            myTrans.Rollback();
                        }
                        catch (OracleException oracleException)
                        {
                            log.Error("Oracle Exception" + oracleException.Message);
                            return(false);
                        }
                    }
                    ret = false;
                }
                finally
                {
                    stopwatch.Stop();
                    log.Info(string.Format("Time Taken for Success CreateArchLog  : {0} Msec", stopwatch.ElapsedMilliseconds));
                    //oracleCommand = null;
                }
                return(ret);
            }
        }
Ejemplo n.º 22
0
        public void process()
        {
            var  totalTime   = new Stopwatch();
            var  timeForexec = new Stopwatch();
            long getTime     = 0;
            long addTime     = 0;
            long delTime     = 0;
            long finalUpdate = 0;

            JobEnd = false;
            string rDocument = null;

            try
            {
                totalTime.Start();
                timeForexec.Start();
                rDocument = getDocumentFromCouch();
                timeForexec.Stop();
                getTime = timeForexec.ElapsedMilliseconds;
                if (!GotDoc)
                {
                    updateDBForError(ArchiveJobError.ErrorType.G);
                    return;
                }
                timeForexec.Restart();
                AddDocumentToCouch(rDocument);
                rDocument = null;
                timeForexec.Stop();
                addTime = timeForexec.ElapsedMilliseconds;
                if (!SavedDoc)
                {
                    updateDBForError(ArchiveJobError.ErrorType.A);
                    return;
                }
                timeForexec.Restart();
                SouceDocDeleted = true;
                //delete stubbed
                deleteDocFromSource();
                timeForexec.Stop();
                delTime = timeForexec.ElapsedMilliseconds;
                if (!SouceDocDeleted)
                {
                    updateDBForError(ArchiveJobError.ErrorType.D);
                    return;
                }
                timeForexec.Restart();
                updateTablesForSuccess();
                timeForexec.Stop();
                finalUpdate = timeForexec.ElapsedMilliseconds;
                //Thread.Sleep(10);
            }catch (Exception e)
            {
                log.Error("Exception occured in Archive Job1 :" + e.Message);
            }
            finally
            {
                string str1 = string.Format("Doc ID {0} Storage ID {1} Target DBID {2} Got DOC {3} Added DOC {4} Delete DOC {5} Updated {6}",
                                            vo.DocID, vo.StorageID, vo.TargetCouchDBName, GotDoc, SavedDoc, SouceDocDeleted, DBTransComp);
                string str2 = string.Format("Doc ID {0} Get Time {1} add time {2} del time {3} final update {4}", vo.DocID, getTime, addTime, delTime,
                                            finalUpdate);



                if (GAD_Error_Occured)
                {
                    log.Error("<<<<Total time: " + totalTime.ElapsedMilliseconds + " : " + str1 + ">>>");
                }
                else
                {
                    log.Info("Total time: " + totalTime.ElapsedMilliseconds + " : " + str1);
                }
                rDocument = null;
                //for object clear
                if (totalTime != null)
                {
                    totalTime.Stop();
                }
                if (timeForexec != null)
                {
                    timeForexec.Stop();
                }
                totalTime   = null;
                timeForexec = null;
                this.vo     = null;
                JobEnd      = true;
            }
        }
Ejemplo n.º 23
0
        /*public ArchiveJob(PawnDocRegVO vo, CouchVo srcCouchVO, CouchVo targetCouchVO, bool isRecovery)
         * {
         *  this.vo = vo;
         *  this.srcCouchVO = srcCouchVO;
         *  this.targetCouchVO = targetCouchVO;
         *  this.isRecovery = isRecovery;
         * }*/

        public ArchiveJob1(PawnDocRegVO vo, bool isRecovery)
        {
            this.vo         = vo;
            this.isRecovery = isRecovery;
            docID           = vo.DocID.ToString();
        }