Example usage for javax.json JsonObject toString

List of usage examples for javax.json JsonObject toString

Introduction

In this page you can find the example usage for javax.json JsonObject toString.

Prototype

@Override
String toString();

Source Link

Document

Returns JSON text for this JSON value.

Usage

From source file:org.opendaylight.centinel.alertcallback.CentinelRESTClient.java

/**
 * Triggers the alert callback to Centinel Rest Api
 *//*from  ww  w. jav  a 2s  .c  om*/
public void trigger(AlertCondition.CheckResult checkResult, Stream stream) throws AlarmCallbackException {

    TriggeredConditionPojo triggeredConditionPojo = new TriggeredConditionPojo(
            checkResult.getTriggeredCondition());
    Schema schemaTriggeredCond = ReflectData.get().getSchema(TriggeredConditionPojo.class);
    GenericRecord recordTriggeredCond = new Record(schemaTriggeredCond);
    recordTriggeredCond.put("alertConditionId", triggeredConditionPojo.getId());
    recordTriggeredCond.put("type", triggeredConditionPojo.getType());
    recordTriggeredCond.put("creatorUserId", triggeredConditionPojo.getCreatorUserId());
    recordTriggeredCond.put("createdAt", triggeredConditionPojo.getCreatedAt());
    recordTriggeredCond.put("grace", triggeredConditionPojo.getGrace());
    recordTriggeredCond.put("parameters", triggeredConditionPojo.getParameters());
    recordTriggeredCond.put("description", triggeredConditionPojo.getDescription());
    recordTriggeredCond.put("backlog", triggeredConditionPojo.getBacklog());

    Schema schemaMatchingMessage = ReflectData.get().getSchema(MatchingMessagePojo.class);
    GenericRecord recordMatchingMessage = new Record(schemaMatchingMessage);
    if (!checkResult.getMatchingMessages().isEmpty()) {
        MatchingMessagePojo matchingMessagePojo = new MatchingMessagePojo(
                checkResult.getMatchingMessages().get(0));
        recordMatchingMessage.put("index", matchingMessagePojo.getIndex());
        recordMatchingMessage.put("message", matchingMessagePojo.getMessage());
        recordMatchingMessage.put("fields", matchingMessagePojo.getFields());
        recordMatchingMessage.put("id", matchingMessagePojo.getId());
        recordMatchingMessage.put("source", matchingMessagePojo.getSource());
        recordMatchingMessage.put("message_timestamp", matchingMessagePojo.getTimestamp());
    }

    CheckResultPojo checkResultPojo = new CheckResultPojo(checkResult);
    Schema schemaCheckResult = ReflectData.get().getSchema(CheckResultPojo.class);
    GenericRecord avroRecordCheckResult = new Record(schemaCheckResult);

    avroRecordCheckResult.put("resultDescription", checkResultPojo.getResultDescription());
    avroRecordCheckResult.put("triggeredCondition", recordTriggeredCond);
    avroRecordCheckResult.put("triggeredAt", checkResultPojo.getTriggeredAt());
    avroRecordCheckResult.put("triggered", checkResultPojo.isTriggered());
    avroRecordCheckResult.put("matchingMessages", recordMatchingMessage);

    Schema schemaRules = ReflectData.get().getSchema(RulesPojo.class);
    GenericRecord recordRules = new Record(schemaRules);

    StreamPojo streamPojo = new StreamPojo(stream);

    RulesPojo rule = new RulesPojo(streamPojo.getRules().get(0));
    recordRules.put("field", rule.getField());
    recordRules.put("streamId", rule.getStreamId());
    recordRules.put("id", rule.getId());
    recordRules.put("type", rule.getType().toString());
    recordRules.put("inverted", rule.getInverted());
    recordRules.put("value", rule.getValue());

    Schema schemaStream = ReflectData.get().getSchema(StreamPojo.class);
    GenericRecord avroRecordStream = new Record(schemaStream);

    avroRecordStream.put("creatoruserid", streamPojo.getCreatoruserid());
    avroRecordStream.put("matchingtype", streamPojo.getMatchingtype());
    avroRecordStream.put("description", streamPojo.getDescription());
    avroRecordStream.put("disabled", streamPojo.getDisabled());
    avroRecordStream.put("rules", recordRules);
    avroRecordStream.put("streamId", streamPojo.getId());
    avroRecordStream.put("title", streamPojo.getTitle());

    String eventBody = "{\"check_result\":" + avroRecordCheckResult + ",\"stream\":" + avroRecordStream + "}";

    JsonObject inputJson = null;
    inputJson = factory.createObjectBuilder()
            .add("input",
                    factory.createObjectBuilder().add("eventType", "alert").add("eventBodyType", "avro")
                            .add("eventBody", eventBody)
                            .add("eventKeys", factory.createArrayBuilder().add("check_result:triggeredAt")
                                    .add("check_result:resultDescription")
                                    .add("check_result:triggeredCondition:alertConditionId")
                                    .add("check_result:triggeredCondition:type")
                                    .add("check_result:triggeredCondition:description").add("stream:streamId")))
            .build();

    final URL url;
    try {
        url = new URL("http://" + properties.getProperty("centinel_ip") + ":"
                + properties.getProperty("centinel_port") + "/restconf/operations/eventinput:notify-event");
    } catch (MalformedURLException e) {
        throw new AlarmCallbackException("Error while constructing URL of Centinel API.", e);
    }

    // Create authentication string and encode it to Base64
    final String admin = "admin";
    String authStr = admin + ":" + admin;
    String encodedAuthStr = Base64.encodeBase64String(authStr.getBytes());

    try {
        // Create Http connection
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        // Set connection properties
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Authorization", "Basic " + encodedAuthStr);
        connection.setRequestProperty("Accept", MediaType.APPLICATION_JSON);
        connection.setRequestProperty("content-type", MediaType.APPLICATION_JSON);

        // Send post request
        connection.setDoOutput(true);
        OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
        out.write(inputJson.toString());
        out.flush();
        out.close();

        // Get the response from connection's inputStream
        connection.getInputStream();

    } catch (IOException e) {
        throw new AlarmCallbackException("Could not open connection to Rest API - Centinel", e);
    }
}

From source file:wsserver.EKF1TimerSessionBean.java

private boolean postMultipartPrDel(List<CbEkfroupDelFromBxView> dpwps) {
    String charset = "UTF-8";
    String requestURL = systemURL + "bitrix/ekflibraries/corpbus/manipulate_data.php";
    boolean reply = true;
    String sreply = "";

    if (dpwps.isEmpty())
        return reply;

    String logStr = "Del prod cnt=" + dpwps.size() + ". ";

    try {/*from w  ww .  j  a  v a2  s. c  om*/
        MultipartUtility multipart = new MultipartUtility(requestURL, charset);

        multipart.addHeaderField("User-Agent", "CodeJava");
        multipart.addHeaderField("Test-Header", "Header-Value");
        int index = 0;
        multipart.addFormField("OTYPE", "DELETE");
        multipart.addFormField("ENTITY", "1CPROD");
        int ocnt = dpwps.size();
        multipart.addFormField("OCNT", "" + ocnt);
        //String logStr="";
        for (CbEkfroupDelFromBxView npwp : dpwps) {
            multipart.addFormField("PID" + index, npwp.getId());

            logStr += "[" + index + "] PID " + npwp.getId();
            index++;
        }
        try {
            if (logStr.length() > 0)
                cbLogsFacade.insertLog("INFO", "DEL PROD TO SEND ", logStr);
        } catch (Exception lgen) {
        }

        List<String> response = multipart.finish();

        for (String line : response) {
            sreply = sreply + line;
        }

        try {
            JsonReader jsonReader = Json.createReader(new StringReader(sreply));
            JsonObject jobject = jsonReader.readObject();
            try {
                cbLogsFacade.insertLog("INFO", "SUCCESS OF PARSE SERVER REPLY",
                        "SUCCESS OF PARSE SERVER REPLY=" + jobject.toString());
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_info", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_INFO", "SERVER REPLY DETAIL",
                            jobject.getString("critical_info", ""));
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_errs", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_ERRS", "SERVER REPLY DETAIL",
                            jobject.getString("critical_errs", ""));
            } catch (Exception lge) {

            }
        } catch (Exception pe) {
            try {
                cbLogsFacade.insertLog("ERROR", "ERROR OF PARSE SERVER REPLY",
                        "ERROR OF PARSE SERVER REPLY" + sreply);
            } catch (Exception lge) {

            }
        }

    } catch (Exception ex) {
        try {
            cbLogsFacade.insertLog("ERROR", "ERROR of postMultipartPrDel",
                    logStr + " ERROR of postMultipartPrDel" + ex);
        } catch (Exception lge) {

        }
    }

    return reply;
}

From source file:wsserver.EKF1TimerSessionBean.java

private boolean postMultipartSectDel(List<CbEkfgroupDel1csectFromBx> dswps) {
    String charset = "UTF-8";
    String requestURL = systemURL + "bitrix/ekflibraries/corpbus/manipulate_data.php";
    boolean reply = true;
    String sreply = "";

    if (dswps.isEmpty())
        return reply;

    String logStr = "Del sect cnt=" + dswps.size() + ". ";

    try {/*from  w w  w.j a v a2s  . c  o  m*/
        MultipartUtility multipart = new MultipartUtility(requestURL, charset);

        multipart.addHeaderField("User-Agent", "CodeJava");
        multipart.addHeaderField("Test-Header", "Header-Value");
        int index = 0;
        multipart.addFormField("OTYPE", "DELETE");
        multipart.addFormField("ENTITY", "1CSECT");
        int ocnt = dswps.size();
        multipart.addFormField("OCNT", "" + ocnt);
        //String logStr="";
        for (CbEkfgroupDel1csectFromBx npwp : dswps) {
            multipart.addFormField("SID" + index, npwp.getId());
            multipart.addFormField("SNAME" + index, npwp.getName());
            multipart.addFormField("SBXID" + index, "" + npwp.getBxId());
            //npwp.
            logStr += "[" + index + "] id=" + npwp.getId() + "," + npwp.getName() + ",BXID=" + npwp.getBxId();
            index++;
        }

        try {
            if (logStr.length() > 0)
                cbLogsFacade.insertLog("INFO", "DEL SECT TO SEND ", logStr);
        } catch (Exception lgen) {
        }

        List<String> response = multipart.finish();

        for (String line : response) {
            sreply = sreply + line;
        }

        try {
            JsonReader jsonReader = Json.createReader(new StringReader(sreply));
            JsonObject jobject = jsonReader.readObject();
            try {
                cbLogsFacade.insertLog("INFO", "SUCCESS OF PARSE SERVER REPLY",
                        "SUCCESS OF PARSE SERVER REPLY=" + jobject.toString());
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_info", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_INFO", "SERVER REPLY DETAIL",
                            jobject.getString("critical_info", ""));
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_errs", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_ERRS", "SERVER REPLY DETAIL",
                            jobject.getString("critical_errs", ""));
            } catch (Exception lge) {

            }

        } catch (Exception pe) {
            try {
                cbLogsFacade.insertLog("ERROR", "ERROR OF PARSE SERVER REPLY",
                        "ERROR OF PARSE SERVER REPLY" + sreply);
            } catch (Exception lge) {

            }
        }

    } catch (Exception ex) {
        try {
            cbLogsFacade.insertLog("ERROR", "ERROR of postMultipartSectDel",
                    logStr + " ERROR of postMultipartSectDel" + ex);
        } catch (Exception lge) {

        }
    }

    return reply;
}

