You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2012/03/12 15:53:36 UTC

svn commit: r1299696 - /opennlp/sandbox/caseditor-opennlp-plugin/src/main/java/org/apache/opennlp/caseditor/sentdetect/SentenceContentProvider.java

Author: joern
Date: Mon Mar 12 14:53:35 2012
New Revision: 1299696

URL: http://svn.apache.org/viewvc?rev=1299696&view=rev
Log:
OPENNLP-465 Now it is triggered by preferences changes as well.

Modified:
    opennlp/sandbox/caseditor-opennlp-plugin/src/main/java/org/apache/opennlp/caseditor/sentdetect/SentenceContentProvider.java

Modified: opennlp/sandbox/caseditor-opennlp-plugin/src/main/java/org/apache/opennlp/caseditor/sentdetect/SentenceContentProvider.java
URL: http://svn.apache.org/viewvc/opennlp/sandbox/caseditor-opennlp-plugin/src/main/java/org/apache/opennlp/caseditor/sentdetect/SentenceContentProvider.java?rev=1299696&r1=1299695&r2=1299696&view=diff
==============================================================================
--- opennlp/sandbox/caseditor-opennlp-plugin/src/main/java/org/apache/opennlp/caseditor/sentdetect/SentenceContentProvider.java (original)
+++ opennlp/sandbox/caseditor-opennlp-plugin/src/main/java/org/apache/opennlp/caseditor/sentdetect/SentenceContentProvider.java Mon Mar 12 14:53:35 2012
@@ -25,6 +25,7 @@ import java.util.List;
 import opennlp.tools.util.Span;
 
 import org.apache.opennlp.caseditor.AbstractCasChangeTrigger;
+import org.apache.opennlp.caseditor.OpenNLPPlugin;
 import org.apache.opennlp.caseditor.OpenNLPPreferenceConstants;
 import org.apache.opennlp.caseditor.PotentialAnnotation;
 import org.apache.opennlp.caseditor.namefinder.EntityContentProvider;
@@ -38,6 +39,8 @@ import org.apache.uima.caseditor.editor.
 import org.eclipse.core.runtime.jobs.IJobChangeEvent;
 import org.eclipse.core.runtime.jobs.JobChangeAdapter;
 import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
@@ -54,11 +57,26 @@ public class SentenceContentProvider imp
     }
   }
   
+  /**
+   * Listeners which triggers a run of the name finder when a related preferences changed.
+   */
+  private class PreferenceChangeTrigger implements IPropertyChangeListener{
+
+    @Override
+    public void propertyChange(PropertyChangeEvent event) {
+      // Filter all changes of preferences which do not belong to this plugin
+      if (event.getProperty().startsWith(OpenNLPPlugin.ID)) {
+        triggerSentenceDetector();
+      }
+    }
+  }
+  
   private SentenceDetectorViewPage sentenceDetectorView;
   
   private AnnotationEditor editor;
   
   private ICasDocumentListener casChangedTrigger;
+  private PreferenceChangeTrigger preferenceChangeTrigger = new PreferenceChangeTrigger();
   
   private SentenceDetectorJob sentenceDetector;
   
@@ -158,6 +176,10 @@ public class SentenceContentProvider imp
         });
       }
     });
+    
+    IPreferenceStore store = editor.getCasDocumentProvider().getTypeSystemPreferenceStore(editor.getEditorInput());
+    
+    store.addPropertyChangeListener(preferenceChangeTrigger);
   }
   
   @Override
@@ -272,5 +294,7 @@ public class SentenceContentProvider imp
   
   @Override
   public void dispose() {
+    IPreferenceStore store = editor.getCasDocumentProvider().getTypeSystemPreferenceStore(editor.getEditorInput());
+    store.removePropertyChangeListener(preferenceChangeTrigger);
   }
 }