Example usage for org.apache.commons.lang3.time StopWatch toSplitString

List of usage examples for org.apache.commons.lang3.time StopWatch toSplitString

Introduction

In this page you can find the example usage for org.apache.commons.lang3.time StopWatch toSplitString.

Prototype

public String toSplitString() 

Source Link

Document

Gets a summary of the split time that the stopwatch recorded as a string.

Usage

From source file:broadwick.stochastic.StochasticSimulator.java

/**
 * Start the simulation with the given {@link SimulationController}.
 *//*from   w  w w. j ava  2s  . c  o  m*/
public final void run() {

    try {
        // If we haven't set a controller for the process then set the default one with a max time of 5
        // (unknonw  units).
        if (controller == null) {
            controller = new DefaultController(5);
        }

        init();

        // tell our observers that the simulation has started
        for (Observer observer : observers) {
            observer.started();
        }

        final StopWatch sw = new StopWatch();
        sw.start();
        while (controller.goOn(this)) {

            // The performStep() method is implemented by the specifc stochastic algorithm (e.g. Gillespie's)
            performStep();

            //amountManager.doHouseKeeping();

            // tell our observers that the step has been completed.
            for (Observer observer : observers) {
                observer.step();
            }
            sw.split();
            log.trace("Performed step in {}", sw.toSplitString());
        }

        // tell our observers that the simulation has finished.
        for (Observer observer : observers) {
            observer.finished();
        }
    } catch (Exception e) {
        log.error("Error running stochastic simulation. {}", Throwables.getStackTraceAsString(e));
        throw e;
    }
}

From source file:com.github.naoghuman.testdata.abclist.service.TopicService.java

@Override
protected Task<Void> createTask() {
    return new Task<Void>() {
        {//from www . j a  v a  2  s .  c  o m
            updateProgress(0, saveMaxEntities);
        }

        @Override
        protected Void call() throws Exception {
            LoggerFacade.getDefault().deactivate(Boolean.TRUE);

            final StopWatch stopWatch = new StopWatch();
            stopWatch.start();

            final CrudService crudService = DatabaseFacade.getDefault().getCrudService(entityName);
            long id = -1_000_000_000L + DatabaseFacade.getDefault().getCrudService().count(entityName);
            for (int index = 0; index < saveMaxEntities; index++) {
                final Topic topic = ModelProvider.getDefault().getTopic(id++,
                        TestdataGenerator.getDefault().getUniqueTitles(index));
                topic.setDescription(TestdataGenerator.getDefault().getDescription());
                topic.setGenerationTime(TopicService.this.createGenerationTime());

                crudService.create(topic);
                updateProgress(index, saveMaxEntities);
            }

            LoggerFacade.getDefault().deactivate(Boolean.FALSE);
            stopWatch.split();
            LoggerFacade.getDefault().debug(this.getClass(),
                    "  + " + stopWatch.toSplitString() + " for " + saveMaxEntities + " Topics."); // NOI18N
            stopWatch.stop();

            return null;
        }
    };
}

From source file:com.github.naoghuman.testdata.abclist.service.TermService.java

@Override
protected Task<Void> createTask() {
    return new Task<Void>() {
        {// www .  ja  va  2s . c  o m
            updateProgress(0, saveMaxEntities);
        }

        @Override
        protected Void call() throws Exception {
            LoggerFacade.getDefault().deactivate(Boolean.TRUE);

            final StopWatch stopWatch = new StopWatch();
            stopWatch.start();

            final CrudService crudService = DatabaseFacade.getDefault().getCrudService(entityName);
            long id = -1_000_000_000L + DatabaseFacade.getDefault().getCrudService().count(entityName);
            for (int index = 0; index < saveMaxEntities; index++) {
                final Term term = ModelProvider.getDefault()
                        .getTerm(TestdataGenerator.getDefault().getUniqueTitles(index));
                term.setId(id++);
                term.setDescription(TestdataGenerator.getDefault().getDescription());
                term.setGenerationTime(TermService.this.createGenerationTime());

                crudService.create(term);
                updateProgress(index, saveMaxEntities);
            }

            LoggerFacade.getDefault().deactivate(Boolean.FALSE);
            stopWatch.split();
            LoggerFacade.getDefault().debug(this.getClass(),
                    "  + " + stopWatch.toSplitString() + " for " + saveMaxEntities + " Terms."); // NOI18N
            stopWatch.stop();

            return null;
        }
    };
}

From source file:com.github.naoghuman.testdata.abclist.service.LinkService.java

