List of usage examples for org.springframework.util StopWatch StopWatch
public StopWatch()
From source file:io.mandrel.worker.Loop.java
@Override public void run() { while (true) { try {//from w ww . jav a2 s .c o m if (!run.get()) { log.trace("Waiting..."); try { TimeUnit.MILLISECONDS.sleep(2000); } catch (InterruptedException e) { // Don't care log.trace("", e); } continue; } log.trace("> Asking for uri..."); Next next = clients.onRandomFrontier().map(frontier -> frontier.next(spider.getId())).get(20000, TimeUnit.MILLISECONDS); Uri uri = next.getUri(); if (uri != null) { log.trace("> Getting uri {} !", uri); // StopWatch watch = new StopWatch(); watch.start(); // Optional<Requester<? extends Strategy>> requester = Requesters.of(spider.getId(), uri.getScheme()); if (requester.isPresent()) { Requester<? extends Strategy> r = requester.get(); Blob blob = null; try { blob = processBlob(uri, watch, r); } catch (Exception t) { // TODO create and use internal exception instead... if (t instanceof ConnectTimeoutException) { spiderAccumulator.incConnectTimeout(); add(spider.getId(), uri); } else if (t instanceof ReadTimeoutException) { spiderAccumulator.incReadTimeout(); add(spider.getId(), uri); } else { log.debug("Error while looping", t); } } finally { barrier.passOrWait( blob != null && blob.getMetadata() != null ? blob.getMetadata().getSize() : null); } } else { // TODO Unknown protocol log.debug("Unknown protocol, can not find requester for '{}'", uri.getScheme()); } } else { log.trace("Frontier returned null Uri, waiting"); try { TimeUnit.MILLISECONDS.sleep(10000); } catch (InterruptedException e) { // Don't care log.trace("", e); } } } catch (RemoteException e) { switch (e.getError()) { case G_UNKNOWN: log.warn("Got a problem, waiting 2 sec...", e); try { TimeUnit.MILLISECONDS.sleep(2000); } catch (InterruptedException ie) { // Don't care log.trace("", ie); } } } catch (Exception e) { log.warn("Got a problem, waiting 2 sec...", e); try { TimeUnit.MILLISECONDS.sleep(2000); } catch (InterruptedException ie) { // Don't care log.trace("", ie); } } } }
From source file:no.abmu.abmstatistikk.annualstatistic.service.hibernate2.AnnualStatisticServiceHelper.java
protected ReportStatus[] getReportStatusBySchemaTypeAndYear( List<OrganisationUnitForBrowsing> orgUnitsForBrodwsing, String schemaTypeName, int reportYear) { StopWatch stopWatch = new StopWatch(); stopWatch.start();/*w ww .j a va2s .c o m*/ List<ReportStatus> reportStatusAsList = new ArrayList<ReportStatus>(); String finishFieldNumber = getFinishFieldNumberForSchemaTypeAndReportYear(schemaTypeName, reportYear); for (OrganisationUnitForBrowsing orgForBrowse : orgUnitsForBrodwsing) { Report report = service.getReport(orgForBrowse.getOrganisationUnitId(), schemaTypeName, reportYear, false); reportStatusAsList.add(createReportStatus(orgForBrowse, report, finishFieldNumber)); } stopWatch.stop(); logger.info("Finish prosessing of reportStatus for schemaType:" + schemaTypeName + " with " + orgUnitsForBrodwsing.size() + " elements in " + stopWatch.getTotalTimeMillis() + " ms"); return reportStatusAsList.toArray(new ReportStatus[reportStatusAsList.size()]); }
From source file:no.abmu.abmstatistikk.annualstatistic.service.hibernate2.AnnualStatisticServiceHelper.java
private ReportStatus[] getReportStatusBySchemaTypeAndYear(ReportStatus[] reportStatusSurvey, String schemaTypeName, int reportYear) { StopWatch stopWatch = new StopWatch(); Long orgUnitId;//w w w .j ava 2s . c om ReportStatus reportStatus; String reportFinish; Report report; ReportHelper reportHelper; Answer answer; String reportFinishAnswer; int numberOfReports = reportStatusSurvey.length; String finishFieldNumber = getFinishFieldNumberForSchemaTypeAndReportYear(schemaTypeName, reportYear); if (numberOfReports > 1) { logger.info("Start prosessing of reportStatus for schemaType:" + schemaTypeName + " with " + numberOfReports + " elements"); } stopWatch.start("getReportStatusBySchemaTypeAndYear"); for (int row = 0; row < reportStatusSurvey.length; row++) { reportStatus = reportStatusSurvey[row]; orgUnitId = reportStatus.getOrganisationUnitId(); StopWatch stopWatchForGetReport = new StopWatch(); stopWatchForGetReport.start("test"); report = service.getReport(orgUnitId.longValue(), schemaTypeName, reportYear, false); stopWatchForGetReport.stop(); logger.info("Getting report for organisationUnitId: '" + orgUnitId + "' and schemaType: " + schemaTypeName + " tok [" + stopWatchForGetReport.getTotalTimeMillis() + "] ms"); if (report != null) { // reportStatus.setReport("Ja"); StopWatch stopWatchForCreatingReportHelper = new StopWatch(); stopWatchForCreatingReportHelper.start("ReportHelper"); reportHelper = new ReportHelper(report); answer = reportHelper.getAnswerByFieldName(finishFieldNumber); stopWatchForCreatingReportHelper.stop(); logger.info("Getting reportHelper and answer for organisationUnitId: '" + orgUnitId + "' and schemaType: " + schemaTypeName + " tok [" + stopWatchForCreatingReportHelper.getTotalTimeMillis() + "] ms"); if (answer != null) { reportFinishAnswer = answer.getValue(); if (reportFinishAnswer != null) { reportFinish = (reportFinishAnswer.equals("true") ? "Ja" : "Nei"); // reportStatus.setReportFinish(reportFinish); } } } if (((row + 1) % 100) == 0) { logger.info("Has processed reportStatus " + (row + 1) + " of " + numberOfReports + " for schemaType:" + schemaTypeName); } } stopWatch.stop(); if (numberOfReports > 1) { logger.info("Finish prosessing of reportStatus for schemaType:" + schemaTypeName + " with " + numberOfReports + " elements in " + stopWatch.getTotalTimeMillis() + " ms"); } return reportStatusSurvey; }
From source file:no.abmu.abmstatistikk.annualstatistic.webflow.AnnualStatisticFormAction.java
protected Object createFormObject(RequestContext context) { if (logger.isDebugEnabled()) { logger.debug("Executing createFormObject"); }/*from ww w . j a va 2s . co m*/ StopWatch stopWatch = new StopWatch(); stopWatch.start("createFormObject"); WebSchemaDefinition webSchema = webFlowService.createWebSchema(context); String submitEvent = context.getRequestParameters().get("_eventId_submit.y"); if (submitEvent == null) { // Getting values from database into webSchema // and show these values to user // e.g. webSchema --> formObject to user if (logger.isDebugEnabled()) { logger.debug("[createFormObject] submitEvent == null (webSchema --> formObject to user) "); } } else { // Getting values from user and sending user input // to binding and eventually validation. // e.g. webSchema --> formObject from user if (logger.isDebugEnabled()) { logger.debug("[createFormObject] submitEvent != null (webSchema --> formObject from user)"); } } webFlowService.databaseValuesToWebSchema(webSchema); stopWatch.stop(); logger.info("[createFormObject] tok [" + stopWatch.getTotalTimeMillis() + "] ms"); return webSchema; }
From source file:no.abmu.abmstatistikk.annualstatistic.webflow.hibernate2.WebFlowServiceImpl.java
/** * Getting values from webSchema to an new databaseSchema, e.g. values from * user input to database schema.//from w w w . ja v a 2 s. c om * * @param webFlowValidator - WebFlowValidator validator. * @param webSchemaDefinition - webSchema * @return - SchemaReport database schema. */ public SchemaReport webSchemaValuesToDataBaseSchema(WebFlowValidator webFlowValidator, WebSchemaDefinition webSchema) { Assert.checkRequiredArgument("webFlowValidator", webFlowValidator); Assert.checkRequiredArgument("webSchema", webSchema); if (logger.isDebugEnabled()) { logger.debug("Executing webSchemaValuesToDataBaseSchema with parameters, WebFlowValidator='" + webFlowValidator + ", WebSchemaDefinition='" + webSchema + "'"); } StopWatch stopWatch = new StopWatch(); stopWatch.start("webSchemaValuesToDataBaseSchema"); int notPassedValidation = 0; Object dataBaseSchema = getDatabaseSchema(webSchema); // Set up validation keys webFlowValidator.computeValidateFieldKeys(); Set<String> validateFieldKeys = webFlowValidator.getValidateFieldKeys(); if (logger.isDebugEnabled()) { for (String validateFieldKey : validateFieldKeys) { logger.debug("FieldKey to be validated='" + validateFieldKey + "'"); } } for (String fieldNumberAsString : validateFieldKeys) { String methodGetFieldName = "getField" + fieldNumberAsString; String methodGetCommentName = "getComment" + fieldNumberAsString; String value = (String) MethodUtil.getValueOfPublicMethod(webSchema, methodGetFieldName); String comment = (String) MethodUtil.getValueOfPublicMethod(webSchema, methodGetCommentName); Answer answer = (Answer) MethodUtil.getValueOfPublicMethod(dataBaseSchema, methodGetFieldName); answer.setValue(value); answer.setComment(comment); answer.setPassedvalidation(notPassedValidation); if (logger.isDebugEnabled()) { Answer newAnswer = (Answer) MethodUtil.getValueOfPublicMethod(dataBaseSchema, methodGetFieldName); logger.debug("Field '" + fieldNumberAsString + "' method get name '" + methodGetFieldName + "' web value '" + value + "' web comment '" + comment + "'"); logger.debug("Field '" + fieldNumberAsString + "' validation '" + answer.getPassedvalidation() + "' new db value '" + newAnswer.getValue() + "' new db comment '" + newAnswer.getComment() + "'"); } } SchemaReport schemaReport = (SchemaReport) dataBaseSchema; stopWatch.stop(); logger.info("[private:webSchemaValuesToDataBaseSchema] tok [" + stopWatch.getTotalTimeMillis() + "] ms"); return schemaReport; }
From source file:no.abmu.abmstatistikk.annualstatistic.webflow.hibernate2.WebFlowServiceImpl.java
/** * Getting database schema and values from database. * //from ww w. ja v a 2s. co m * @param webSchema - WebSchemaDefinition, schema which specify database * schema and version. * @return - Database schema with values fram database. */ private Object getDatabaseSchema(WebSchemaDefinition webSchema) { if (logger.isDebugEnabled()) { logger.debug("Executing getDatabaseSchema"); } Assert.checkRequiredArgument("webSchema", webSchema); StopWatch stopWatch = new StopWatch(); stopWatch.start("getDatabaseSchema"); Long id = webSchema.getId().longValue(); String dataBaseSchemaName = webSchema.getDataBaseSchemaName(); String dataBaseSchemaVersion = webSchema.getDataBaseSchemaVersion(); Integer year = Integer.valueOf(dataBaseSchemaVersion); Assert.assertNotNull("OrganisationUnitId was null ", id); Assert.assertNotNull("DataBaseSchemaTypeName was null ", dataBaseSchemaName); Assert.assertNotNull("SchemaVersion was null ", dataBaseSchemaVersion); Report report = annualStatisticService.getReport(id, dataBaseSchemaName, year.intValue(), true); SchemaReport schemaReport; if (report == null) { logger.error("Couldn't find report for schema " + dataBaseSchemaName + " for Organisation " + id); throw new IllegalArgumentException( "Couldn't find report for schema " + dataBaseSchemaName + " for Organisation " + id); } else { schemaReport = new SchemaReport(report); } Object dataBaseSchema; if (dataBaseSchemaName.equals(SchemaTypeNameConst.FOLKEBIBLIOTEK_SHORT_NAME)) { dataBaseSchema = new FolkeBibScreen(schemaReport.getReport()); } else { throw new SchemaTypeNameNotFoundException(dataBaseSchemaName); } stopWatch.stop(); logger.info("[getDatabaseSchema] tok [" + stopWatch.getTotalTimeMillis() + "] ms"); return dataBaseSchema; }
From source file:no.abmu.abmstatistikk.annualstatistic.webflow.HighSchoolLibraryValidator.java
public void validateAndSave(Object obj, Errors errors) { if (logger.isDebugEnabled()) { logger.debug("Executing validateAndSave"); }/*from w w w. j a v a 2s . c o m*/ StopWatch stopWatch = new StopWatch(); stopWatch.start("validateAndSave"); SchemaReport schemaReport = webFlowService.webSchemaValuesToDataBaseSchema(this, (WebSchemaDefinition) obj); FolkeBibScreen folkeBibScreen = new FolkeBibScreen(schemaReport.getReport()); super.validate(folkeBibScreen, errors); // Has to be super or else endless loop. webFlowService.saveDataBaseSchemaIfNoError(folkeBibScreen, errors); stopWatch.stop(); logger.info("[validateAndSave] tok [" + stopWatch.getTotalTimeMillis() + "] ms"); }
From source file:no.abmu.abmstatistikk.web.ABMStatistikkCommentReportController.java
/** * Custom handler handleCommentReportPrimarySchoolExcelFile. * //www. j a v a 2 s .co m * @param request current HTTP request * @param response current HTTP response * @return a ModelAndView to render the response * @throws ServletException */ public ModelAndView handleCommentReportPrimarySchoolExcelFile(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.info(" XXXXXXXXXXXXXXXXXXX createMAVOrganisationTypeAndSchemaToFile: START "); StopWatch stopWatch = new StopWatch(); stopWatch.start("handleCommentReportPrimarySchoolExcelFile"); // OrganisationType String organisationType = OrganisationTypeNameConst.PRIMARY_SCHOOL_LIBRARY; // Schema SchemaTypeNameAndVersion schemaTypeNameAndVersion = SchemaTypeNameAndVersion .newInstance(SchemaName.PRIMARY_SCHOOL_LIBRARY_STATISTIC, STATISTICAL_YEAR); // View String viewName = "grunnskoleBibCommentsReportXlsViewToFile"; ModelAndView mav = commentReportData(organisationType, schemaTypeNameAndVersion, viewName); stopWatch.stop(); logger.info("[private:handleCommentReportPrimarySchoolExcelFile] tok [" + stopWatch.getTotalTimeMillis() + "] ms"); logger.info(" XXXXXXXXXXXXXXXXXXX handleCommentReportPrimarySchoolExcelFile: STOP "); return mav; }
From source file:no.abmu.abmstatistikk.web.ABMStatistikkCommentReportController.java
/** * Custom handler handleCommentReportHighSchoolLibrariesExcelFile. * /* w w w .jav a 2 s.com*/ * @param request current HTTP request * @param response current HTTP response * @return a ModelAndView to render the response * @throws ServletException */ public ModelAndView handleCommentReportHighSchoolLibrariesExcelFile(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.info(" XXXXXXXXXXXXXXXXXXX handleCommentReportHighSchoolLibrariesExcelFile: START "); StopWatch stopWatch = new StopWatch(); stopWatch.start("handleCommentReportHighSchoolLibrariesExcelFile"); // OrganisationType String organisationType = OrganisationTypeNameConst.HIGH_SCHOOL_LIBRARY; // Schema SchemaTypeNameAndVersion schemaTypeNameAndVersion = SchemaTypeNameAndVersion .newInstance(SchemaName.HIGH_SCHOOL_LIBRARY_STATISTIC, STATISTICAL_YEAR); // View String viewName = "vgsBibCommentsReportXlsViewToFile"; ModelAndView mav = commentReportData(organisationType, schemaTypeNameAndVersion, viewName); stopWatch.stop(); logger.info("[private:handleCommentReportHighSchoolLibrariesExcelFile] tok [" + stopWatch.getTotalTimeMillis() + "] ms"); logger.info(" XXXXXXXXXXXXXXXXXXX handleCommentReportHighSchoolLibrariesExcelFile: FINISH "); return mav; }
From source file:no.abmu.abmstatistikk.web.AbstractReportController.java
protected ModelAndView createMAVForOrganisationUnit(HttpServletRequest request, String view, SchemaTypeNameAndVersion schemaTypeNameAndVersion) { Assert.checkRequiredArgument("request", request); Assert.checkRequiredArgument("view", view); Assert.checkRequiredArgument("schemaTypeAndName", schemaTypeNameAndVersion); StopWatch stopWatch = new StopWatch(); stopWatch.start("private_createMAVForOrganisationUnit"); if (noLoggedOnStatusInfo(request)) { logger.error("No loggedOnStatus exists, logout."); return new ModelAndView(ViewNameConst.LOGOFF_VIEW); }//from w w w . j a va 2s . c o m Long workingSchemaOrgUnitId = changeWorkingSchemaOrgUnitIdOrGetCurrent(request); if (workingSchemaOrgUnitId == null) { logger.error("No workingSchemaOrgUnitId or LoggedOnOrgUnitId exists, log off"); return new ModelAndView(ViewNameConst.LOGOFF_VIEW); } // String schemaVersion = Integer.toString(reportPeriod); OrgUnitFinderSpecificationBean finderBean = new OrgUnitFinderSpecificationBean(); finderBean.setOrganisationUnitId(workingSchemaOrgUnitId); SchemaList jasperReportDataSource = reportService.createFullReportData(finderBean, schemaTypeNameAndVersion); if (schemaTypeNameAndVersion.getYear() >= 2009 && schemaTypeNameAndVersion.getSchemaName().equals(SchemaName.KUD_CULTURAL_ACTIVITY_REPORT)) { int reportPeriod = schemaTypeNameAndVersion.getYear(); int oneYearBack = reportPeriod - 1; String prefixOneYearBack = "LastYear"; SchemaTypeNameAndVersion kudActivitySchemaAndVersionOneYearBack = SchemaTypeNameAndVersion .newInstance(SchemaName.KUD_CULTURAL_ACTIVITY_REPORT, oneYearBack); reportService.getReportDataForOrganisationUnits(jasperReportDataSource, kudActivitySchemaAndVersionOneYearBack, prefixOneYearBack); int twoYearBack = reportPeriod - 2; String prefixTwoYearBack = "YearBeforeLastYear"; SchemaTypeNameAndVersion kudActivitySchemaAndVersionTwoYearBack = SchemaTypeNameAndVersion .newInstance(SchemaName.KUD_CULTURAL_ACTIVITY_REPORT, twoYearBack); reportService.getReportDataForOrganisationUnits(jasperReportDataSource, kudActivitySchemaAndVersionTwoYearBack, prefixTwoYearBack); } SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); SchemaPdfLogo pdfLogo = SchemaPdfLogo.newInstance(schemaTypeNameAndVersion); Locale locale = sessionLocaleResolver.resolveLocale(request); logger.info("We are using locale=[" + locale.toString() + "]"); int reportPeriod = schemaTypeNameAndVersion.getYear(); Map<String, Object> model = new HashMap<String, Object>(); model.put("logourl", pdfLogo.getLogoUrl()); model.put("logoheight", pdfLogo.getLogoHeight()); model.put("logowidth", pdfLogo.getLogoWidth()); model.put("reportData", jasperReportDataSource); model.put("abmstatistikk.reportPeriod", Integer.toString(reportPeriod)); model.put("abmstatistikk.budgetYear", Integer.toString(reportPeriod + 1)); model.put(JRParameter.REPORT_LOCALE, locale); ModelAndView mav = new ModelAndView(view, model); stopWatch.stop(); if (logger.isDebugEnabled()) { logger.debug("[private:createMAVForOrganisationUnit] tok[" + stopWatch.getTotalTimeMillis() + "] ms"); } return mav; }