From source file:wsserver.EKF1TimerSessionBean.java

private boolean postMultipartSectAdd(List<CbEkfgroupAdd1csectToBx> nswps) {
    String charset = "UTF-8";
    String requestURL = systemURL + "bitrix/ekflibraries/corpbus/manipulate_data.php";
    boolean reply = true;
    String sreply = "";

    if (nswps.isEmpty())
        return reply;

    String logStr = "New sect cnt=" + nswps.size() + ". ";

    try {/*from ww  w  .j a  va 2 s  .c  o  m*/
        MultipartUtility multipart = new MultipartUtility(requestURL, charset);

        multipart.addHeaderField("User-Agent", "CodeJava");
        multipart.addHeaderField("Test-Header", "Header-Value");
        int index = 0;
        multipart.addFormField("OTYPE", "ADD");
        multipart.addFormField("ENTITY", "1CSECT");
        int ocnt = nswps.size();
        multipart.addFormField("OCNT", "" + ocnt);
        //String logStr="";
        for (CbEkfgroupAdd1csectToBx npwp : nswps) {
            multipart.addFormField("SID" + index, npwp.getId());
            multipart.addFormField("SNAME" + index, npwp.getName());
            multipart.addFormField("SGRXMLID" + index, npwp.getParentId());

            logStr += "[" + index + "] NAME " + npwp.getName() + "," + npwp.getId() + "," + npwp.getParentId();
            index++;
        }

        try {
            if (logStr.length() > 0)
                cbLogsFacade.insertLog("INFO", "NEW SECT TO SEND ", logStr);
        } catch (Exception lgen) {
        }

        List<String> response = multipart.finish();

        for (String line : response) {
            sreply = sreply + line;
        }

        try {
            JsonReader jsonReader = Json.createReader(new StringReader(sreply));
            JsonObject jobject = jsonReader.readObject();
            try {
                cbLogsFacade.insertLog("INFO", "SUCCESS OF PARSE SERVER REPLY",
                        "SUCCESS OF PARSE SERVER REPLY=" + jobject.toString());
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_info", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_INFO", "SERVER REPLY DETAIL",
                            jobject.getString("critical_info", ""));
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_errs", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_ERRS", "SERVER REPLY DETAIL",
                            jobject.getString("critical_errs", ""));
            } catch (Exception lge) {

            }
            try {
                if (Tools.parseInt(jobject.getString("errcnt", "0"), 1) > 0) {
                    reply = false;
                    try {
                        cbLogsFacade.insertLog("ERROR", "EXCHANGE STOPPED",
                                "UNSUCCESS EXECUTE SECT ADD SCRIPT");
                    } catch (Exception lge) {

                    }
                }
            } catch (Exception lge) {
                reply = false;
            }
        } catch (Exception pe) {
            try {
                cbLogsFacade.insertLog("ERROR", "ERROR OF PARSE SERVER REPLY",
                        "ERROR OF PARSE SERVER REPLY" + sreply);
            } catch (Exception lge) {

            }
        }

    } catch (Exception ex) {
        try {
            cbLogsFacade.insertLog("ERROR", "ERROR of postMultipartSectAdd",
                    logStr + " ERROR of postMultipartSectAdd" + ex);
        } catch (Exception lge) {

        }
    }

    return reply;
}

From source file:wsserver.EKF1TimerSessionBean.java

private boolean postMultipartPrAdd(List<CbNewPrFrom1cWprops> npwps) {
    String charset = "UTF-8";
    String requestURL = systemURL + "bitrix/ekflibraries/corpbus/manipulate_data.php";
    boolean reply = true;
    String sreply = "";

    if (npwps.isEmpty())
        return reply;

    String logStr = "New prod cnt=" + npwps_.size() + ". ";

    try {//w  ww .  ja v  a  2  s.  c  om
        MultipartUtility multipart = new MultipartUtility(requestURL, charset);

        multipart.addHeaderField("User-Agent", "CodeJava");
        multipart.addHeaderField("Test-Header", "Header-Value");
        int index = 0;
        multipart.addFormField("OTYPE", "ADD");
        multipart.addFormField("ENTITY", "1CPROD");
        int ocnt = npwps.size();

        //String logStr = "";
        long allFileSize = 0;
        boolean uploadFiles = true;
        multipart.addFormField("OCNT", "50");
        for (CbNewPrFrom1cWprops npwp : npwps) {

            long productFilesSize = 0;
            boolean error_file_operation = false;
            try {
                if (npwp.getFp0().length() > 0 && uploadFiles) {
                    File f = new File(mountImgPath + npwp.getFp0().replace("\\", "/"));
                    if (f.length() <= maxPostedFileSize
                            && ((allFileSize + productFilesSize + f.length()) < maxPostFilePartSize)) {
                        productFilesSize += f.length();
                    }
                }
                if (npwp.getFp1().length() > 0 && uploadFiles) {
                    File f = new File(mountImgPath + npwp.getFp1().replace("\\", "/"));
                    if (f.length() <= maxPostedFileSize
                            && ((allFileSize + productFilesSize + f.length()) < maxPostFilePartSize)) {
                        productFilesSize += f.length();
                    }
                }
                if (npwp.getFp2().length() > 0 && uploadFiles) {
                    File f = new File(mountImgPath + npwp.getFp2().replace("\\", "/"));
                    if (f.length() <= maxPostedFileSize
                            && ((allFileSize + productFilesSize + f.length()) < maxPostFilePartSize)) {
                        productFilesSize += f.length();
                    }
                }
                if (npwp.getFp3().length() > 0 && uploadFiles) {
                    File f = new File(mountImgPath + npwp.getFp3().replace("\\", "/"));
                    if (f.length() <= maxPostedFileSize
                            && ((allFileSize + productFilesSize + f.length()) < maxPostFilePartSize)) {
                        productFilesSize += f.length();
                    }
                }
                if (npwp.getFp4().length() > 0 && uploadFiles) {
                    File f = new File(mountImgPath + npwp.getFp4().replace("\\", "/"));
                    if (f.length() <= 2000000
                            && ((allFileSize + productFilesSize + f.length()) < maxPostFilePartSize)) {
                        productFilesSize += f.length();
                    }
                }

            } catch (Exception fle) {
                productFilesSize = 0;
                error_file_operation = true;
                logStr += ("NAME " + npwp.getName() + " - Error prev file operation!!! " + fle);
            }

            if ((allFileSize + productFilesSize) > maxPostFilePartSize) {
                logStr += ("NAME " + npwp.getName() + " - too big product files sizes summ!!!");
                //continue;
            } else {
                multipart.addFormField("PIDPREV1" + index, npwp.getId());
                multipart.addFormField("PIDPREV2" + index, npwp.getId());
                multipart.addFormField("PID" + index, npwp.getId());
                multipart.addFormField("PART" + index, npwp.getVendorCode());
                multipart.addFormField("PNAME" + index, npwp.getName());

                logStr += ("[" + index + "] NAME " + npwp.getId() + npwp.getName() + "," + npwp.getBasePrice()
                        + "," + npwp.getIshopPrice() + "," + npwp.getQuant() + ","
                        + npwp.getBxGroupExternalCode() + "," + npwp.getVendorCode());//+",[["+npwp.getJsonData()+"]]"

                multipart.addFormField("PSHNAME" + index, npwp.getShortName());
                multipart.addFormField("PPROPS" + index, npwp.getJsonData());
                multipart.addFormField("PGRPID" + index, npwp.getProductGroupId());
                multipart.addFormField("PBPRICE" + index, "" + npwp.getBasePrice());
                multipart.addFormField("PISPRICE" + index, "" + npwp.getIshopPrice());
                multipart.addFormField("PQUANT" + index, "" + npwp.getQuant());
                multipart.addFormField("PGRXMLID" + index, npwp.getBxGroupExternalCode());

                if (!error_file_operation) {
                    try {
                        if (npwp.getFp0().length() > 0 && uploadFiles) {
                            File f = new File(mountImgPath + npwp.getFp0().replace("\\", "/"));
                            if (f.length() <= maxPostedFileSize
                                    && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                multipart.addFilePart("DETAIL_PICTURE" + index, (f));
                                logStr += ",fp0" + npwp.getFp0();
                                allFileSize += f.length();
                            } else {
                                logStr += ",fp0 " + f.length() + " more " + maxPostedFileSize / 1000000
                                        + "Mbytes or too big allFileSize";
                            }
                        }
                        if (npwp.getFp1().length() > 0 && uploadFiles) {
                            File f = new File(mountImgPath + npwp.getFp1().replace("\\", "/"));
                            if (f.length() <= maxPostedFileSize
                                    && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                multipart.addFilePart("PHOTO" + index + "_01", (f));
                                logStr += ",fp1=" + npwp.getFp1();
                                allFileSize += f.length();
                            } else {
                                logStr += ",fp1 " + f.length() + " more " + maxPostedFileSize / 1000000
                                        + "Mbytes or too big allFileSize";
                            }
                        }
                        if (npwp.getFp2().length() > 0 && uploadFiles) {
                            File f = new File(mountImgPath + npwp.getFp2().replace("\\", "/"));
                            if (f.length() <= maxPostedFileSize
                                    && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                multipart.addFilePart("PHOTO" + index + "_02", (f));
                                logStr += ",fp2=" + npwp.getFp2();
                                allFileSize += f.length();
                            } else {
                                logStr += ",fp2 " + f.length() + " more " + maxPostedFileSize / 1000000
                                        + "Mbytes or too big allFileSize";
                            }
                        }
                        if (npwp.getFp3().length() > 0 && uploadFiles) {
                            File f = new File(mountImgPath + npwp.getFp3().replace("\\", "/"));
                            if (f.length() <= maxPostedFileSize
                                    && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                multipart.addFilePart("PHOTO" + index + "_03", (f));
                                logStr += ",fp3=" + npwp.getFp3();
                                allFileSize += f.length();
                            } else {
                                logStr += ",fp3 " + f.length() + " more " + maxPostedFileSize / 1000000
                                        + "Mbytes or too big allFileSize";
                            }
                        }
                        if (npwp.getFp4().length() > 0 && uploadFiles) {
                            File f = new File(mountImgPath + npwp.getFp4().replace("\\", "/"));
                            if (f.length() <= maxPostedFileSize
                                    && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                multipart.addFilePart("PHOTO" + index + "_04", (f));
                                logStr += ",fp4=" + npwp.getFp4();
                                allFileSize += f.length();
                            } else {
                                logStr += ",fp4 " + f.length() + " more " + maxPostedFileSize / 1000000
                                        + "Mbytes or too big allFileSize";
                            }
                        }
                    } catch (Exception fle) {
                        //error_file_operation=true;
                        logStr += ("NAME " + npwp.getName() + " - Error file operation!!! " + fle);
                    }
                }

                index++;
            }
            if (allFileSize > maxPostFilePartSize) {
                logStr += ("End of request construction - too big prev products files sizes summ!!!");
                break;
            }
        }

        try {
            if (logStr.length() > 0)
                cbLogsFacade.insertLog("INFO", "NEW PROD TO SEND ", "<p style=\"font-size:10px !important;\">"
                        + index + "cnt," + logStr + "</p>" + ", allFilesSizes(bytes)=" + allFileSize);
        } catch (Exception lgen) {
        }

        //multipart.addFormField("OCNT",""+index);
        multipart.addFormField("OCNT", "50");//+50);
        List<String> response = multipart.finish();

        for (String line : response) {
            sreply = sreply + line;
        }

        try {
            JsonReader jsonReader = Json.createReader(new StringReader(sreply));
            JsonObject jobject = jsonReader.readObject();
            try {
                cbLogsFacade.insertLog("INFO", "SUCCESS OF PARSE SERVER REPLY",
                        "SUCCESS OF PARSE SERVER REPLY=" + jobject.toString());
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_info", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_INFO", "SERVER REPLY DETAIL",
                            jobject.getString("critical_info", ""));
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_errs", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_ERRS", "SERVER REPLY DETAIL",
                            jobject.getString("critical_errs", ""));
            } catch (Exception lge) {

            }
        } catch (Exception pe) {
            try {
                cbLogsFacade.insertLog("ERROR", "ERROR OF PARSE SERVER REPLY",
                        "ERROR OF PARSE SERVER REPLY" + sreply);
            } catch (Exception lge) {

            }
        }

    } catch (Exception ex) {
        try {
            cbLogsFacade.insertLog("ERROR", "ERROR of postMultipartPrAdd",
                    logStr + " ERROR of postMultipartPrAdd" + ex);
        } catch (Exception lge) {

        }
    }

    return reply;
}

