From 5b6fda29f95bf10c3ab0a182beb48baf3da27103 Mon Sep 17 00:00:00 2001 From: Eike Cochu <eike@cochu.com> Date: Thu, 31 Mar 2016 02:10:52 +0200 Subject: [PATCH] updated cmd, can now concatenate more commands updated cmd, scanning for selected models when needed instead of at beginning added last generated date to topic models --- .../java/de/vipra/cmd/CommandLineOptions.java | 19 ++++++++----------- .../main/java/de/vipra/cmd/lda/Analyzer.java | 2 ++ vipra-ui/app/index.html | 1 + .../de/vipra/util/model/TopicModelFull.java | 11 +++++++++++ 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/CommandLineOptions.java b/vipra-cmd/src/main/java/de/vipra/cmd/CommandLineOptions.java index f89aa19f..bdf43b15 100644 --- a/vipra-cmd/src/main/java/de/vipra/cmd/CommandLineOptions.java +++ b/vipra-cmd/src/main/java/de/vipra/cmd/CommandLineOptions.java @@ -40,7 +40,6 @@ public class CommandLineOptions { public void parse(final String[] args) throws ParseException { cmd = new DefaultParser().parse(options, args); - checkDependencies(); } public boolean hasOption(final Option opt) { @@ -149,18 +148,16 @@ public class CommandLineOptions { } public String[] selectedModels() { + String[] models = null; if (isAll()) - return new String[] { "all" }; - else - return getOptionValues(SELECT); - } + models = new String[] { "all" }; + else if (isSelect()) + models = getOptionValues(SELECT); + + if (models != null && models.length > 0) + return models; - private void checkDependencies() throws ParseException { - if (isImport() || isModel() || isIndex() || isReread()) { - // these options require at least one selected model - if (!isSelect() && !isAll()) - throw new ParseException("select at least one model"); - } + throw new RuntimeException("select at least one model"); } } diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/lda/Analyzer.java b/vipra-cmd/src/main/java/de/vipra/cmd/lda/Analyzer.java index 536eb3f5..8f24a846 100644 --- a/vipra-cmd/src/main/java/de/vipra/cmd/lda/Analyzer.java +++ b/vipra-cmd/src/main/java/de/vipra/cmd/lda/Analyzer.java @@ -9,6 +9,7 @@ import java.text.ParseException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import java.util.Date; import java.util.List; import org.bson.types.ObjectId; @@ -425,6 +426,7 @@ public class Analyzer { } } + topicModel.setLastGenerated(new Date()); dbTopicModels.replaceSingle(topicModel); } diff --git a/vipra-ui/app/index.html b/vipra-ui/app/index.html index 3e9d161a..c23f7998 100644 --- a/vipra-ui/app/index.html +++ b/vipra-ui/app/index.html @@ -102,6 +102,7 @@ <button type="button" class="list-group-item topic-model" ng-repeat="topicModel in topicModels" ng-click="changeTopicModel(topicModel)" ng-class="{'active selected-model':rootModels.topicModel.id===topicModel.id}"> <span class="badge" ng-bind="topicModel.articleCount" ng-show="topicModel.articleCount" ng-attr-title="{{topicModel.articleCount + ' article(s)'}}"></span> <span class="badge" ng-bind="topicModel.topicCount" ng-show="topicModel.topicCount" ng-attr-title="{{topicModel.topicCount + ' topic(s)'}}"></span> + <span class="badge" ng-if="!topicModel.lastGenerated" title="Model was never generated">Non-generated</span> <span ng-bind="topicModel.id"></span> <br ng-show="topicModel.modelConfig.description"> <small ng-bind="topicModel.modelConfig.description"></small> diff --git a/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java b/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java index 2dbde8fa..308336f4 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java +++ b/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java @@ -1,6 +1,7 @@ package de.vipra.util.model; import java.io.Serializable; +import java.util.Date; import org.mongodb.morphia.annotations.Embedded; import org.mongodb.morphia.annotations.Entity; @@ -26,6 +27,8 @@ public class TopicModelFull implements Model<String>, Comparable<TopicModelFull> private int windowCount; + private Date lastGenerated; + @Embedded @QueryIgnore(multi = true) private TopicModelConfig modelConfig; @@ -91,6 +94,14 @@ public class TopicModelFull implements Model<String>, Comparable<TopicModelFull> this.modelConfig = modelConfig; } + public Date getLastGenerated() { + return lastGenerated; + } + + public void setLastGenerated(Date lastGenerated) { + this.lastGenerated = lastGenerated; + } + @Override public int compareTo(final TopicModelFull o) { return id.compareTo(o.getId()); -- GitLab