How to use processRequest method of org.cerberus.servlet.crud.countryenvironment.UpdateCountryEnvParam class

Best Cerberus-source code snippet using org.cerberus.servlet.crud.countryenvironment.UpdateCountryEnvParam.processRequest

Source:UpdateCountryEnvParam.java Github

copy

Full Screen

...79 * @param response servlet response80 * @throws ServletException if a servlet-specific error occurs81 * @throws IOException if an I/O error occurs82 */83 protected void processRequest(HttpServletRequest request, HttpServletResponse response)84 throws ServletException, IOException, CerberusException, JSONException {85 JSONObject jsonResponse = new JSONObject();86 ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());87 Answer ans = new Answer();88 MessageEvent msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);89 msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", ""));90 ans.setResultMessage(msg);91 PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);92 String charset = request.getCharacterEncoding();93 ICountryEnvironmentDatabaseService cebService = appContext.getBean(ICountryEnvironmentDatabaseService.class);94 ICountryEnvironmentParametersService ceaService = appContext.getBean(ICountryEnvironmentParametersService.class);95 ICountryEnvDeployTypeService cedService = appContext.getBean(ICountryEnvDeployTypeService.class);96 ICountryEnvLinkService celService = appContext.getBean(ICountryEnvLinkService.class);97 response.setContentType("application/json");98 // Calling Servlet Transversal Util.99 ServletUtil.servletStart(request);100 /**101 * Parsing and securing all required parameters.102 */103 // Parameter that are already controled by GUI (no need to decode) --> We SECURE them104 String system = policy.sanitize(request.getParameter("system"));105 String country = policy.sanitize(request.getParameter("country"));106 String environment = policy.sanitize(request.getParameter("environment"));107 String type = policy.sanitize(request.getParameter("type"));108 String chain = policy.sanitize(request.getParameter("chain"));109 boolean maintenanceAct = ParameterParserUtil.parseBooleanParam(request.getParameter("maintenanceAct"), true);110 // Parameter that needs to be secured --> We SECURE+DECODE them111 String description = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("description"), "", charset);112 String maintenanceStr = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("maintenanceStr"), "01:00:00", charset);113 String maintenanceEnd = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("maintenanceEnd"), "01:00:00", charset);114 // Parameter that we cannot secure as we need the html --> We DECODE them115 String distribList = ParameterParserUtil.parseStringParamAndDecode(request.getParameter("distribList"), "", charset);116 String eMailBodyRevision = ParameterParserUtil.parseStringParamAndDecode(request.getParameter("eMailBodyRevision"), "", charset);117 String eMailBodyChain = ParameterParserUtil.parseStringParamAndDecode(request.getParameter("eMailBodyChain"), "", charset);118 String eMailBodyDisableEnvironment = ParameterParserUtil.parseStringParamAndDecode(request.getParameter("eMailBodyDisableEnvironment"), "", charset);119 // Getting list of database from JSON Call120 JSONArray objDatabaseArray = new JSONArray(request.getParameter("database"));121 List<CountryEnvironmentDatabase> cebList;122 cebList = getCountryEnvironmentDatabaseFromParameter(request, appContext, system, country, environment, objDatabaseArray);123 // Getting list of application from JSON Call124 JSONArray objApplicationArray = new JSONArray(request.getParameter("application"));125 List<CountryEnvironmentParameters> ceaList;126 ceaList = getCountryEnvironmentApplicationFromParameter(request, appContext, system, country, environment, objApplicationArray);127 // Getting list of database from JSON Call128 JSONArray objDeployTypeArray = new JSONArray(request.getParameter("deployType"));129 List<CountryEnvDeployType> cedList;130 cedList = getCountryEnvironmentDeployTypeFromParameter(request, appContext, system, country, environment, objDeployTypeArray);131 // Getting list of database from JSON Call132 JSONArray objDepArray = new JSONArray(request.getParameter("dependencies"));133 List<CountryEnvLink> celList;134 celList = getCountryEnvironmentLinkFromParameter(request, appContext, system, country, environment, objDepArray);135 // Prepare the final answer.136 MessageEvent msg1 = new MessageEvent(MessageEventEnum.GENERIC_OK);137 Answer finalAnswer = new Answer(msg1);138 /**139 * Checking all constrains before calling the services.140 */141 if (StringUtil.isNullOrEmpty(system)) {142 msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);143 msg.setDescription(msg.getDescription().replace("%ITEM%", OBJECT_NAME)144 .replace("%OPERATION%", "Update")145 .replace("%REASON%", "System is missing"));146 ans.setResultMessage(msg);147 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);148 } else if (StringUtil.isNullOrEmpty(country)) {149 msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);150 msg.setDescription(msg.getDescription().replace("%ITEM%", OBJECT_NAME)151 .replace("%OPERATION%", "Update")152 .replace("%REASON%", "Country is missing"));153 ans.setResultMessage(msg);154 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);155 } else if (StringUtil.isNullOrEmpty(environment)) {156 msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);157 msg.setDescription(msg.getDescription().replace("%ITEM%", OBJECT_NAME)158 .replace("%OPERATION%", "Update")159 .replace("%REASON%", "Environment is missing"));160 ans.setResultMessage(msg);161 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);162 } else {163 /**164 * All data seems cleans so we can call the services.165 */166 ICountryEnvParamService cepService = appContext.getBean(ICountryEnvParamService.class);167 AnswerItem resp = cepService.readByKey(system, country, environment);168 if (!(resp.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode()) && resp.getItem()!=null)) {169 /**170 * Object could not be found. We stop here and report the error.171 */172 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) resp);173 } else {174 /**175 * The service was able to perform the query and confirm the176 * object exist, then we can update it.177 */178 CountryEnvParam cepData = (CountryEnvParam) resp.getItem();179 cepData.setDescription(description);180 cepData.setDistribList(distribList);181 cepData.seteMailBodyRevision(eMailBodyRevision);182 cepData.setType(type);183 cepData.seteMailBodyChain(eMailBodyChain);184 cepData.seteMailBodyDisableEnvironment(eMailBodyDisableEnvironment);185 if (request.getParameter("maintenanceAct") != null) {186 cepData.setMaintenanceAct(maintenanceAct);187 }188 cepData.setMaintenanceStr(maintenanceStr);189 cepData.setMaintenanceEnd(maintenanceEnd);190 cepData.setChain(chain);191 ans = cepService.update(cepData);192 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);193 if (ans.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) {194 /**195 * Update was successful. Adding Log entry.196 */197 ILogEventService logEventService = appContext.getBean(LogEventService.class);198 logEventService.createForPrivateCalls("/UpdateCountryEnvParam", "UPDATE", "Updated CountryEnvParam : ['" + system + "','" + country + "','" + environment + "']", request);199 }200 // Update the Database with the new list.201 ans = cebService.compareListAndUpdateInsertDeleteElements(system, country, environment, cebList);202 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);203 // Update the Database with the new list.204 ans = ceaService.compareListAndUpdateInsertDeleteElements(system, country, environment, ceaList);205 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);206 // Update the Database with the new list.207 ans = cedService.compareListAndUpdateInsertDeleteElements(system, country, environment, cedList);208 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);209 // Update the Database with the new list.210 ans = celService.compareListAndUpdateInsertDeleteElements(system, country, environment, celList);211 finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);212 }213 }214 /**215 * Formating and returning the json result.216 */217 jsonResponse.put("messageType", finalAnswer.getResultMessage().getMessage().getCodeString());218 jsonResponse.put("message", finalAnswer.getResultMessage().getDescription());219 response.getWriter().print(jsonResponse);220 response.getWriter().flush();221 }222 private List<CountryEnvironmentDatabase> getCountryEnvironmentDatabaseFromParameter(HttpServletRequest request, ApplicationContext appContext, String system, String country, String environment, JSONArray json) throws JSONException {223 List<CountryEnvironmentDatabase> cebList = new ArrayList();224 IFactoryCountryEnvironmentDatabase cebFactory = appContext.getBean(IFactoryCountryEnvironmentDatabase.class);225 for (int i = 0; i < json.length(); i++) {226 JSONObject tcsaJson = json.getJSONObject(i);227 boolean delete = tcsaJson.getBoolean("toDelete");228 String database = tcsaJson.getString("database");229 String connectionPool = tcsaJson.getString("connectionPoolName");230 String soapUrl = tcsaJson.getString("soapUrl");231 String csvUrl = tcsaJson.getString("csvUrl");232 if (!delete) {233 CountryEnvironmentDatabase ceb = cebFactory.create(system, country, environment, database, connectionPool, soapUrl, csvUrl);234 cebList.add(ceb);235 }236 }237 return cebList;238 }239 private List<CountryEnvironmentParameters> getCountryEnvironmentApplicationFromParameter(HttpServletRequest request, ApplicationContext appContext, String system, String country, String environment, JSONArray json) throws JSONException {240 List<CountryEnvironmentParameters> ceaList = new ArrayList();241 ICountryEnvironmentParametersService ceaService = appContext.getBean(ICountryEnvironmentParametersService.class);242 IFactoryCountryEnvironmentParameters ceaFactory = appContext.getBean(IFactoryCountryEnvironmentParameters.class);243 for (int i = 0; i < json.length(); i++) {244 JSONObject tcsaJson = json.getJSONObject(i);245 boolean delete = tcsaJson.getBoolean("toDelete");246 String application = tcsaJson.getString("application");247 String ip = tcsaJson.getString("ip");248 String domain = tcsaJson.getString("domain");249 String url = tcsaJson.getString("url");250 String urlLogin = tcsaJson.getString("urlLogin");251 String var1 = tcsaJson.getString("var1");252 String var2 = tcsaJson.getString("var2");253 String var3 = tcsaJson.getString("var3");254 String var4 = tcsaJson.getString("var4");255 String strPoolSize = tcsaJson.getString("poolSize");256 int poolSize;257 if (strPoolSize.isEmpty()) {258 poolSize = CountryEnvironmentParameters.DEFAULT_POOLSIZE;259 }260 else {261 try {262 poolSize = Integer.parseInt(strPoolSize);263 } catch (NumberFormatException e) {264 LOG.warn("Unable to parse pool size: " + strPoolSize + ". Applying default value");265 poolSize = CountryEnvironmentParameters.DEFAULT_POOLSIZE;266 }267 }268 if (!delete) {269 CountryEnvironmentParameters cea = ceaFactory.create(system, country, environment, application, ip, domain, url, urlLogin, var1, var2, var3, var4, poolSize);270 ceaList.add(cea);271 }272 }273 return ceaList;274 }275 private List<CountryEnvDeployType> getCountryEnvironmentDeployTypeFromParameter(HttpServletRequest request, ApplicationContext appContext, String system, String country, String environment, JSONArray json) throws JSONException {276 List<CountryEnvDeployType> cedList = new ArrayList();277 IFactoryCountryEnvDeployType cedFactory = appContext.getBean(IFactoryCountryEnvDeployType.class);278 for (int i = 0; i < json.length(); i++) {279 JSONObject tcsaJson = json.getJSONObject(i);280 boolean delete = tcsaJson.getBoolean("toDelete");281 String deployType = tcsaJson.getString("deployType");282 String jenkinsAgent = tcsaJson.getString("jenkinsAgent");283 if (!delete) {284 CountryEnvDeployType ced = cedFactory.create(system, country, environment, deployType, jenkinsAgent);285 cedList.add(ced);286 }287 }288 return cedList;289 }290 private List<CountryEnvLink> getCountryEnvironmentLinkFromParameter(HttpServletRequest request, ApplicationContext appContext, String system, String country, String environment, JSONArray json) throws JSONException {291 List<CountryEnvLink> ceiList = new ArrayList();292 IFactoryCountryEnvLink ceiFactory = appContext.getBean(IFactoryCountryEnvLink.class);293 for (int i = 0; i < json.length(); i++) {294 JSONObject tcsaJson = json.getJSONObject(i);295 boolean delete = tcsaJson.getBoolean("toDelete");296 String systemLink = tcsaJson.getString("systemLink");297 String countryLink = tcsaJson.getString("countryLink");298 String environmentLink = tcsaJson.getString("environmentLink");299 if (!delete) {300 CountryEnvLink cei = ceiFactory.create(system, country, environment, systemLink, countryLink, environmentLink);301 ceiList.add(cei);302 }303 }304 return ceiList;305 }306 // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">307 /**308 * Handles the HTTP <code>GET</code> method.309 *310 * @param request servlet request311 * @param response servlet response312 * @throws ServletException if a servlet-specific error occurs313 * @throws IOException if an I/O error occurs314 */315 @Override316 protected void doGet(HttpServletRequest request, HttpServletResponse response)317 throws ServletException, IOException {318 try {319 processRequest(request, response);320 } catch (CerberusException ex) {321 LOG.warn(ex);322 } catch (JSONException ex) {323 LOG.warn(ex);324 }325 }326 /**327 * Handles the HTTP <code>POST</code> method.328 *329 * @param request servlet request330 * @param response servlet response331 * @throws ServletException if a servlet-specific error occurs332 * @throws IOException if an I/O error occurs333 */334 @Override335 protected void doPost(HttpServletRequest request, HttpServletResponse response)336 throws ServletException, IOException {337 try {338 processRequest(request, response);339 } catch (CerberusException ex) {340 LOG.warn(ex);341 } catch (JSONException ex) {342 LOG.warn(ex);343 }344 }345 /**346 * Returns a short description of the servlet.347 *348 * @return a String containing servlet description349 */350 @Override351 public String getServletInfo() {352 return "Short description";...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Cerberus-source automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful