private Cursor initServlet(HttpServletRequest request) { String element = request.getParameter("element"); String offsetString = request.getParameter("offset"); String reinit = request.getParameter("reinit"); String backend = request.getParameter("backend"); if (reinit != null) { log.info("Forcing reinitialization..."); Parametro parametro = new Parametro(ParameterService.ID_STARTUP_DATE); parameterService.persistParametro(parametro); } Long offset = null; try { if (StringUtils.isNotEmpty(offsetString)) { offset = Long.valueOf(offsetString); } } catch (NumberFormatException e) { log.error("Error getting offset cursor " + request.getParameter("offset")); } Cursor cursor = new Cursor(element, offset, StringUtils.isNotEmpty(backend)); log.info("Cursor: " + cursor.toString()); return cursor; }
private void startup(Cursor cursor) { try { final Date lastSystemRun = parameterService.getLastInitDate(); if (initializationNeeded(lastSystemRun)) { log.info("Init Incisos UEs UCCs..."); incisoUEUCCService.init(); log.info("Init Rubro..."); catalogService.initRubro(); log.info("Init RubroCatalogo..."); catalogService.initRubroCatalogo(); if (lastSystemRun == null) { log.info("Init Catalog..."); catalogService.initCatalog(cursor); } Date lastModifiedDate = Util.getLastModifiedDate(Util.CATALOG_SQL_URL); if (lastModifiedDate != null) { log.debug( "Last modified date for " + Util.CATALOG_SQL_URL + " is: " + Util.formatDate_DD_MM_YYYY_HH_MM(lastModifiedDate)); createCatalogBackendTask("medium-queue", lastModifiedDate); } else { log.error("Last modified date for " + Util.CATALOG_SQL_URL + " is null !"); } parameterService.setLastInitDate(new Date()); log.info("Date of initialization updated: " + parameterService.getLastInitDate()); } else { log.info("Date of last initialization: " + lastSystemRun + ", exiting initialization."); log.debug("Initializing memory cache..."); catalogService.initRubroCatalogo(); incisoUEUCCService.initIncisos(); incisoUEUCCService.initUEs(); incisoUEUCCService.initEstadoCompras(); incisoUEUCCService.initTiposCompra(); incisoUEUCCService.initSubTiposCompra(); incisoUEUCCService.initTipoResolucion(); // incisoUEUCCService.initMonedas(); } } catch (SystemException e) { log.error("Error on application startup...", e); } catch (QuotaException e) { log.error(e.getMessage(), e); createInitBackendTask("slow-queue", cursor); } }