From source file:wsserver.EKF1TimerSessionBean.java

private boolean postMultipartPrUpd(List<CbEkfgroupToUpdatedBx1c> upwps) {
    String charset = "UTF-8";
    String requestURL = systemURL + "bitrix/ekflibraries/corpbus/manipulate_data.php";
    boolean reply = true;
    String sreply = "";

    if (upwps.isEmpty())
        return reply;

    String logStr = "Upd prod cnt=" + upwps.size() + ". ";

    try {//  ww w  . j  a v  a2 s  .  com
        MultipartUtility multipart = new MultipartUtility(requestURL, charset);

        multipart.addHeaderField("User-Agent", "CodeJava");
        multipart.addHeaderField("Test-Header", "Header-Value");
        int index = 0;
        multipart.addFormField("OTYPE", "UPDATE");
        multipart.addFormField("ENTITY", "1CPROD");
        int ocnt = upwps.size();
        multipart.addFormField("OCNT", "" + ocnt);
        //String logStr="";
        long allFileSize = 0;
        boolean uploadFiles = true;
        for (CbEkfgroupToUpdatedBx1c npwp : upwps) {
            try {

                long productFilesSize = 0;
                boolean error_file_operation = false;
                try {
                    if (!npwp.getF1cMainPict().equals(npwp.getBxMainPict())
                            && npwp.getF1cMainPict().length() > 10 && uploadFiles) {
                        File f = new File(mountImgPath + npwp.getF1cMainPict().replace("\\", "/"));
                        if (f.length() <= maxPostedFileSize
                                && ((allFileSize + productFilesSize + f.length()) < maxPostFilePartSize)) {
                            productFilesSize += f.length();
                        }
                    }
                    /*if(npwp.getF1cAddPict1().length()>0&&uploadFiles&&false) { 
                        File f = new File(mountImgPath+npwp.getF1cAddPict1().replace("\\", "/"));
                        if(f.length()<=maxPostedFileSize&&((allFileSize+productFilesSize+f.length())<maxPostFilePartSize))   {
                    productFilesSize+=f.length();
                        }
                    }
                    if(npwp.getF1cAddPict1().length()>0&&uploadFiles&&false) { 
                        File f = new File(mountImgPath+npwp.getF1cAddPict1().replace("\\", "/"));
                        if(f.length()<=maxPostedFileSize&&((allFileSize+productFilesSize+f.length())<maxPostFilePartSize))   {
                    productFilesSize+=f.length();
                        }
                    }
                    if(npwp.getF1cAddPict1().length()>0&&uploadFiles&&false) { 
                        File f = new File(mountImgPath+npwp.getF1cAddPict1().replace("\\", "/"));
                        if(f.length()<=maxPostedFileSize&&((allFileSize+productFilesSize+f.length())<maxPostFilePartSize))   {
                    productFilesSize+=f.length();
                        }
                    }
                    if(npwp.getF1cAddPict1().length()>0&&uploadFiles&&false) { 
                        File f = new File(mountImgPath+npwp.getF1cAddPict1().replace("\\", "/"));
                        if(f.length()<=2000000&&((allFileSize+productFilesSize+f.length())<maxPostFilePartSize))   {
                    productFilesSize+=f.length();
                        }
                    }*/

                } catch (Exception fle) {
                    productFilesSize = 0;
                    error_file_operation = true;
                    logStr += ("NAME " + npwp.getName() + " - Error prev file operation!!! " + fle);
                    if (!npwp.getF1cMainPict().equals(npwp.getBxMainPict())
                            && npwp.getBxMainPict().length() <= 5) {
                        multipart.addFormField("SETMAIN_PICT_ERR" + index, "1");
                        multipart.addFormField("MAIN_PICT" + index, StringEscapeUtils.escapeJava(
                                (npwp.getBxMainPict() == null || (npwp.getBxMainPict().length() > 10) ? "a"
                                        : npwp.getBxMainPict() + "a")));
                    }
                }

                if ((allFileSize + productFilesSize) > maxPostFilePartSize) {
                    logStr += ("NAME " + npwp.getName() + " - too big product files sizes summ!!!");
                    //continue;
                } else {
                    if (!error_file_operation) {
                        try {
                            if (!npwp.getF1cMainPict().equals(npwp.getBxMainPict())
                                    && npwp.getF1cMainPict().length() > 10 && uploadFiles) {
                                File f = new File(mountImgPath + npwp.getF1cMainPict().replace("\\", "/"));
                                if (f.length() <= maxPostedFileSize
                                        && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                    multipart.addFilePart("DETAIL_PICTURE" + index, (f));
                                    multipart.addFormField("SETDETAIL_PICTURE" + index, "1");
                                    multipart.addFormField("SETMAIN_PICT" + index, "1");
                                    multipart.addFormField("MAIN_PICT" + index,
                                            StringEscapeUtils.escapeJava(npwp.getF1cMainPict()));
                                    logStr += ",fp0" + npwp.getF1cMainPict();
                                    allFileSize += f.length();
                                } else {
                                    logStr += ",fp0 " + f.length() + " more " + maxPostedFileSize / 1000000
                                            + "Mbytes or too big allFileSize";
                                }
                            }
                            /*if(npwp.getFp1().length()>0&&uploadFiles) { 
                                File f = new File(mountImgPath+npwp.getFp1().replace("\\", "/"));
                                if(f.length()<=maxPostedFileSize&&((allFileSize+f.length())<maxPostFilePartSize))   {
                            multipart.addFilePart("PHOTO"+index+"_01", (f) );
                            logStr+=",fp1="+npwp.getFp1();
                            allFileSize+=f.length();
                                }
                                else    {
                            logStr+=",fp1 "+f.length()+" more "+maxPostedFileSize/1000000+"Mbytes or too big allFileSize";
                                }
                            }
                            if(npwp.getFp2().length()>0&&uploadFiles) { 
                                File f = new File(mountImgPath+npwp.getFp2().replace("\\", "/"));
                                if(f.length()<=maxPostedFileSize&&((allFileSize+f.length())<maxPostFilePartSize))   {
                            multipart.addFilePart("PHOTO"+index+"_02", (f) );
                            logStr+=",fp2="+npwp.getFp2();
                            allFileSize+=f.length();
                                }
                                else    {
                            logStr+=",fp2 "+f.length()+" more "+maxPostedFileSize/1000000+"Mbytes or too big allFileSize";
                                }
                            }
                            if(npwp.getFp3().length()>0&&uploadFiles) { 
                                File f = new File(mountImgPath+npwp.getFp3().replace("\\", "/"));
                                if(f.length()<=maxPostedFileSize&&((allFileSize+f.length())<maxPostFilePartSize))   {
                            multipart.addFilePart("PHOTO"+index+"_03", (f) );
                            logStr+=",fp3="+npwp.getFp3();
                            allFileSize+=f.length();
                                }
                                else    {
                            logStr+=",fp3 "+f.length()+" more "+maxPostedFileSize/1000000+"Mbytes or too big allFileSize";
                                }
                            }
                            if(npwp.getFp4().length()>0&&uploadFiles) { 
                                File f = new File(mountImgPath+npwp.getFp4().replace("\\", "/"));
                                if(f.length()<=maxPostedFileSize&&((allFileSize+f.length())<maxPostFilePartSize))   {
                            multipart.addFilePart("PHOTO"+index+"_04", (f) );
                            logStr+=",fp4="+npwp.getFp4();
                            allFileSize+=f.length();
                                }
                                else    {
                            logStr+=",fp4 "+f.length()+" more "+maxPostedFileSize/1000000+"Mbytes or too big allFileSize";
                                }
                            }*/
                        } catch (Exception fle) {
                            error_file_operation = true;
                            logStr += ("NAME " + npwp.getName() + " - Error file operation!!! " + fle);
                            if (!npwp.getF1cMainPict().equals(npwp.getBxMainPict())
                                    && npwp.getBxMainPict().length() <= 5) {
                                multipart.addFormField("SETMAIN_PICT_ERR" + index, "1");
                                multipart.addFormField("MAIN_PICT" + index,
                                        StringEscapeUtils.escapeJava((npwp.getBxMainPict() == null
                                                || (npwp.getBxMainPict().length() > 10) ? "a"
                                                        : npwp.getBxMainPict() + "a")));
                            }
                        }
                    }
                }

                updProdsIds.add(npwp.getF1cId());
                multipart.addFormField("PIDPREV1" + index, "" + npwp.getId());
                multipart.addFormField("PIDPREV2" + index, "" + npwp.getId());

                if (!npwp.getF1cMainPict().equals(npwp.getBxMainPict()) && (npwp.getF1cMainPict().length() <= 10
                        || (npwp.getBxMainPict().length() >= 5 && npwp.getBxMainPict().length() <= 15))) {
                    multipart.addFormField("SETMAIN_PICT_DIR" + index, "1");
                    multipart.addFormField("MAIN_PICT" + index,
                            StringEscapeUtils.escapeJava(npwp.getF1cMainPict()));
                }
                multipart.addFormField("PID" + index, "" + npwp.getId());
                multipart.addFormField("PXMLID" + index, npwp.getF1cId());
                multipart.addFormField("PART" + index, npwp.getArtikul());
                multipart.addFormField("PNAME" + index, npwp.getName());

                if (npwp.getToUpdate() == 1 || (Math.abs(npwp.getBxPropCnt() - npwp.getF1cPropCnt()) > 1))
                    multipart.addFormField("PPROPS" + index, npwp.getJsonData());

                logStr += "[" + index + "] NAME " + npwp.getName() + "," + npwp.getBasePrice() + ","
                        + npwp.getIshopPrice() + "," + npwp.getQuant() + "," + npwp.getBxGroupExternalCode()
                        + npwp.getArtikul() + "[" + npwp.getToUpdate() + "[" + npwp.getJsonData() + "]]bxpcnt="
                        + npwp.getBxPropCnt() + ",1fpcnt=" + npwp.getF1cPropCnt();//

                if (npwp.getBasePrice() != npwp.getBbsprice())
                    multipart.addFormField("SETPBPRICE" + index, "1");
                else
                    multipart.addFormField("SETPBPRICE" + index, "0");
                if (npwp.getIshopPrice() != npwp.getBisprice())
                    multipart.addFormField("SETPISPRICE" + index, "1");
                else
                    multipart.addFormField("SETPISPRICE" + index, "0");
                if (npwp.getQuant() != npwp.getBamount())
                    multipart.addFormField("SETPQUANT" + index, "1");
                else
                    multipart.addFormField("SETPQUANT" + index, "0");
                multipart.addFormField("PBPRICE" + index, "" + npwp.getBasePrice());
                multipart.addFormField("PISPRICE" + index, "" + npwp.getIshopPrice());
                multipart.addFormField("PQUANT" + index, "" + npwp.getQuant());
                if (!npwp.getBxGroupExternalCode().equals(npwp.getParent1cId()))
                    multipart.addFormField("SETPGRXMLID" + index, "1");
                else
                    multipart.addFormField("SETPGRXMLID" + index, "0");
                multipart.addFormField("PGRXMLID" + index, npwp.getBxGroupExternalCode());

                if (!npwp.getBxName().equals(npwp.getName()) && npwp.getName().length() > 0)
                    multipart.addFormField("SETPNAME" + index, "1");
                else
                    multipart.addFormField("SETPNAME" + index, "0");

                if (npwp.getBxSortOrder() != npwp.getF1cSortOrder())
                    multipart.addFormField("SETSORT_ORDER" + index, "1");
                else
                    multipart.addFormField("SETSORT_ORDER" + index, "0");
                multipart.addFormField("SORT_ORDER" + index, "" + npwp.getF1cSortOrder());

            } catch (Exception ex) {
                try {
                    cbLogsFacade.insertLog("ERROR", "ERROR of postMultipartPrUpd set data",
                            "ERROR of postMultipartPrUpd set data " + ex);
                    return false;
                } catch (Exception lge) {

                }
            }

            index++;
        }

        try {
            if (logStr.length() > 0)
                cbLogsFacade.insertLog("INFO", "UPD PROD TO SEND ",
                        "<p style=\"font-size:10px !important;\">" + logStr + "</p>");
        } catch (Exception lgen) {
        }

        List<String> response = multipart.finish();

        for (String line : response) {
            sreply = sreply + line;
        }

        try {
            JsonReader jsonReader = Json.createReader(new StringReader(sreply));
            JsonObject jobject = jsonReader.readObject();
            try {
                cbLogsFacade.insertLog("INFO", "SUCCESS OF PARSE SERVER REPLY",
                        "SUCCESS OF PARSE SERVER REPLY=" + jobject.toString());
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_info", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_INFO", "SERVER REPLY DETAIL",
                            jobject.getString("critical_info", ""));
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_errs", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_ERRS", "SERVER REPLY DETAIL",
                            jobject.getString("critical_errs", ""));
            } catch (Exception lge) {

            }
        } catch (Exception pe) {
            try {
                cbLogsFacade.insertLog("ERROR", "ERROR OF PARSE SERVER REPLY",
                        "ERROR OF PARSE SERVER REPLY" + sreply);
            } catch (Exception lge) {

            }
        }

    } catch (Exception ex) {
        try {
            cbLogsFacade.insertLog("ERROR", "ERROR of postMultipartPrUpd",
                    logStr + " ERROR of postMultipartPrUpd " + ex.getMessage());
        } catch (Exception lge) {

        }
    }

    return reply;
}

