How to use findDistinctValuesOfColumn method of org.cerberus.servlet.crud.transversaltables.ReadParameter class

Best Cerberus-source code snippet using org.cerberus.servlet.crud.transversaltables.ReadParameter.findDistinctValuesOfColumn

Source:ReadParameter.java Github

copy

Full Screen

...99 if (request.getParameter("param") == null && Strings.isNullOrEmpty(columnName)) {100 answer = findParameterList(system1, appContext, userHasPermissions, request);101 jsonResponse = (JSONObject) answer.getItem();102 } else if (!Strings.isNullOrEmpty(columnName)) {103 answer = findDistinctValuesOfColumn(system1, appContext, request, columnName);104 jsonResponse = (JSONObject) answer.getItem();105 } else {106 answer = findParameterBySystemByKey(system1, request.getParameter("param"), userHasPermissions, appContext);107 jsonResponse = (JSONObject) answer.getItem();108 }109 jsonResponse.put("messageType", answer.getResultMessage().getMessage().getCodeString());110 jsonResponse.put("message", answer.getResultMessage().getDescription());111 jsonResponse.put("sEcho", echo);112 response.getWriter().print(jsonResponse.toString());113 } catch (JSONException e) {114 LOG.warn(e);115 //returns a default error message with the json format that is able to be parsed by the client-side116 response.getWriter().print(AnswerUtil.createGenericErrorAnswer());117 }118 }119 /**120 * Handles the HTTP <code>GET</code> method.121 *122 * @param request servlet request123 * @param response servlet response124 * @throws ServletException if a servlet-specific error occurs125 * @throws IOException if an I/O error occurs126 */127 @Override128 protected void doGet(HttpServletRequest request, HttpServletResponse response)129 throws ServletException, IOException {130 try {131 processRequest(request, response);132 } catch (CerberusException ex) {133 LOG.warn(ex);134 }135 }136 /**137 * Handles the HTTP <code>POST</code> method.138 *139 * @param request servlet request140 * @param response servlet response141 * @throws ServletException if a servlet-specific error occurs142 * @throws IOException if an I/O error occurs143 */144 @Override145 protected void doPost(HttpServletRequest request, HttpServletResponse response)146 throws ServletException, IOException {147 try {148 processRequest(request, response);149 } catch (CerberusException ex) {150 LOG.warn(ex);151 }152 }153 private AnswerItem findParameterList(String system1, ApplicationContext appContext, boolean userHasPermissions, HttpServletRequest request) throws JSONException {154 AnswerItem item = new AnswerItem();155 JSONObject object = new JSONObject();156 parameterService = appContext.getBean(ParameterService.class);157 int startPosition = Integer.valueOf(ParameterParserUtil.parseStringParam(request.getParameter("iDisplayStart"), "0"));158 int length = Integer.valueOf(ParameterParserUtil.parseStringParam(request.getParameter("iDisplayLength"), "0"));159 /*int sEcho = Integer.valueOf(request.getParameter("sEcho"));*/160 String searchParameter = ParameterParserUtil.parseStringParam(request.getParameter("sSearch"), "");161 int columnToSortParameter = Integer.parseInt(ParameterParserUtil.parseStringParam(request.getParameter("iSortCol_0"), "2"));162 String sColumns = ParameterParserUtil.parseStringParam(request.getParameter("sColumns"), "para,valC,valS,descr");163 String columnToSort[] = sColumns.split(",");164 String columnName = columnToSort[columnToSortParameter];165 String sort = ParameterParserUtil.parseStringParam(request.getParameter("sSortDir_0"), "asc");166 List<String> individualLike = new ArrayList(Arrays.asList(ParameterParserUtil.parseStringParam(request.getParameter("sLike"), "").split(",")));167 Map<String, List<String>> individualSearch = new HashMap<>();168 for (int a = 0; a < columnToSort.length; a++) {169 if (null != request.getParameter("sSearch_" + a) && !request.getParameter("sSearch_" + a).isEmpty()) {170 List<String> search = new ArrayList(Arrays.asList(request.getParameter("sSearch_" + a).split(",")));171 if(individualLike.contains(columnToSort[a])) {172 individualSearch.put(columnToSort[a]+":like", search);173 }else {174 individualSearch.put(columnToSort[a], search);175 } 176 }177 }178 AnswerList resp = parameterService.readWithSystem1BySystemByCriteria("", system1, startPosition, length, columnName, sort, searchParameter, individualSearch);179 JSONArray jsonArray = new JSONArray();180 if (resp.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) {//the service was able to perform the query, then we should get all values181 for (Parameter param : (List<Parameter>) resp.getDataList()) {182 param = parameterService.secureParameter(param);183 jsonArray.put(convertParameterToJSONObject(param));184 }185 }186 object.put("hasPermissions", userHasPermissions);187 object.put("contentTable", jsonArray);188 object.put("iTotalRecords", resp.getTotalRows());189 object.put("iTotalDisplayRecords", resp.getTotalRows());190 item.setItem(object);191 item.setResultMessage(resp.getResultMessage());192 return item;193 }194 private AnswerItem findParameterBySystemByKey(String system1, String key, Boolean userHasPermissions, ApplicationContext appContext) throws JSONException {195 AnswerItem item = new AnswerItem();196 JSONObject object = new JSONObject();197 parameterService = appContext.getBean(ParameterService.class);198 AnswerItem answer = parameterService.readWithSystem1ByKey("", key, system1);199 Parameter p = null;200 if (answer.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) {//the service was able to perform the query, then we should get all values201 p = (Parameter) answer.getItem();202 JSONObject response = convertParameterToJSONObject(parameterService.secureParameter(p));203 object.put("contentTable", response);204 }205 object.put("hasPermissions", userHasPermissions);206 object.put("isSecured", parameterService.isToSecureParameter(p));207 object.put("isSystemManaged", parameterService.isSystemManaged(p));208 item.setItem(object);209 item.setResultMessage(answer.getResultMessage());210 return item;211 }212 private JSONObject convertParameterToJSONObject(Parameter parameter) throws JSONException {213 Gson gson = new Gson();214 JSONObject result = new JSONObject(gson.toJson(parameter));215 return result;216 }217 private AnswerItem findDistinctValuesOfColumn(String system, ApplicationContext appContext, HttpServletRequest request, String columnName) throws JSONException {218 AnswerItem answer = new AnswerItem();219 JSONObject object = new JSONObject();220 parameterService = appContext.getBean(IParameterService.class);221 String searchParameter = ParameterParserUtil.parseStringParam(request.getParameter("sSearch"), "");222 String sColumns = ParameterParserUtil.parseStringParam(request.getParameter("sColumns"), "para,valC,valS,descr");223 String columnToSort[] = sColumns.split(",");224 List<String> individualLike = new ArrayList(Arrays.asList(ParameterParserUtil.parseStringParam(request.getParameter("sLike"), "").split(",")));225 Map<String, List<String>> individualSearch = new HashMap<>();226 for (int a = 0; a < columnToSort.length; a++) {227 if (null != request.getParameter("sSearch_" + a) && !request.getParameter("sSearch_" + a).isEmpty()) {228 List<String> search = new ArrayList(Arrays.asList(request.getParameter("sSearch_" + a).split(",")));229 if(individualLike.contains(columnToSort[a])) {230 individualSearch.put(columnToSort[a]+":like", search);231 }else {...

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