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 f89aa19f679aae08d464f413d7887c28ce035ce7..bdf43b154da810b11bff48cf5611ccc8e7796273 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 536eb3f5c2af2b8a194a214d1ac22ef2bc7d3705..8f24a846fad295283532986a6c767486745ba7e8 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 3e9d161a5c6212113e1a668983c591d24ab4fe2d..c23f7998568bb048da2c4500d0e255eed6bb0604 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 2dbde8fa545f62eac1abd506f00e22a10fc76fe1..308336f42f465f2513065ae56635e187bb1f7017 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());