Example usage for org.springframework.util StopWatch StopWatch

List of usage examples for org.springframework.util StopWatch StopWatch

Introduction

In this page you can find the example usage for org.springframework.util StopWatch StopWatch.

Prototype

public StopWatch() 

Source Link

Document

Construct a new StopWatch .

Usage

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;
}