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

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

Introduction

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

Prototype

public static final String escapeJava(final String input) 

Source Link

Document

Escapes the characters in a String using Java String rules.

Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)

So a tab becomes the characters '\\' and 't' .

The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote and forward-slash (/) are escaped.

Example:

 input string: He didn't say, "Stop!" 

Usage

From source file:ubic.basecode.ontology.search.OntologySearch.java

/**
 * Will remove characters that jena is unable to parse. Will also escape and remove leading and trailing white space
 * (which also causes jena to die)//from w  w w  .  j  a  v a  2s  .  co  m
 *
 * @param  toStrip the string to clean
 * @return
 */
public static String stripInvalidCharacters(String toStrip) {
    String result = StringUtils.strip(toStrip);
    for (char badChar : INVALID_CHARS) {
        result = StringUtils.remove(result, badChar);
    }
    /*
     * Queries cannot start with '*' or ?
     */
    result = result.replaceAll("^\\**", "");
    result = result.replaceAll("^\\?*", "");

    return StringEscapeUtils.escapeJava(result).trim();
}

From source file:ubic.gemma.core.search.SearchServiceImpl.java

/**
 * @return results, if the settings.termUri is populated. This includes gene uris.
 *///from w w  w  . j a va  2 s.co  m
private Map<Class<?>, List<SearchResult>> ontologyUriSearch(SearchSettings settings) {
    Map<Class<?>, List<SearchResult>> results = new HashMap<>();

    // 1st check to see if the query is a URI (from an ontology).
    // Do this by seeing if we can find it in the loaded ontologies.
    // Escape with general utilities because might not be doing a lucene backed search. (just a hibernate one).
    String termUri = settings.getTermUri();

    if (StringUtils.isBlank(termUri)) {
        termUri = settings.getQuery();
    }

    if (!termUri.startsWith("http://")) {
        return results;
    }

    OntologyTerm matchingTerm;
    String uriString;

    uriString = StringEscapeUtils.escapeJava(StringUtils.strip(termUri));

    if (StringUtils.containsIgnoreCase(uriString, SearchServiceImpl.NCBI_GENE)) {
        // Perhaps is a valid gene URL. Want to search for the gene in gemma.
        // 1st get objects tagged with the given gene identifier
        Collection<Class<?>> classesToFilterOn = new HashSet<>();
        classesToFilterOn.add(ExpressionExperiment.class);

        Collection<Characteristic> foundCharacteristics = characteristicService.findByUri(classesToFilterOn,
                uriString);
        Map<Characteristic, Object> parentMap = characteristicService.getParents(classesToFilterOn,
                foundCharacteristics);

        Collection<SearchResult> characteristicOwnerResults = this
                .filterCharacteristicOwnersByClass(classesToFilterOn, parentMap);

        if (!characteristicOwnerResults.isEmpty()) {
            results.put(ExpressionExperiment.class, new ArrayList<SearchResult>());
            results.get(ExpressionExperiment.class).addAll(characteristicOwnerResults);
        }

        if (settings.getSearchGenes()) {
            // Get the gene
            String ncbiAccessionFromUri = StringUtils.substringAfterLast(uriString, "/");
            Gene g = null;

            try {
                g = geneService.findByNCBIId(Integer.parseInt(ncbiAccessionFromUri));
            } catch (NumberFormatException e) {
                // ok
            }

            if (g != null) {
                results.put(Gene.class, new ArrayList<SearchResult>());
                results.get(Gene.class).add(new SearchResult(g));
            }
        }
        return results;
    }

    /*
     * Not searching for a gene.
     */
    Collection<SearchResult> matchingResults;
    Collection<Class<?>> classesToSearch = new HashSet<>();
    if (settings.getSearchExperiments()) {
        classesToSearch.add(ExpressionExperiment.class); // not sure ...
        classesToSearch.add(BioMaterial.class);
        classesToSearch.add(FactorValue.class);
    }

    // this doesn't seem to be implemented yet, LiteratureEvidence and GenericEvidence aren't handled in the
    // fillValueObjects method downstream
    /*
     * if ( settings.getSearchPhenotypes() ) { classesToSearch.add( PhenotypeAssociation.class ); }
     */
    matchingTerm = this.ontologyService.getTerm(uriString);
    if (matchingTerm == null || matchingTerm.getUri() == null) {
        /*
         * Maybe the ontology isn't loaded. Look anyway.
         */
        Map<Characteristic, Object> parentMap = characteristicService.getParents(classesToSearch,
                characteristicService.findByUri(classesToSearch, uriString));
        matchingResults = this.filterCharacteristicOwnersByClass(classesToSearch, parentMap);

    } else {

        SearchServiceImpl.log.info("Found ontology term: " + matchingTerm);

        // Was a URI from a loaded ontology soo get the children.
        Collection<OntologyTerm> terms2Search4 = matchingTerm.getChildren(true);
        terms2Search4.add(matchingTerm);

        matchingResults = this.databaseCharacteristicExactUriSearchForOwners(classesToSearch, terms2Search4);
    }

    for (SearchResult searchR : matchingResults) {
        if (results.containsKey(searchR.getResultClass())) {
            results.get(searchR.getResultClass()).add(searchR);
        } else {
            List<SearchResult> rs = new ArrayList<>();
            rs.add(searchR);
            results.put(searchR.getResultClass(), rs);
        }
    }

    return results;
}