@Override
protected Task<Void> createTask() {
    return new Task<Void>() {
        {/*from   w  w w .j a v  a 2  s . c o m*/
            updateProgress(0, saveMaxEntities);
        }

        @Override
        protected Void call() throws Exception {
            LoggerFacade.getDefault().deactivate(Boolean.TRUE);

            final StopWatch stopWatch = new StopWatch();
            stopWatch.start();

            final CrudService crudService = DatabaseFacade.getDefault().getCrudService(entityName);
            long id = -1_000_000_000L + DatabaseFacade.getDefault().getCrudService().count(entityName);
            for (int index = 0; index < saveMaxEntities; index++) {
                final Link link = ModelProvider.getDefault().getLink();
                link.setAlias("Google " + id); // NOI18N
                link.setDescription(TestdataGenerator.getDefault().getDescription());
                link.setFavorite(TestdataGenerator.RANDOM.nextDouble() < 0.01d);
                link.setGenerationTime(LinkService.this.createGenerationTime());
                link.setId(id++);
                link.setImage("image-name"); // NOI18N // TODO add real image name
                link.setMarkAsChanged(false);
                link.setUrl("https:////www.google.com"); // NOI18N

                crudService.create(link);
                updateProgress(index, saveMaxEntities);
            }

            LoggerFacade.getDefault().deactivate(Boolean.FALSE);
            stopWatch.split();
            LoggerFacade.getDefault().debug(this.getClass(),
                    "  + " + stopWatch.toSplitString() + " for " + saveMaxEntities + " Links."); // NOI18N
            stopWatch.stop();

            return null;
        }
    };
}

From source file:com.github.naoghuman.testdata.abclist.service.ExerciseTermService.java

@Override
protected Task<Void> createTask() {
    return new Task<Void>() {
        {// ww  w  .j a  v a2s . co m
            updateProgress(0, saveMaxEntities);
        }

        @Override
        protected Void call() throws Exception {
            LoggerFacade.getDefault().deactivate(Boolean.TRUE);

            final StopWatch stopWatch = new StopWatch();
            stopWatch.start();

            final ObservableList<Topic> topics = SqlProvider.getDefault().findAllTopics();
            final ObservableList<Term> terms = SqlProvider.getDefault().findAllTerms();
            final int sizeTerms = terms.size();
            final AtomicInteger index = new AtomicInteger(0);

            final CrudService crudService = DatabaseFacade.getDefault().getCrudService(entityName);
            final AtomicLong id = new AtomicLong(
                    -1_000_000_000L + DatabaseFacade.getDefault().getCrudService().count(entityName));
            topics.stream().forEach(topic -> {
                final ObservableList<Exercise> exercises = SqlProvider.getDefault()
                        .findAllExercisesWithTopicId(topic.getId());
                exercises.stream().filter(exercise -> exercise.isReady()).forEach(exercise -> {
                    final int maxExerciseTerms = TestdataGenerator.RANDOM.nextInt(70) + 10;
                    for (int i = 0; i < maxExerciseTerms; i++) {
                        final Term term = terms.get(TestdataGenerator.RANDOM.nextInt(sizeTerms));
                        final ExerciseTerm exerciseTerm = ModelProvider.getDefault().getExerciseTerm();
                        exerciseTerm.setExerciseId(exercise.getId());
                        exerciseTerm.setId(id.getAndIncrement());
                        exerciseTerm.setTermId(term.getId());

                        crudService.create(exerciseTerm);
                    }
                });

                updateProgress(index.getAndIncrement(), saveMaxEntities);
            });

            LoggerFacade.getDefault().deactivate(Boolean.FALSE);
            stopWatch.split();
            LoggerFacade.getDefault().debug(this.getClass(),
                    "  + " + stopWatch.toSplitString() + " for " + saveMaxEntities + " ExerciseTerms."); // NOI18N
            stopWatch.stop();

            return null;
        }
    };
}

From source file:com.github.naoghuman.testdata.abclist.service.ExerciseService.java

@Override
protected Task<Void> createTask() {
    return new Task<Void>() {
        {/*from  w  ww . ja  v  a 2  s.co m*/
            updateProgress(0, saveMaxEntities);
        }

        @Override
        protected Void call() throws Exception {
            LoggerFacade.getDefault().deactivate(Boolean.TRUE);

            final StopWatch stopWatch = new StopWatch();
            stopWatch.start();

            final ObservableList<Topic> topics = SqlProvider.getDefault().findAllTopics();
            final int removeMaxTopics = (int) (Double.parseDouble(String.valueOf(topics.size())) * 0.001d);
            for (int counter = removeMaxTopics; counter > 0; counter--) {
                topics.remove(TestdataGenerator.RANDOM.nextInt(topics.size()));
            }
            final int sizeTopics = topics.size();

            final CrudService crudService = DatabaseFacade.getDefault().getCrudService(entityName);
            final ETime[] times = ETime.values();
            final int sizeTimes = times.length;
            long id = -1_000_000_000L + DatabaseFacade.getDefault().getCrudService().count(entityName);
            for (int index = 0; index < saveMaxEntities; index++) {
                final Exercise exercise = ModelProvider.getDefault().getExercise();
                exercise.setChoosenTime((times[TestdataGenerator.RANDOM.nextInt(sizeTimes)]).toString());
                exercise.setConsolidated(false); // TODO later ?
                exercise.setFinishedTime(ExerciseService.this.createGenerationTime());
                exercise.setGenerationTime(ExerciseService.this.createGenerationTime());
                if (exercise.getGenerationTime() > exercise.getFinishedTime()) {
                    final long generationTime = exercise.getGenerationTime();
                    final long finishedTime = exercise.getFinishedTime();
                    exercise.setGenerationTime(finishedTime);
                    exercise.setFinishedTime(generationTime);
                }
                exercise.setId(id++);
                exercise.setReady(TestdataGenerator.RANDOM.nextDouble() > 0.001d); // TODO if ready then add terms

                final long topicId = topics.get(TestdataGenerator.RANDOM.nextInt(sizeTopics)).getId();
                exercise.setTopicId(topicId);

                crudService.create(exercise);
                updateProgress(index, saveMaxEntities);
            }

            LoggerFacade.getDefault().deactivate(Boolean.FALSE);
            stopWatch.split();
            LoggerFacade.getDefault().debug(this.getClass(),
                    "  + " + stopWatch.toSplitString() + " for " + saveMaxEntities + " Exercises."); // NOI18N
            stopWatch.stop();

            return null;
        }
    };
}

