Author: ogrisel
Date: Thu Jan 5 18:33:53 2012
New Revision: 1227733
URL: http://svn.apache.org/viewvc?rev=1227733&view=rev
Log:
STANBOL-197: implement example removal
Modified:
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/topic/SolrTrainingSet.java
incubator/stanbol/trunk/enhancer/engines/topic/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java
Modified:
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/topic/SolrTrainingSet.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/topic/SolrTrainingSet.java?rev=1227733&r1=1227732&r2=1227733&view=diff
==============================================================================
---
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/topic/SolrTrainingSet.java
(original)
+++
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/topic/SolrTrainingSet.java
Thu Jan 5 18:33:53 2012
@@ -144,6 +144,23 @@ public class SolrTrainingSet extends Con
@Override
public String registerExample(String exampleId, String text, List<String>
topics) throws TrainingSetException {
+ if (text == null) {
+ // special case: example removal
+ if (exampleId == null) {
+ throw new IllegalArgumentException("exampleId and text should
not be null simultaneously");
+ }
+ SolrServer solrServer = getActiveSolrServer();
+ try {
+ solrServer.deleteByQuery(exampleIdField + ":" + exampleId);
+ solrServer.commit();
+ return exampleId;
+ } catch (Exception e) {
+ String msg = String.format("Error deleting example with id
'%s' on Solr Core '%s'",
+ exampleId, solrCoreId);
+ throw new TrainingSetException(msg, e);
+ }
+ }
+
if (exampleId == null || exampleId.isEmpty()) {
exampleId = UUID.randomUUID().toString();
}
Modified:
incubator/stanbol/trunk/enhancer/engines/topic/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/engines/topic/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java?rev=1227733&r1=1227732&r2=1227733&view=diff
==============================================================================
---
incubator/stanbol/trunk/enhancer/engines/topic/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java
(original)
+++
incubator/stanbol/trunk/enhancer/engines/topic/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java
Thu Jan 5 18:33:53 2012
@@ -122,6 +122,18 @@ public class TrainingSetTest extends Bas
assertEquals(2, examples.items.size());
assertEquals(examples.items, Arrays.asList("Text of example1.", "Text
of example2."));
assertFalse(examples.hasMore);
+
+ // Test example removal
+ trainingSet.registerExample("example1", null, Arrays.asList(TOPIC_1,
TOPIC_3));
+ examples = trainingSet.getPositiveExamples(Arrays.asList(TOPIC_1,
TOPIC_3), null);
+ assertEquals(1, examples.items.size());
+ assertEquals(examples.items, Arrays.asList("Text of example2."));
+ assertFalse(examples.hasMore);
+
+ trainingSet.registerExample("example2", null, Arrays.asList(TOPIC_1,
TOPIC_3));
+ examples = trainingSet.getPositiveExamples(Arrays.asList(TOPIC_1,
TOPIC_3), null);
+ assertEquals(0, examples.items.size());
+ assertFalse(examples.hasMore);
}
@Test