Example usage for org.apache.commons.lang3 StringEscapeUtils unescapeJson

List of usage examples for org.apache.commons.lang3 StringEscapeUtils unescapeJson

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringEscapeUtils unescapeJson.

Prototype

public static final String unescapeJson(final String input) 

Source Link

Document

Unescapes any Json literals found in the String .

For example, it will turn a sequence of '\' and 'n' into a newline character, unless the '\' is preceded by another '\' .

Usage

From source file:wsserver.EKF1TimerSessionBean.java

private void callT3() {
    Runnable r3 = new Runnable() {

        public void run() {
            int badCnt3 = 0;
            int crcnt = 0;
            int allcnt = -1;
            boolean success_sql_operation = false;
            StringBuilder insert_sql_values_sb = new StringBuilder();
            int insert_sql_cnt = 0;
            try {

                String url = systemURL + "bitrix/ekflibraries/corpbus/get_json_data.php?ENTITY=1CPROD";

                //try {
                //    cbLogsFacade.insertLog("INFO", "Start load bx_1cprod", "Start load bx_1cprod, url="+systemURL);
                //} catch(Exception lge)  {

                //}

                URL obj = new URL(url);
                HttpURLConnection con = (HttpURLConnection) obj.openConnection();

                // optional default is GET
                con.setRequestMethod("GET");
                con.setConnectTimeout(180000);
                con.setReadTimeout(180000);

                //add request header
                con.setRequestProperty("User-Agent", "Mozilla-Firefox");

                int responseCode = con.getResponseCode();
                System.out.println("\nSending 'GET' request to URL : " + url);
                System.out.println("Response Code : " + responseCode);

                BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }/*from w  w w  .j  a va2s.  co m*/
                in.close();

                try {
                    cbLogsFacade.insertLog("INFO", "Complete load bx_1cprod urldata",
                            "Complete load bx_1cprod urldata, url=" + systemURL);
                } catch (Exception lge) {

                }
                JsonReader jsonReader = Json.createReader(new StringReader(response.toString()));

                //int icnt = 0;//bx1CProdFacade.insertBx1ProdMultiply();

                //try {
                //    cbLogsFacade.insertLog("INFO", "Complete persist test bx_1cprod urldata ", "Complete persist test bx_1cprod urldata "+icnt);
                //} catch(Exception lge)  {
                //}

                bx1CProdFacade.clearBx1CProd();

                JsonArray jarray = jsonReader.readArray();

                boolean hasCrashes = false;
                String saveBxDataLog = "";
                for (int i = 0; i < jarray.size(); i++) {
                    JsonObject jobject = jarray.getJsonObject(i);
                    Bx1CProd b1cprodObj = new Bx1CProd();

                    b1cprodObj.setId(-1);
                    if (insert_sql_cnt > 0)
                        insert_sql_values_sb.append(" ,");
                    insert_sql_values_sb.append("( ");
                    try {
                        b1cprodObj.setBxId(Tools.parseInt(jobject.getString("ID", "-1"), -1));
                    } catch (Exception e) {
                        b1cprodObj.setBxId(-1);
                    }

                    try {
                        String f1cId = jobject.getString("1C_ID", "NULL");
                        if (f1cId.length() == 36)
                            b1cprodObj.setF1cId(f1cId);
                        else
                            b1cprodObj.setF1cId("NULL");
                    } catch (Exception e) {
                        b1cprodObj.setF1cId("NULL");
                    }
                    try {
                        b1cprodObj.setParentBxId(Tools.parseInt(jobject.getString("PARENT_ID", "-1"), -1));
                    } catch (Exception e) {
                        b1cprodObj.setParentBxId(-1);
                    }

                    try {
                        String parent1cId = jobject.getString("PARENT_1CID", "NULL");
                        if (parent1cId.length() == 36)
                            b1cprodObj.setParent1cId(parent1cId);
                        else
                            b1cprodObj.setParent1cId("NULL");
                    } catch (Exception e) {
                        b1cprodObj.setParent1cId("NULL");
                    }

                    try {
                        b1cprodObj.setName(StringEscapeUtils.unescapeHtml4(StringEscapeUtils
                                .unescapeJson(jobject.getString("NAME", "NULL")).replace("&quot;", "\"")));
                    } catch (Exception e) {
                        b1cprodObj.setName("NULL");
                    }

                    try {
                        b1cprodObj.setArtikul(StringEscapeUtils.unescapeHtml4(
                                StringEscapeUtils.unescapeJson(jobject.getString("ARTICUL", "NULL"))));
                    } catch (Exception e) {
                        b1cprodObj.setArtikul("NULL");
                    }

                    insert_sql_values_sb.append(b1cprodObj.getBxId());
                    insert_sql_values_sb.append(",'");
                    insert_sql_values_sb.append(b1cprodObj.getName().replace("'", "''"));
                    insert_sql_values_sb.append("',");
                    insert_sql_values_sb.append(b1cprodObj.getParentBxId());
                    insert_sql_values_sb.append(",'");
                    insert_sql_values_sb.append(b1cprodObj.getF1cId().replace("'", "''"));
                    insert_sql_values_sb.append("','");
                    insert_sql_values_sb.append(b1cprodObj.getParent1cId().replace("'", "''"));
                    insert_sql_values_sb.append("','");
                    insert_sql_values_sb.append(b1cprodObj.getArtikul().replace("'", "''"));

                    insert_sql_values_sb.append("',");

                    try {
                        b1cprodObj.setPrice(new BigDecimal(jobject.getString("PRICE", "0")));
                        insert_sql_values_sb.append(jobject.getString("PRICE", "0").replace(",", "."));
                    } catch (Exception e) {
                        b1cprodObj.setPrice(new BigDecimal(0));
                        insert_sql_values_sb.append("0");
                    }
                    insert_sql_values_sb.append(",");

                    try {
                        b1cprodObj.setAmount(new BigDecimal(jobject.getString("QUANTITY", "0")));
                        insert_sql_values_sb.append(jobject.getString("QUANTITY", "0").replace(",", "."));
                    } catch (Exception e) {
                        b1cprodObj.setAmount(new BigDecimal(0));
                        insert_sql_values_sb.append("0");
                    }
                    insert_sql_values_sb.append(",");

                    try {
                        b1cprodObj.setBprice(new BigDecimal(jobject.getString("BPRICE", "0")));
                        insert_sql_values_sb.append(jobject.getString("BPRICE", "0").replace(",", "."));
                    } catch (Exception e) {
                        b1cprodObj.setBprice(new BigDecimal(0));
                        insert_sql_values_sb.append("0");
                    }
                    insert_sql_values_sb.append(",");

                    try {
                        //b1cprodObj.setBprice(new BigDecimal(jobject.getString("SORT_ORDER", "0")));
                        insert_sql_values_sb.append(jobject.getString("SORT_ORDER", "0").replace(",", "."));
                    } catch (Exception e) {
                        //b1cprodObj.setBprice(new BigDecimal(0));
                        insert_sql_values_sb.append("0");
                    }
                    insert_sql_values_sb.append(",'");
                    try {
                        insert_sql_values_sb.append(StringEscapeUtils
                                .unescapeHtml4(
                                        StringEscapeUtils.unescapeJson(jobject.getString("MAIN_PICT", "")))
                                .replace("'", "''"));
                    } catch (Exception e) {
                    }

                    insert_sql_values_sb.append("',");

                    try {
                        //b1cprodObj.setBprice(new BigDecimal(jobject.getString("SORT_ORDER", "0")));
                        insert_sql_values_sb.append("" + jobject.getInt("PROP_CNT", 0));
                    } catch (Exception e) {
                        //b1cprodObj.setBprice(new BigDecimal(0));
                        insert_sql_values_sb.append("0");
                    }

                    insert_sql_values_sb.append(")");

                    int try_cnt = 0;
                    boolean notSucc = true;
                    String err = "";
                    while (try_cnt < 10 && notSucc) {
                        try {
                            //bx1CSectFacade.
                            //bx1CProdFacade.create(b1cprodObj);
                            crcnt++;
                            notSucc = false;
                        } catch (Exception e) {
                            notSucc = true;
                            badCnt3++;
                            try_cnt++;
                            err += "[[" + Tools.parseInt(jobject.getString("ID", "-1"), -1)
                                    + "]]<<==!!||||||!!==>>Error of bx1CProdFacade.create " + e;
                        }
                    }

                    try {
                        if (try_cnt > 0) {
                            cbLogsFacade.insertLog("ERROR", "Error of bx1CProdFacade", err);
                        }
                    } catch (Exception lge) {

                    }
                    hasCrashes = hasCrashes | notSucc;

                    insert_sql_cnt++;
                    if (insert_sql_cnt >= 500 || i >= (jarray.size() - 1)) {
                        try {
                            success_sql_operation = bx1CProdFacade
                                    .insertBx1ProdMultiply(insert_sql_values_sb.toString(), insert_sql_cnt);
                        } catch (Exception lgesq) {
                            success_sql_operation = false;
                            try {
                                cbLogsFacade.insertLog("INFO",
                                        "!!!Unsuccess sending complex sql instruct to bx_1cprod",
                                        "Err " + lgesq);
                            } catch (Exception lge) {

                            }
                        }

                        if (!success_sql_operation) {
                            try {
                                cbLogsFacade.insertLog("INFO", "!!!Unsuccess complex sql instruct to bx_1cprod",
                                        "Count record to bx_1cprods " + insert_sql_cnt);
                            } catch (Exception lge) {

                            }
                            break;
                        } else {
                            saveBxDataLog += ("Succ " + insert_sql_cnt);//complex sql instruct to bx_1cprod. "+
                            //        "Count record to bx_1cprods "+insert_sql_cnt);
                            //try {
                            //    cbLogsFacade.insertLog("INFO", "Success complex sql instruct to bx_1cprod", "Count record to bx_1cprods "+insert_sql_cnt);
                            //} catch(Exception lge)  {

                            //}
                        }
                        insert_sql_cnt = 0;
                        insert_sql_values_sb.setLength(0);
                    }
                }

                try {
                    allcnt = jarray.size();
                    cbLogsFacade.insertLog("INFO", "Complete load bx_1cprod",
                            saveBxDataLog + " Complete load bx_1cprods " + ", all=" + allcnt + ",succ=" + crcnt
                                    + ",errcnt=" + badCnt3);
                } catch (Exception lge) {

                }

                if (badCnt3 <= 20 && (allcnt == crcnt) && success_sql_operation) {
                    //sendCompareData();
                    //sendCompareSectDataDel();
                    //sendCompareSectDataUpd();
                    boolean repeat_load = true;
                    int repeat_counter = 0;
                    while (repeat_load && repeat_counter < 10) {
                        repeat_counter++;
                        String selectExchngDataLog = "";
                        try {

                            if (tablesOperatingStateFacade.getEkfGrExchDataCorrupt() && false) {
                                Thread.sleep(30000);
                                try {
                                    cbLogsFacade.insertLog("INFO", "getEkfGrExchDataCorrupt",
                                            "Wait on 30 sec, attempt " + repeat_counter + " of 10...");
                                } catch (Exception lgex) {

                                }
                            } else {
                                repeat_load = false;
                                int ekfProdCount = cbLogsFacade.ekfProdCount();
                                int ekfProdSectCount = cbLogsFacade.ekfProdSectCount();
                                if (ekfProdCount >= 1000 && ekfProdCount <= 100000 && ekfProdSectCount >= 200
                                        && ekfProdSectCount <= 10000) {
                                    if (tablesOperatingStateFacade.setEkfGrExchDataCorrupt()) {

                                        //try {
                                        //    cbLogsFacade.insertLog("INFO", "Start of request cbNewPrFrom1cWpropsFacade", "Start of request cbNewPrFrom1cWpropsFacade");
                                        //} catch(Exception lge)  { }
                                        selectExchngDataLog += "Start of request cbNewPrFrom1cWpropsFacade ";
                                        npwps_ = cbNewPrFrom1cWpropsFacade.findAll();

                                        //try {
                                        //    cbLogsFacade.insertLog("INFO", "Start of request cbEkfgroupDel1csectFromBxFacade", "Complete prev, Start of request cbEkfgroupDel1csectFromBxFacade");
                                        //} catch(Exception lge)  { }
                                        selectExchngDataLog += "Complete prev, Start of request cbEkfgroupDel1csectFromBxFacade ";
                                        dswps_ = cbEkfgroupDel1csectFromBxFacade.findAll();

                                        //try {
                                        //    cbLogsFacade.insertLog("INFO", "Start of request cbEkfgroupUpd1csectToBxFacade", "Complete prev, Start of request cbEkfgroupUpd1csectToBxFacade");
                                        //} catch(Exception lge)  { }
                                        selectExchngDataLog += "Complete prev, Start of request cbEkfgroupUpd1csectToBxFacade ";
                                        uswps_ = cbEkfgroupUpd1csectToBxFacade.findAll();

                                        //try {
                                        //    cbLogsFacade.insertLog("INFO", "Start of request cbEkfgroupAdd1csectToBxFacade", "Complete prev, Start of request cbEkfgroupAdd1csectToBxFacade");
                                        //} catch(Exception lge)  { }
                                        selectExchngDataLog += "Complete prev, Start of request cbEkfgroupAdd1csectToBxFacade ";
                                        nswps_ = cbEkfgroupAdd1csectToBxFacade.findAll();

                                        //try {
                                        //    cbLogsFacade.insertLog("INFO", "Start of request cbEkfroupDelFromBxViewFacade", "Complete prev, Start of request cbEkfroupDelFromBxViewFacade");
                                        //} catch(Exception lge)  { }
                                        selectExchngDataLog += "Complete prev, Start of request cbEkfroupDelFromBxViewFacade ";
                                        dpwps_ = cbEkfroupDelFromBxViewFacade.findAll();

                                        //try {
                                        //    cbLogsFacade.insertLog("INFO", "Start of request CbEkfgroupToUpdatedBx1cFacade", "Complete prev, Start of request CbEkfgroupToUpdatedBx1cFacade");
                                        //} catch(Exception lge)  { }
                                        selectExchngDataLog += "Complete prev, Start of request CbEkfgroupToUpdatedBx1cFacade ";
                                        upwps_ = cbEkfgroupToUpdatedBx1cFacade.findAll();
                                        try {
                                            cbLogsFacade.insertLog("INFO",
                                                    "End of request CbEkfgroupToUpdatedBx1cFacade",
                                                    selectExchngDataLog
                                                            + " End of request CbEkfgroupToUpdatedBx1cFacade");
                                        } catch (Exception lge) {
                                        }

                                        if (npwps_.size() == 0 && upwps_.size() == 0 && dpwps_.size() == 0) {
                                            if (cbSettingsFacade.updExchanheLastDt()) {
                                                //try {
                                                //    cbLogsFacade.insertLog("INFO", "Success update exchange last datetime", 
                                                //            "Success update exchange last datetime");
                                                //} catch(Exception lge)  {

                                                //}
                                            } else {
                                                try {
                                                    cbLogsFacade.insertLog("ERROR",
                                                            "Unsuccess update exchange last datetime",
                                                            "Unsuccess update exchange last datetime");
                                                } catch (Exception lge) {

                                                }
                                            }
                                        }

                                        if (tablesOperatingStateFacade.setEkfGrExchDataUnCorrupt()) {
                                            sendCompareSectDataAdd();
                                        } else {
                                            exchangeInProcess = false;
                                            try {
                                                cbLogsFacade.insertLog("ERROR",
                                                        "Unsuccess setEkfGrExchDataCorrupt 0",
                                                        "Unsuccess setEkfGrExchDataCorrupt 0");
                                            } catch (Exception lgex) {

                                            }

                                        }

                                    } else {
                                        exchangeInProcess = false;
                                        try {
                                            cbLogsFacade.insertLog("ERROR",
                                                    "Unsuccess setEkfGrExchDataCorrupt 1",
                                                    "Unsuccess setEkfGrExchDataCorrupt 1");
                                        } catch (Exception lgex) {

                                        }
                                    }
                                } else {
                                    exchangeInProcess = false;
                                    try {
                                        cbLogsFacade.insertLog("ERROR", "Invalid data sizes, exchange stopped",
                                                "Data sizes mismatch conditions 200<=ekfProdSectCount<=10000, "
                                                        + "1000<=ekfProdCount<=100000");
                                    } catch (Exception lgex) {

                                    }
                                }
                            }
                        } catch (Exception lge) {
                            exchangeInProcess = false;
                            repeat_load = false;
                            try {
                                cbLogsFacade.insertLog("ERROR",
                                        "Error of getEkfGrExchDataCorrupt or setEkfGrExchDataCorrupt or MDS data load",
                                        "Error of getEkfGrExchDataCorrupt, detail: " + selectExchngDataLog);
                            } catch (Exception lgex) {

                            }
                        }
                    }

                    if (repeat_load) {
                        hasLong1CWait = true;
                        exchangeInProcess = false;
                    }

                } else
                    exchangeInProcess = false;

            } catch (Exception e) {
                exchangeInProcess = false;
                System.out.println("<<==!!||||||!!==>>Error of get-parse bx_1cprod json " + e);
                try {
                    cbLogsFacade.insertLog("ERROR", "Error of get-parse json bx_1cprod",
                            "<<==!!||||||!!==>>Error of get-parse json " + e);
                } catch (Exception lge) {

                }
            } finally {
                try {
                    //tablesOperatingStateFacade.setEkfGrExchDataUnDelta();
                    if (tablesOperatingStateFacade.setEkfGrExchDataUnCorrupt()) {

                    } else {
                        try {
                            cbLogsFacade.insertLog("ERROR", "Unsuccess setEkfGrExchDataCorrupt 0",
                                    "Unsuccess setEkfGrExchDataCorrupt 0");
                        } catch (Exception lgex) {

                        }
                    }
                } catch (Exception lgex) {

                }
            }
        }

    };

    Thread t3 = new Thread(r3);
    t3.start();
}