From source file:ubic.gemma.web.controller.common.auditAndSecurity.FileUploadController.java

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) {

    /*//ww  w .j a v  a  2 s  .c om
     * At this point, the DispatcherServlet has already dealt with the multipart file via the
     * CommonsMultipartMonitoredResolver.
     */

    if (!(request instanceof MultipartHttpServletRequest)) {
        return null;
    }

    Map<String, Object> model = new HashMap<>();

    if (request instanceof FailedMultipartHttpServletRequest) {
        String errorMessage = ((FailedMultipartHttpServletRequest) request).getErrorMessage();
        model.put("success", false);
        model.put("error", errorMessage);
    } else {

        MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> fileMap = mrequest.getFileMap();

        if (fileMap.size() > 1) {
            FileUploadController.log.error("Attempted to upload multiple files, returning error");
            model.put("success", false);
            model.put("error", "Sorry, can't upload more than one file at a time yet");
        }

        for (String key : fileMap.keySet()) {
            MultipartFile multipartFile = fileMap.get(key);
            File copiedFile = null;
            try {
                copiedFile = FileUploadUtil.copyUploadedFile(multipartFile, request);
                FileUploadController.log.info("Uploaded file: " + copiedFile);
                model.put("success", true);
                model.put("localFile", StringEscapeUtils.escapeJava(copiedFile.getAbsolutePath()));
                model.put("originalFile", multipartFile.getOriginalFilename());
                model.put("size", multipartFile.getSize());

            } catch (Exception e) {
                FileUploadController.log.error("Error in upload: " + e.getMessage(), e);
                model.put("success", false);
                model.put("error", e.getMessage());
            }

            if (copiedFile == null) {
                FileUploadController.log.error("Error in upload: unknown problem getting file");
                model.put("success", false);
                model.put("error", "unknown problem getting file");
            }

        }
    }

    return new ModelAndView(new JSONView("text/html; charset=utf-8"), model);
}

From source file:ubic.gemma.web.services.rest.AnnotationsWebService.java

/**
 * Finds characteristics by either a plain text or URI.
 *
 * @param arg the array arg containing all the strings to search for.
 * @return a collection of characteristics matching the input query.
 */// ww w. java  2  s  .c o m
private Collection<AnnotationSearchResultValueObject> getTerms(ArrayStringArg arg) {
    Collection<AnnotationSearchResultValueObject> vos = new LinkedList<>();
    for (String query : arg.getValue()) {
        query = query.trim();
        if (query.startsWith(AnnotationsWebService.URL_PREFIX)) {
            this.addAsSearchResults(vos, characteristicService.loadValueObjects(
                    characteristicService.findByUri(StringEscapeUtils.escapeJava(StringUtils.strip(query)))));
        } else {
            this.addAsSearchResults(vos, ontologyService.findExperimentsCharacteristicTags(query, true));
        }
    }
    return vos;
}

From source file:utils.AccessLogger.java

/**
 * Double-quote the given string or return "-" if it is null.
 *
 * @param value - the String to be double-quoted
 * @return the double-quoted string, {@code "-"} if null String input
 *///from  w  w  w  .ja  v a  2s.co  m
static private String quotedOrHyphen(String value) {
    if (value == null) {
        return "-";
    } else {
        return "\"" + StringEscapeUtils.escapeJava(value) + "\"";
    }
}

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. ja  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", "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 {/*www . j a  v  a2s  . 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;
}