List of usage examples for javax.json JsonObject toString
@Override String toString();
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); } }