From source file:wsserver.EKF1TimerSessionBean.java

private boolean postMultipartSectUpd(List<CbEkfgroupUpd1csectToBx> uswps) {
    String charset = "UTF-8";
    String requestURL = systemURL + "bitrix/ekflibraries/corpbus/manipulate_data.php";
    boolean reply = true;
    String sreply = "";

    if (uswps.isEmpty())
        return reply;
    long allFileSize = 0;

    String logStr = "Upd sect cnt=" + uswps.size() + ". ";
    CloseableHttpClient httpclient = HttpClients.createDefault();

    try {//from  w w  w  .  ja va2 s.  c  o  m
        MultipartUtility multipart = new MultipartUtility(requestURL, charset);
        HttpPost httppost = new HttpPost(requestURL);
        MultipartEntityBuilder reqBuilder = MultipartEntityBuilder.create();

        multipart.addHeaderField("User-Agent", "CodeJava");
        httppost.addHeader("User-Agent", "CodeJava");
        multipart.addHeaderField("Test-Header", "Header-Value");
        int index = 0;
        multipart.addFormField("OTYPE", "UPDATE");
        reqBuilder.addPart("OTYPE", new StringBody("UPDATE", ContentType.TEXT_PLAIN));
        multipart.addFormField("ENTITY", "1CSECT");
        reqBuilder.addPart("ENTITY", new StringBody("1CSECT", ContentType.TEXT_PLAIN));
        int ocnt = uswps.size();
        multipart.addFormField("OCNT", "" + ocnt);
        reqBuilder.addPart("OCNT", new StringBody("" + ocnt, ContentType.TEXT_PLAIN));
        //String logStr=""; 
        for (CbEkfgroupUpd1csectToBx npwp : uswps) {
            multipart.addFormField("SID" + index, npwp.getSid());
            reqBuilder.addPart("SID" + index, new StringBody(npwp.getSid(), ContentType.TEXT_PLAIN));
            //if(!npwp.getSid().equals(npwp.getCbBxgroupId()))
            //    multipart.addFormField("SETSID"+index, "1");
            //else
            //    multipart.addFormField("SETSID"+index, "0");
            //multipart.addFormField("NEWSID"+index, npwp.getCbBxgroupId());

            logStr += "[" + index + "] NAME " + npwp.getBxname() + "," + npwp.getF1cname() + ","
                    + npwp.getBxparentId() + "," + npwp.getF1cparentId();

            if (!npwp.getBxname().equals(npwp.getF1cname())) {
                multipart.addFormField("SETSNAME" + index, "1");
                reqBuilder.addPart("SETSNAME" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETSNAME" + index, "0");
                reqBuilder.addPart("SETSNAME" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            if (!npwp.getBxparentId().equals(npwp.getF1cparentId())) {
                multipart.addFormField("SETSGRXMLID" + index, "1");
                reqBuilder.addPart("SETSGRXMLID" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETSGRXMLID" + index, "0");
                reqBuilder.addPart("SETSGRXMLID" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("SNAME" + index, npwp.getF1cname());
            reqBuilder.addPart("SNAME" + index, new StringBody(npwp.getF1cname(), ContentType.TEXT_PLAIN));
            multipart.addFormField("SGRXMLID" + index, npwp.getF1cparentId());
            reqBuilder.addPart("SGRXMLID" + index,
                    new StringBody(npwp.getF1cparentId(), ContentType.TEXT_PLAIN));

            boolean error_file_operation = false, uploadFiles = true;
            long sectFilesSize = 0;
            boolean tooLargeDsc = false, tooLargeGb = false, tooLargeDoc = false;

            ArrayList<String> dscFiles = new ArrayList<String>();

            try {
                if (!npwp.getBxDescriptsJson().equals(npwp.getF1cDescriptsJson())) {
                    //logStr+="["+npwp.getF1cDescriptsJson()+"]";
                    JsonReader jsonReader = Json.createReader(new StringReader(npwp.getF1cDescriptsJson()));
                    JsonObject jo = jsonReader.readObject();

                    int dcount = 0;
                    logStr += "cnt=" + jo.getString("dc", "0");
                    for (int i = 0; i < Tools.parseInt(jo.getString("dc", "0"), 0); i++) {
                        logStr += ("[" + i + "]");
                        try {
                            if (jo.getString("fp" + i).length() > 0 && uploadFiles) {
                                File f = new File(mountImgPath + jo.getString("fp" + i).replace("\\", "/"));
                                if (f.length() <= maxPostedFileSize
                                        && ((allFileSize + sectFilesSize + f.length()) < maxPostFilePartSize)) {
                                    dscFiles.add(jo.getString("fp" + i).replace("\\", "/"));
                                    multipart.addFormField("FDSC" + index + "DSC" + dcount,
                                            jo.getString("dsc" + i));
                                    multipart.addFormField("FDSC" + index + "FN" + dcount,
                                            jo.getString("fn" + i));
                                    reqBuilder.addPart("FDSC" + index + "DSC" + dcount,
                                            new StringBody(jo.getString("dsc" + i), ContentType.TEXT_PLAIN));
                                    reqBuilder.addPart("FDSC" + index + "FN" + dcount,
                                            new StringBody(jo.getString("fn" + i), ContentType.TEXT_PLAIN));
                                    sectFilesSize += f.length();
                                    dcount++;
                                } else {
                                    tooLargeDsc = true;
                                    logStr += "Too large " + jo.getString("fp" + i);
                                }
                            }

                        } catch (Exception fle) {
                            //sectFilesSize=0;
                            error_file_operation = true;
                            logStr += ("NAME " + npwp.getF1cname() + " - Error dsc file operation!!! " + fle);
                        }

                    }

                    if (dcount > 0) {
                        multipart.addFormField("FDSCDC" + index, "" + dcount);
                        reqBuilder.addPart("FDSCDC" + index,
                                new StringBody("" + dcount, ContentType.TEXT_PLAIN));
                    }

                }
            } catch (Exception fle) {
                logStr += (npwp.getF1cname() + " Error F1cDescriptsJson parse operation!!! " + fle + "[["
                        + npwp.getF1cDescriptsJson() + "]]");
            }

            ArrayList<String> gbFiles = new ArrayList<String>();

            try {
                if (!npwp.getBxGabaritsJson().equals(npwp.getF1cGabaritsJson())) {
                    //logStr+="["+npwp.getF1cGabaritsJson()+"]";
                    JsonReader jsonReader = Json.createReader(new StringReader(npwp.getF1cGabaritsJson()));
                    JsonObject jo = jsonReader.readObject();

                    int dcount = 0;
                    logStr += "cnt=" + jo.getString("dc", "0");
                    for (int i = 0; i < Tools.parseInt(jo.getString("dc", "0"), 0); i++) {
                        logStr += ("[" + i + "]");
                        try {
                            if (jo.getString("fp" + i).length() > 0 && uploadFiles) {
                                File f = new File(mountImgPath + jo.getString("fp" + i).replace("\\", "/"));
                                if (f.length() <= maxPostedFileSize
                                        && ((allFileSize + sectFilesSize + f.length()) < maxPostFilePartSize)) {
                                    gbFiles.add(jo.getString("fp" + i).replace("\\", "/"));
                                    multipart.addFormField("FGB" + index + "DSC" + dcount,
                                            jo.getString("dsc" + i));
                                    multipart.addFormField("FGB" + index + "FN" + dcount,
                                            jo.getString("fn" + i));
                                    reqBuilder.addPart("FGB" + index + "DSC" + dcount,
                                            new StringBody(jo.getString("dsc" + i), ContentType.TEXT_PLAIN));
                                    reqBuilder.addPart("FGB" + index + "FN" + dcount,
                                            new StringBody(jo.getString("fn" + i), ContentType.TEXT_PLAIN));
                                    sectFilesSize += f.length();
                                    dcount++;
                                    logStr += "[=" + dcount + "=]";
                                } else {
                                    tooLargeGb = true;
                                    logStr += "Too large " + jo.getString("fp" + i);
                                }
                            }

                        } catch (Exception fle) {
                            //sectFilesSize=0;
                            error_file_operation = true;
                            logStr += ("NAME " + npwp.getF1cname() + " - Error dsc file operation!!! " + fle);
                        }

                    }

                    if (dcount > 0) {
                        multipart.addFormField("FGBDC" + index, "" + dcount);
                        reqBuilder.addPart("FGBDC" + index,
                                new StringBody("" + dcount, ContentType.TEXT_PLAIN));
                    }

                }
            } catch (Exception fle) {
                logStr += (npwp.getF1cname() + " Error F1cGabaritsJson parse operation!!! " + fle + "[["
                        + npwp.getF1cGabaritsJson() + "]]");
            }

            ArrayList<String> docFiles = new ArrayList<String>();

            try {
                if (!npwp.getBxDocsJson().equals(npwp.getF1cDocsJson())) {
                    //logStr+="["+npwp.getF1cDocsJson()+"]";
                    JsonReader jsonReader = Json.createReader(new StringReader(npwp.getF1cDocsJson()));
                    JsonObject jo = jsonReader.readObject();

                    int dcount = 0;
                    logStr += "cnt=" + jo.getString("dc", "0");
                    for (int i = 0; i < Tools.parseInt(jo.getString("dc", "0"), 0); i++) {
                        logStr += ("[" + i + "]");
                        try {
                            if (jo.getString("fp" + i).length() > 0 && uploadFiles) {
                                File f = new File(mountImgPath + jo.getString("fp" + i).replace("\\", "/"));
                                if (f.length() <= maxPostedDocFileSize
                                        && ((allFileSize + sectFilesSize + f.length()) < maxPostFilePartSize)) {
                                    docFiles.add(jo.getString("fp" + i).replace("\\", "/"));
                                    multipart.addFormField("FDOC" + index + "DSC" + dcount,
                                            jo.getString("dsc" + i));
                                    //logStr+=("FDOC"+index+"FN+"+dcount+"="+jo.getString("fn"+i));
                                    multipart.addFormField("FDOC" + index + "FN" + dcount,
                                            jo.getString("fn" + i));
                                    reqBuilder.addPart("FDOC" + index + "DSC" + dcount,
                                            new StringBody(jo.getString("dsc" + i), ContentType.TEXT_PLAIN));
                                    reqBuilder.addPart("FDOC" + index + "FN" + dcount,
                                            new StringBody(StringEscapeUtils.escapeJava(jo.getString("fn" + i)),
                                                    ContentType.TEXT_PLAIN));
                                    sectFilesSize += f.length();
                                    dcount++;
                                } else {
                                    tooLargeDoc = true;
                                    logStr += "Too large " + jo.getString("fp" + i);
                                }
                            }

                        } catch (Exception fle) {
                            //sectFilesSize=0;
                            error_file_operation = true;
                            logStr += ("NAME " + npwp.getF1cname() + " - Error doc file operation!!! " + fle);
                        }

                    }

                    if (dcount > 0) {
                        multipart.addFormField("FDOCDC" + index, "" + dcount);
                        reqBuilder.addPart("FDOCDC" + index,
                                new StringBody("" + dcount, ContentType.TEXT_PLAIN));
                    }

                }
            } catch (Exception fle) {
                logStr += (npwp.getF1cname() + " Error F1cDocsJson parse operation!!! " + fle + "[["
                        + npwp.getF1cDocsJson() + "]]");
            }

            try {
                if (npwp.getF1cPicture().length() > 0 && npwp.getBxPicture().length() == 0 && uploadFiles) {
                    File f = new File(mountImgPath + npwp.getF1cPicture().replace("\\", "/"));
                    if (f.length() <= maxPostedFileSize
                            && ((allFileSize + sectFilesSize + f.length()) < maxPostFilePartSize)) {
                        sectFilesSize += f.length();
                    }
                }
            } catch (Exception fle) {
                //sectFilesSize=0;
                error_file_operation = true;
                logStr += ("NAME " + npwp.getF1cname() + " - Error getF1cPicture file operation!!! " + fle);
            }

            try {

                if (npwp.getF1cMcatalog().length() > 0 && npwp.getBxMcatalog().length() == 0 && uploadFiles) {
                    File f = new File(mountImgPath + npwp.getF1cMcatalog().replace("\\", "/"));
                    if (f.length() <= maxPostedDocFileSize
                            && ((allFileSize + sectFilesSize + f.length()) < maxPostFilePartSize)) {
                        sectFilesSize += f.length();
                    }
                }

            } catch (Exception fle) {
                //sectFilesSize=0;
                error_file_operation = true;
                logStr += ("NAME " + npwp.getF1cname() + " - Error getF1cMcatalog file operation!!! " + fle);
            }

            if ((allFileSize + sectFilesSize) > maxPostFilePartSize) {
                logStr += ("NAME " + npwp.getF1cname() + " - too big sect files sizes summ!!!");
                //continue; 
            } else {
                if (!error_file_operation) {
                    try {
                        if (!npwp.getF1cPicture().equals(npwp.getBxPicture()) && uploadFiles) {
                            File f = new File(mountImgPath + npwp.getF1cPicture().replace("\\", "/"));
                            if (f.length() <= maxPostedFileSize
                                    && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                logStr += ",getF1cPicture " + npwp.getF1cPicture() + "fname=" + f.getName()
                                        + ",fpath=" + f.getPath() + ",flength=[" + f.length() + "]";
                                allFileSize += f.length();

                                try {
                                    BufferedImage originalImage = ImageIO.read(f);
                                    if ((originalImage.getHeight() > 400 || originalImage.getWidth() > 400)
                                            && false) {
                                        int type = originalImage.getType() == 0 ? BufferedImage.TYPE_INT_ARGB
                                                : originalImage.getType();
                                        BufferedImage resizeImageJpg = resizeImage(originalImage, type);

                                        logStr += "Not require resize";
                                        //multipart.addFilePart("PICTURE"+index, (resizeImageJpg) );
                                        //multipart.addFormField("SETPICTURE"+index, "1");
                                    } else {
                                        logStr += "Not require resize";
                                        multipart.addFilePart("PICTURE" + index, (f));
                                        multipart.addFormField("SETPICTURE" + index, "1");
                                        multipart.addFormField("PICTURE_PATH" + index,
                                                StringEscapeUtils.escapeJava(npwp.getF1cPicture()));
                                        reqBuilder.addPart("PICTURE" + index, new FileBody(f));
                                        reqBuilder.addPart("SETPICTURE" + index,
                                                new StringBody("1", ContentType.TEXT_PLAIN));
                                    }
                                } catch (Exception frle) {
                                    logStr += "Error resizing" + frle;
                                    multipart.addFilePart("PICTURE" + index, (f));
                                    multipart.addFormField("SETPICTURE" + index, "1");
                                    multipart.addFormField("PICTURE_PATH" + index,
                                            StringEscapeUtils.escapeJava(npwp.getF1cPicture()));
                                    reqBuilder.addPart("PICTURE" + index, new FileBody(f));
                                    reqBuilder.addPart("SETPICTURE" + index,
                                            new StringBody("1", ContentType.TEXT_PLAIN));
                                }
                            } else {
                                multipart.addFormField("SETPICTURE" + index, "0");
                                reqBuilder.addPart("SETPICTURE" + index,
                                        new StringBody("0", ContentType.TEXT_PLAIN));
                                logStr += ",getF1cPicture " + f.length() + " more "
                                        + maxPostedFileSize / 1000000 + "Mbytes or too big allFileSize";
                            }
                        }
                    } catch (Exception fle) {
                        error_file_operation = true;
                        logStr += ("NAME " + npwp.getF1cname() + " - Error getF1cPicture file operation!!! "
                                + fle);
                    }
                    try {
                        if (npwp.getF1cMcatalog().length() > 0 && npwp.getBxMcatalog().length() == 0
                                && uploadFiles) {
                            File f = new File(mountImgPath + npwp.getF1cMcatalog().replace("\\", "/"));
                            if (f.length() <= maxPostedDocFileSize
                                    && ((allFileSize + f.length()) < maxPostFilePartSize)) {
                                logStr += ",getF1cMcatalog " + npwp.getF1cMcatalog();
                                allFileSize += f.length();
                                multipart.addFilePart("MASTER_CATALOG" + index, (f));
                                multipart.addFormField("SETMASTER_CATALOG" + index, "1");
                                reqBuilder.addPart("MASTER_CATALOG" + index, new FileBody(f));
                                reqBuilder.addPart("SETMASTER_CATALOG" + index,
                                        new StringBody("1", ContentType.TEXT_PLAIN));
                            } else {
                                multipart.addFormField("SETMASTER_CATALOG" + index, "0");
                                reqBuilder.addPart("SETMASTER_CATALOG" + index,
                                        new StringBody("0", ContentType.TEXT_PLAIN));
                                logStr += ",getF1cMcatalog " + f.length() + " more "
                                        + maxPostedDocFileSize / 1000000 + "Mbytes or too big allFileSize";
                            }
                        }
                    } catch (Exception fle) {
                        error_file_operation = true;
                        logStr += ("NAME " + npwp.getF1cname() + " - Error getF1cMcatalog file operation!!! "
                                + fle);
                    }

                    int succFilesCount = 0;
                    for (int i = 0; i < dscFiles.size(); i++) {
                        try {
                            if (dscFiles.get(i).length() > 0 && uploadFiles) {
                                File f = new File(mountImgPath + dscFiles.get(i));
                                long lastFSize = 0;
                                lastFSize = f.length();
                                if (lastFSize <= maxPostedFileSize
                                        && ((allFileSize + lastFSize) < maxPostFilePartSize)) {
                                    logStr += ",dscFiles " + dscFiles.get(i);
                                    multipart.addFilePart("FDSC" + index + "FP" + i, (f));
                                    multipart.addFormField("FDSC" + index + "FPSET" + i, "1");
                                    reqBuilder.addPart("FDSC" + index + "FP" + i, new FileBody(f));
                                    reqBuilder.addPart("FDSC" + index + "FPSET" + i,
                                            new StringBody("1", ContentType.TEXT_PLAIN));
                                    succFilesCount++;
                                    allFileSize += lastFSize;
                                } else {
                                    //if(lastFSize>maxPostedFileSize)
                                    //    succFilesCount++;
                                    tooLargeDsc = true;
                                    multipart.addFormField("FDSC" + index + "FPSET" + i, "0");
                                    reqBuilder.addPart("FDSC" + index + "FPSET" + i,
                                            new StringBody("0", ContentType.TEXT_PLAIN));
                                    logStr += ",dscFiles " + f.length() + " more " + maxPostedFileSize / 1000000
                                            + "Mbytes or too big allFileSize";
                                }
                            }
                        } catch (Exception fle) {
                            tooLargeDsc = true;
                            error_file_operation = true;
                            logStr += ("NAME " + npwp.getF1cname() + " - Error dscFiles file operation!!! "
                                    + fle);
                        }

                    }

                    if (!tooLargeDsc) {
                        if ((dscFiles.size() <= 0)
                                || ((succFilesCount >= 1) && (succFilesCount >= (int) (dscFiles.size() / 2)))) {
                            if (!npwp.getBxDescriptsJson().equals(npwp.getF1cDescriptsJson())) {
                                multipart.addFormField("SETDESCRIPTS_JSON" + index, "1");
                                reqBuilder.addPart("SETDESCRIPTS_JSON" + index,
                                        new StringBody("1", ContentType.TEXT_PLAIN));
                            } else {
                                multipart.addFormField("SETDESCRIPTS_JSON" + index, "0");
                                reqBuilder.addPart("SETDESCRIPTS_JSON" + index,
                                        new StringBody("0", ContentType.TEXT_PLAIN));
                            }
                            multipart.addFormField("DESCRIPTS_JSON" + index,
                                    StringEscapeUtils.escapeJava(npwp.getF1cDescriptsJson()));
                            reqBuilder.addPart("DESCRIPTS_JSON" + index,
                                    new StringBody(StringEscapeUtils.escapeJava(npwp.getF1cDescriptsJson()),
                                            ContentType.TEXT_PLAIN));
                        } else
                            logStr += ("NAME " + npwp.getF1cname() + " - Error dscFiles count!!! ");
                    }

                    succFilesCount = 0;
                    for (int i = 0; i < gbFiles.size(); i++) {
                        try {
                            if (gbFiles.get(i).length() > 0 && uploadFiles) {
                                File f = new File(mountImgPath + gbFiles.get(i));
                                long lastFSize = 0;
                                lastFSize = f.length();
                                if (lastFSize <= maxPostedFileSize
                                        && ((allFileSize + lastFSize) < maxPostFilePartSize)) {
                                    logStr += ",gbFiles " + gbFiles.get(i);
                                    multipart.addFilePart("FGB" + index + "FP" + i, (f));
                                    multipart.addFormField("FGB" + index + "FPSET" + i, "1");
                                    reqBuilder.addPart("FGB" + index + "FP" + i, new FileBody(f));
                                    reqBuilder.addPart("FGB" + index + "FPSET" + i,
                                            new StringBody("1", ContentType.TEXT_PLAIN));
                                    succFilesCount++;
                                    allFileSize += lastFSize;
                                } else {
                                    //if(lastFSize>maxPostedFileSize)
                                    //    succFilesCount++;
                                    tooLargeGb = true;
                                    multipart.addFormField("FGB" + index + "FPSET" + i, "0");
                                    reqBuilder.addPart("FGB" + index + "FPSET" + i,
                                            new StringBody("0", ContentType.TEXT_PLAIN));
                                    logStr += ",gbFiles " + f.length() + " more " + maxPostedFileSize / 1000000
                                            + "Mbytes or too big allFileSize";
                                }
                            }
                        } catch (Exception fle) {
                            tooLargeGb = true;
                            error_file_operation = true;
                            logStr += ("NAME " + npwp.getF1cname() + " - Error gbrFiles file operation!!! "
                                    + fle);
                        }

                    }

                    if (!tooLargeGb) {
                        if ((gbFiles.size() <= 0)
                                || ((succFilesCount >= 1) && (succFilesCount >= (int) (gbFiles.size() / 2)))) {
                            if (!npwp.getBxGabaritsJson().equals(npwp.getF1cGabaritsJson())) {
                                multipart.addFormField("SETGABARITS_JSON" + index, "1");
                                reqBuilder.addPart("SETGABARITS_JSON" + index,
                                        new StringBody("1", ContentType.TEXT_PLAIN));
                            } else {
                                multipart.addFormField("SETGABARITS_JSON" + index, "0");
                                reqBuilder.addPart("SETGABARITS_JSON" + index,
                                        new StringBody("0", ContentType.TEXT_PLAIN));
                            }
                            multipart.addFormField("GABARITS_JSON" + index,
                                    StringEscapeUtils.escapeJava(npwp.getF1cGabaritsJson()));
                            reqBuilder.addPart("GABARITS_JSON" + index,
                                    new StringBody(StringEscapeUtils.escapeJava(npwp.getF1cGabaritsJson()),
                                            ContentType.TEXT_PLAIN));
                        } else
                            logStr += ("NAME " + npwp.getF1cname() + " - Error gbrFiles count!!! ");
                    }

                    succFilesCount = 0;
                    for (int i = 0; i < docFiles.size(); i++) {
                        try {
                            if (docFiles.get(i).length() > 0 && uploadFiles) {
                                File f = new File(mountImgPath + docFiles.get(i));
                                long lastFSize = 0;
                                lastFSize = f.length();
                                if (lastFSize <= maxPostedDocFileSize
                                        && ((allFileSize + lastFSize) < maxPostFilePartSize)) {
                                    logStr += ",docFiles " + docFiles.get(i);
                                    multipart.addFilePart("FDOC" + index + "FP" + i, (f));
                                    multipart.addFormField("FDOC" + index + "FPSET" + i, "1");
                                    reqBuilder.addPart("FDOC" + index + "FP" + i, new FileBody(f));
                                    reqBuilder.addPart("FDOC" + index + "FPSET" + i,
                                            new StringBody("1", ContentType.TEXT_PLAIN));
                                    succFilesCount++;
                                    allFileSize += lastFSize;
                                } else {
                                    //if(lastFSize>maxPostedFileSize)
                                    //    succFilesCount++;
                                    tooLargeDoc = true;
                                    multipart.addFormField("FDOC" + index + "FPSET" + i, "0");
                                    reqBuilder.addPart("FDOC" + index + "FPSET" + i,
                                            new StringBody("0", ContentType.TEXT_PLAIN));
                                    logStr += ",docFiles " + f.length() + " more "
                                            + maxPostedDocFileSize / 1000000 + "Mbytes or too big allFileSize";
                                }
                            }
                        } catch (Exception fle) {
                            tooLargeDoc = true;
                            error_file_operation = true;
                            logStr += ("NAME " + npwp.getF1cname() + " - Error docFiles file operation!!! "
                                    + fle);
                        }

                    }

                    if (!tooLargeDoc) {
                        if ((docFiles.size() <= 0)
                                || ((succFilesCount >= 1) && (succFilesCount >= (int) (docFiles.size() / 2)))) {
                            if (!npwp.getBxDocsJson().equals(npwp.getF1cDocsJson())) {
                                multipart.addFormField("SETDOCS_JSON" + index, "1");
                                reqBuilder.addPart("SETDOCS_JSON" + index,
                                        new StringBody("1", ContentType.TEXT_PLAIN));
                            } else {
                                multipart.addFormField("SETDOCS_JSON" + index, "0");
                                reqBuilder.addPart("SETDOCS_JSON" + index,
                                        new StringBody("0", ContentType.TEXT_PLAIN));
                            }
                            multipart.addFormField("DOCS_JSON" + index,
                                    StringEscapeUtils.escapeJava(npwp.getF1cDocsJson()));
                            reqBuilder.addPart("DOCS_JSON" + index,
                                    new StringBody(StringEscapeUtils.escapeJava(npwp.getF1cDocsJson()),
                                            ContentType.TEXT_PLAIN));
                        } else
                            logStr += ("NAME " + npwp.getF1cname() + " - Error docFiles count!!! ");
                    }

                }
            }

            if (npwp.getBxSortOrder() != npwp.getF1cSortOrder()) {
                multipart.addFormField("SETSORT_ORDER" + index, "1");
                reqBuilder.addPart("SETSORT_ORDER" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETSORT_ORDER" + index, "0");
                reqBuilder.addPart("SETSORT_ORDER" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("SORT_ORDER" + index, "" + npwp.getF1cSortOrder());
            reqBuilder.addPart("SORT_ORDER" + index,
                    new StringBody("" + npwp.getF1cSortOrder(), ContentType.TEXT_PLAIN));

            if (!npwp.getBxDescription().equals(npwp.getF1cDescription())) {
                multipart.addFormField("SETDESCRIPTION" + index, "1");
                reqBuilder.addPart("SETDESCRIPTION" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETDESCRIPTION" + index, "0");
                reqBuilder.addPart("SETDESCRIPTION" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("DESCRIPTION" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cDescription()));
            reqBuilder.addPart("DESCRIPTION" + index,
                    new StringBody("" + npwp.getF1cSortOrder(), ContentType.TEXT_PLAIN));

            if (!npwp.getBxFullDescription().equals(npwp.getF1cFullDescription())) {
                multipart.addFormField("SETFULL_DESCRIPTION" + index, "1");
                reqBuilder.addPart("SETFULL_DESCRIPTION" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETFULL_DESCRIPTION" + index, "0");
                reqBuilder.addPart("SETFULL_DESCRIPTION" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("FULL_DESCRIPTION" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cFullDescription()));
            reqBuilder.addPart("FULL_DESCRIPTION" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cFullDescription()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxTypeCompleting().equals(npwp.getF1cTypeCompleting())) {
                multipart.addFormField("SETTYPE_COMPLETING" + index, "1");
                reqBuilder.addPart("SETTYPE_COMPLETING" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETTYPE_COMPLETING" + index, "0");
                reqBuilder.addPart("SETTYPE_COMPLETING" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("TYPE_COMPLETING" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cTypeCompleting()));
            reqBuilder.addPart("TYPE_COMPLETING" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cTypeCompleting()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxCharGabarits().equals(npwp.getF1cCharGabarits())) {
                multipart.addFormField("SETCHAR_GABARITS" + index, "1");
                reqBuilder.addPart("SETCHAR_GABARITS" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETCHAR_GABARITS" + index, "0");
                reqBuilder.addPart("SETCHAR_GABARITS" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("CHAR_GABARITS" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cCharGabarits()));
            reqBuilder.addPart("CHAR_GABARITS" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cCharGabarits()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxShortDescription().equals(npwp.getF1cShortDescription())) {
                multipart.addFormField("SETSHORT_DESCRIPTION" + index, "1");
                reqBuilder.addPart("SETSHORT_DESCRIPTION" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETSHORT_DESCRIPTION" + index, "0");
                reqBuilder.addPart("SETSHORT_DESCRIPTION" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("SHORT_DESCRIPTION" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cShortDescription()));
            reqBuilder.addPart("SHORT_DESCRIPTION" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cShortDescription()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxDocumentation().equals(npwp.getF1cDocumentation())) {
                multipart.addFormField("SETDOCUMENTATION" + index, "1");
                reqBuilder.addPart("SETDOCUMENTATION" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETDOCUMENTATION" + index, "0");
                reqBuilder.addPart("SETDOCUMENTATION" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("DOCUMENTATION" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cDocumentation()));
            reqBuilder.addPart("DOCUMENTATION" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cDocumentation()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxVideoDescription().equals(npwp.getF1cVideoDescription())) {
                multipart.addFormField("SETVIDEO_DESCRIPTION" + index, "1");
                reqBuilder.addPart("SETVIDEO_DESCRIPTION" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETVIDEO_DESCRIPTION" + index, "0");
                reqBuilder.addPart("SETVIDEO_DESCRIPTION" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("VIDEO_DESCRIPTION" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cVideoDescription()));
            reqBuilder.addPart("VIDEO_DESCRIPTION" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cVideoDescription()), ContentType.TEXT_PLAIN));

            if (npwp.getBxCollapsevc() != npwp.getF1cCollapsevc()) {
                multipart.addFormField("SETCOLLAPSEVC" + index, "1");
                reqBuilder.addPart("SETCOLLAPSEVC" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETCOLLAPSEVC" + index, "0");
                reqBuilder.addPart("SETCOLLAPSEVC" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("COLLAPSEVC" + index,
                    StringEscapeUtils.escapeJava("" + npwp.getF1cCollapsevc()));
            reqBuilder.addPart("COLLAPSEVC" + index, new StringBody(
                    StringEscapeUtils.escapeJava("" + npwp.getF1cCollapsevc()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxAdvants().equals(npwp.getF1cAdvants())) {
                multipart.addFormField("SETADVANTS" + index, "1");
                reqBuilder.addPart("SETADVANTS" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETADVANTS" + index, "0");
                reqBuilder.addPart("SETADVANTS" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("ADVANTS" + index, StringEscapeUtils.escapeJava(npwp.getF1cAdvants()));
            reqBuilder.addPart("ADVANTS" + index,
                    new StringBody(StringEscapeUtils.escapeJava(npwp.getF1cAdvants()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxFilterProps().equals(npwp.getF1cFilterProps())) {
                multipart.addFormField("SETFILTER_PROPS" + index, "1");
                reqBuilder.addPart("SETFILTER_PROPS" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETFILTER_PROPS" + index, "0");
                reqBuilder.addPart("SETFILTER_PROPS" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("FILTER_PROPS" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cFilterProps()));
            reqBuilder.addPart("FILTER_PROPS" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cFilterProps()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxSeoAliasUrl().equals(npwp.getF1cSeoAliasUrl())
                    && npwp.getF1cSeoAliasUrl().length() > 3) {
                multipart.addFormField("SETSEO_ALIAS_URL" + index, "1");
                reqBuilder.addPart("SETSEO_ALIAS_URL" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETSEO_ALIAS_URL" + index, "0");
                reqBuilder.addPart("SETSEO_ALIAS_URL" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("SEO_ALIAS_URL" + index,
                    StringEscapeUtils.escapeJava(npwp.getF1cSeoAliasUrl()));
            reqBuilder.addPart("SEO_ALIAS_URL" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cSeoAliasUrl()), ContentType.TEXT_PLAIN));

            if (npwp.getBxSeoAliasUrl().length() <= 0 && npwp.getF1cSeoAliasUrl().length() <= 3
                    && npwp.getF1cname().length() > 0) {
                multipart.addFormField("SETSEO_ALIAS_URL_FROM_NAME" + index, "1");
                multipart.addFormField("SEO_ALIAS_URL_FROM_NAME" + index,
                        StringEscapeUtils.escapeJava(npwp.getF1cname()));
                reqBuilder.addPart("SETSEO_ALIAS_URL_FROM_NAME" + index,
                        new StringBody("1", ContentType.TEXT_PLAIN));
                reqBuilder.addPart("SEO_ALIAS_URL_FROM_NAME" + index, new StringBody(
                        StringEscapeUtils.escapeJava(npwp.getF1cname()), ContentType.TEXT_PLAIN));
            }

            if (!npwp.getBxSeoTitle().equals(npwp.getF1cSeoTitle())) {
                multipart.addFormField("SETSEO_TITLE" + index, "1");
                reqBuilder.addPart("SETSEO_TITLE" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETSEO_TITLE" + index, "0");
                reqBuilder.addPart("SETSEO_TITLE" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("SEO_TITLE" + index, StringEscapeUtils.escapeJava(npwp.getF1cSeoTitle()));
            reqBuilder.addPart("SEO_TITLE" + index, new StringBody(
                    StringEscapeUtils.escapeJava(npwp.getF1cSeoTitle()), ContentType.TEXT_PLAIN));

            if (!npwp.getBxSeoH1().equals(npwp.getF1cSeoH1())) {
                multipart.addFormField("SETSEO_H1" + index, "1");
                reqBuilder.addPart("SETSEO_H1" + index, new StringBody("1", ContentType.TEXT_PLAIN));
            } else {
                multipart.addFormField("SETSEO_H1" + index, "0");
                reqBuilder.addPart("SETSEO_H1" + index, new StringBody("0", ContentType.TEXT_PLAIN));
            }
            multipart.addFormField("SEO_H1" + index, StringEscapeUtils.escapeJava(npwp.getF1cSeoH1()));
            reqBuilder.addPart("SEO_H1" + index,
                    new StringBody(StringEscapeUtils.escapeJava(npwp.getF1cSeoH1()), ContentType.TEXT_PLAIN));

            index++;
        }

        try {
            if (logStr.length() > 0)
                cbLogsFacade.insertLog("INFO", "UPD SECT TO SEND ",
                        "<p style=\"font-size:10px !important;\">" + logStr + "</p>");
        } catch (Exception lgen) {
        }

        List<String> response = multipart.finish();

        for (String line : response) {
            sreply = sreply + line;
        }

        /*sreply = "{}";
                
        HttpEntity reqEntity = reqBuilder.build();
        httppost.setEntity(reqEntity);
                
        //System.out.println("executing request " + httppost.getRequestLine());
        try {
        CloseableHttpResponse clresponse = httpclient.execute(httppost);
        try {
            //System.out.println("----------------------------------------");
            //clresponse.getStatusLine();
            HttpEntity resEntity = clresponse.getEntity();
            if (resEntity != null) {
                //System.out.println("Response content length: " + resEntity.getContentLength());
                //resEntity.getContent(); resEntity.getContentEncoding()
                try {
                    String responseString = EntityUtils.toString(resEntity, "UTF-8");
                    sreply = responseString;
                    EntityUtils.consume(resEntity);
                } catch(Exception ee)   {
                            
                }
            }
                    
        } finally {
            try {
                clresponse.close();
            } catch(Exception ee)   {
                
            }
        }
        } catch(Exception ee)   {
                    
        }*/

        try {
            JsonReader jsonReader = Json.createReader(new StringReader(sreply));
            JsonObject jobject = jsonReader.readObject();
            try {
                cbLogsFacade.insertLog("INFO", "SUCCESS OF PARSE SERVER REPLY",
                        "SUCCESS OF PARSE SERVER REPLY=" + jobject.toString());
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_info", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_INFO", "SERVER REPLY DETAIL",
                            jobject.getString("critical_info", ""));
            } catch (Exception lge) {

            }
            try {
                if (jobject.getString("critical_errs", "").length() > 0)
                    cbLogsFacade.insertLog("CRITICAL_ERRS", "SERVER REPLY DETAIL",
                            jobject.getString("critical_errs", ""));
            } catch (Exception lge) {

            }
        } catch (Exception pe) {
            try {
                cbLogsFacade.insertLog("ERROR", "ERROR OF PARSE SERVER REPLY",
                        "ERROR OF PARSE SERVER REPLY" + sreply);
            } catch (Exception lge) {

            }
        }

    } catch (Exception ex) {
        try {
            cbLogsFacade.insertLog("ERROR", "ERROR of postMultipartSectUpd",
                    logStr + " ERROR of postMultipartSectUpd " + ex);
        } catch (Exception lge) {

        }
    }

    return reply;
}

From source file:fr.ortolang.diffusion.core.CoreServiceBean.java

@Override
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public String snapshotWorkspace(String wskey) throws CoreServiceException, KeyNotFoundException,
        AccessDeniedException, WorkspaceReadOnlyException, WorkspaceUnchangedException {
    LOGGER.log(Level.FINE, "snapshoting workspace [" + wskey + "]");
    try {//from  ww  w  . jav a  2  s . c o  m
        String caller = membership.getProfileKeyForConnectedIdentifier();
        List<String> subjects = membership.getConnectedIdentifierSubjects();

        OrtolangObjectIdentifier identifier = registry.lookup(wskey);
        checkObjectType(identifier, Workspace.OBJECT_TYPE);
        authorisation.checkPermission(wskey, subjects, "update");

        Workspace workspace = em.find(Workspace.class, identifier.getId());
        if (workspace == null) {
            throw new CoreServiceException(
                    "unable to load workspace with id [" + identifier.getId() + "] from storage");
        }
        if (applyReadOnly(caller, subjects, workspace)) {
            throw new WorkspaceReadOnlyException(
                    "unable to snapshot workspace with key [" + wskey + "] because it is read only");
        }

        String name = String.valueOf(workspace.getClock());

        if (!workspace.hasChanged()) {
            throw new WorkspaceUnchangedException(
                    "unable to snapshot because workspace has no pending modifications since last snapshot");
        }

        try {
            JsonObjectBuilder builder = Json.createObjectBuilder();
            builder.add("wskey", wskey);
            builder.add("snapshotName", name);
            builder.add("wsalias", workspace.getAlias());

            JsonObject jsonObject = builder.build();
            String hash = binarystore.put(new ByteArrayInputStream(jsonObject.toString().getBytes()));

            List<String> mds = findMetadataObjectsForTargetAndName(workspace.getHead(),
                    MetadataFormat.WORKSPACE);

            if (mds.isEmpty()) {
                LOGGER.log(Level.INFO, "creating workspace metadata for root collection");
                createMetadataObject(wskey, "/", MetadataFormat.WORKSPACE, hash, null, false);
            } else {
                LOGGER.log(Level.INFO, "updating workspace metadata for root collection");
                updateMetadataObject(wskey, "/", MetadataFormat.WORKSPACE, hash, null, false);
            }
        } catch (BinaryStoreServiceException | DataCollisionException | CoreServiceException
                | KeyNotFoundException | InvalidPathException | AccessDeniedException | MetadataFormatException
                | PathNotFoundException | KeyAlreadyExistsException e) {
            throw new CoreServiceException(
                    "cannot create workspace metadata for collection root : " + e.getMessage());
        }

        workspace.setKey(wskey);
        workspace.incrementClock();

        OrtolangObjectIdentifier hidentifier = registry.lookup(workspace.getHead());
        checkObjectType(hidentifier, Collection.OBJECT_TYPE);
        Collection collection = em.find(Collection.class, hidentifier.getId());
        if (collection == null) {
            throw new CoreServiceException(
                    "unable to load head collection with id [" + hidentifier.getId() + "] from storage");
        }
        collection.setKey(workspace.getHead());

        Collection clone = cloneCollection(workspace.getHead(), collection, workspace.getClock());

        workspace.addSnapshot(new SnapshotElement(name, collection.getKey()));
        workspace.setHead(clone.getKey());
        workspace.setChanged(false);
        em.merge(workspace);

        registry.update(wskey);

        ArgumentsBuilder argsBuilder = new ArgumentsBuilder(2).addArgument("ws-alias", workspace.getAlias())
                .addArgument("snapshot-name", name);
        notification.throwEvent(wskey, caller, Workspace.OBJECT_TYPE,
                OrtolangEvent.buildEventType(CoreService.SERVICE_NAME, Workspace.OBJECT_TYPE, "snapshot"),
                argsBuilder.build());
        return name;
    } catch (KeyLockedException | NotificationServiceException | RegistryServiceException
            | MembershipServiceException | AuthorisationServiceException | CloneException e) {
        ctx.setRollbackOnly();
        LOGGER.log(Level.SEVERE, "unexpected error occurred while snapshoting workspace", e);
        throw new CoreServiceException("unable to snapshot workspace with key [" + wskey + "]", e);
    }
}

From source file:org.opendaylight.centinel.output.CentinelOutput.java

@Override
public void write(Message message) throws Exception {

    JsonObject inputJson = null;
    String body;/*from w  ww. ja  va  2s. c o  m*/

    try {
        Schema schemaStream = ReflectData.get().getSchema(StreamPojo.class);
        GenericRecord avroRecordStream = new Record(schemaStream);
        Schema schemaRules = ReflectData.get().getSchema(RulesPojo.class);
        GenericRecord recordRules = new Record(schemaRules);
        Stream stream = message.getStreams().get(0);
        StreamPojo streamPojo = new StreamPojo(stream);
        avroRecordStream.put("creatoruserid", streamPojo.getCreatoruserid());
        avroRecordStream.put("matchingtype", streamPojo.getMatchingtype());
        avroRecordStream.put("description", streamPojo.getDescription());
        avroRecordStream.put("disabled", streamPojo.getDisabled());

        StreamRule streamRule = stream.getStreamRules().get(0);
        RulesPojo rule = new RulesPojo(streamRule);
        recordRules.put("field", rule.getField());
        recordRules.put("streamId", rule.getStreamId());
        recordRules.put("ruleId", rule.getId());
        recordRules.put("type", rule.getType());
        recordRules.put("inverted", rule.getInverted());
        recordRules.put("value", rule.getValue());

        avroRecordStream.put("rules", recordRules);
        avroRecordStream.put("streamId", streamPojo.getId());
        avroRecordStream.put("title", streamPojo.getTitle());

        MessagePojo messagePojo = new MessagePojo(message);
        Schema schemaMatchingMessage = ReflectData.get().getSchema(MessagePojo.class);
        GenericRecord recordMatchingMessage = new Record(schemaMatchingMessage);

        recordMatchingMessage.put("fields", messagePojo.getFields());
        recordMatchingMessage.put("id", messagePojo.getId());
        recordMatchingMessage.put("hostName", messagePojo.getHostName());
        recordMatchingMessage.put("sourceInetAddress", messagePojo.isSourceInetAddress());
        recordMatchingMessage.put("journalOffset", messagePojo.getJournalOffset());
        recordMatchingMessage.put("message", messagePojo.getMessage());
        recordMatchingMessage.put("source", messagePojo.getSource());
        recordMatchingMessage.put("sourceInput", messagePojo.getSourceInput());
        recordMatchingMessage.put("streams", avroRecordStream);
        recordMatchingMessage.put("timestamp", messagePojo.getTimestamp());
        recordMatchingMessage.put("validErrors", messagePojo.getValidErrors());

        body = recordMatchingMessage.toString();
        body = body.replace("timestamp", "event_timestamp");

        String regex = "([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9.]{6})Z";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(body);
        if (matcher.find()) {
            String str = "\"" + matcher.group() + "\"";
            str = str.replace("T", " ");
            str = str.replace("Z", "");
            body = body.replaceAll(regex, str);
        }

    } catch (Exception e) {
        throw e;
    }

    JsonBuilderFactory factory = Json.createBuilderFactory(null);
    inputJson = factory.createObjectBuilder()
            .add("input",
                    factory.createObjectBuilder().add("eventType", "stream").add("eventBodyType", "avro")
                            .add("eventBody", body).add("eventKeys",
                                    factory.createArrayBuilder().add("event_timestamp").add("streams:streamId")
                                            .add("fields:message").add("fields:facility").add("fields:severity")
                                            .add("fields:log_time").add("fields:hostname")))
            .build();

    final URL url;
    try {
        url = new URL("http://" + properties.getProperty("centinel_ip") + ":"
                + properties.getProperty("centinel_port") + "/restconf/operations/eventinput:notify-event");
    } catch (MalformedURLException e) {
        throw new AlarmCallbackException("Error while constructing URL of Slack API.", e);
    }

    // Create authentication string and encode it to Base64
    final String admin = "admin";
    String authStr = admin + ":" + admin;
    String encodedAuthStr = Base64.encodeBase64String(authStr.getBytes());

    try {
        // Create Http connection
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        // Set connection properties
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Authorization", "Basic " + encodedAuthStr);
        connection.setRequestProperty("Accept", MediaType.APPLICATION_JSON);
        connection.setRequestProperty("content-type", MediaType.APPLICATION_JSON);

        // Send post request
        connection.setDoOutput(true);
        OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
        out.write(inputJson.toString());
        out.flush();
        out.close();

        // Get the response from connection's inputStream
        connection.getInputStream();

    } catch (IOException e) {
        throw new AlarmCallbackException("Could not open connection to Centinel Rest API", e);
    }
}