From source file:com.github.naoghuman.testdata.abclist.service.LinkMappingService.java

@Override
protected Task<Void> createTask() {
    return new Task<Void>() {
        {/*  www  . j  ava 2  s  .c om*/
            updateProgress(0, saveMaxEntities);
        }

        @Override
        protected Void call() throws Exception {
            LoggerFacade.getDefault().deactivate(Boolean.TRUE);

            final StopWatch stopWatch = new StopWatch();
            stopWatch.start();

            /*
             1) over all links
             2) if random > 0.005d then do
             3) otherwise create a link without parent
             4) get 1-10 terms, create LinkMapping foreach of them
             - means a link is mapped to 1-10 terms
             5) get 0-10 topics, create LinkMapping foreach of them
             - means a link is mapped to 0-10 topics
            */

            final ObservableList<Link> links = SqlProvider.getDefault().findAllLinks();
            final ObservableList<Term> terms = SqlProvider.getDefault().findAllTerms();
            final int sizeTerms = terms.size();
            final ObservableList<Topic> topics = SqlProvider.getDefault().findAllTopics();
            final int sizeTopics = topics.size();
            final AtomicInteger index = new AtomicInteger(0);

            final CrudService crudService = DatabaseFacade.getDefault().getCrudService(entityName);
            final AtomicLong id = new AtomicLong(
                    -1_000_000_000L + DatabaseFacade.getDefault().getCrudService().count(entityName));
            links.stream() // 1
                    .forEach(link -> {
                        // 2) Should the [Link] have a parent
                        final double random = TestdataGenerator.RANDOM.nextDouble();
                        if (random > 0.005d) {
                            // 4) Create [Link]s with parent [Term]
                            final int maxTerms = TestdataGenerator.RANDOM.nextInt(10) + 1;
                            for (int i = 0; i < maxTerms; i++) {
                                final LinkMapping lm = ModelProvider.getDefault().getLinkMapping();
                                lm.setId(id.getAndIncrement());

                                final Term term = terms.get(TestdataGenerator.RANDOM.nextInt(sizeTerms));
                                lm.setParentId(term.getId());
                                lm.setParentType(LinkMappingType.TERM);

                                lm.setChildId(link.getId());
                                lm.setChildType(LinkMappingType.LINK);

                                crudService.create(lm);
                            }

                            // 5) Create [Link]s with parent [Topic]
                            final int maxTopics = TestdataGenerator.RANDOM.nextInt(11);
                            for (int i = 0; i < maxTopics; i++) {
                                final LinkMapping lm = ModelProvider.getDefault().getLinkMapping();
                                lm.setId(id.getAndIncrement());

                                final Topic topic = topics.get(TestdataGenerator.RANDOM.nextInt(sizeTopics));
                                lm.setParentId(topic.getId());
                                lm.setParentType(LinkMappingType.TOPIC);

                                lm.setChildId(link.getId());
                                lm.setChildType(LinkMappingType.LINK);

                                crudService.create(lm);
                            }
                        } else {
                            // 3) Some [Link]s havn't a parent
                            final LinkMapping lm = ModelProvider.getDefault().getLinkMapping();
                            lm.setId(id.getAndIncrement());
                            lm.setParentId(IDefaultConfiguration.DEFAULT_ID);
                            lm.setParentType(LinkMappingType.NOT_DEFINED);
                            lm.setChildId(link.getId());
                            lm.setChildType(LinkMappingType.LINK);

                            crudService.create(lm);
                        }

                        updateProgress(index.getAndIncrement(), saveMaxEntities);
                    });

            LoggerFacade.getDefault().deactivate(Boolean.FALSE);
            stopWatch.split();
            LoggerFacade.getDefault().debug(this.getClass(),
                    "  + " + stopWatch.toSplitString() + " for " + saveMaxEntities + " LinkMappings."); // NOI18N
            stopWatch.stop();

            return null;
        }
    };
}