You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by jo...@apache.org on 2011/11/30 14:56:00 UTC

svn commit: r1208431 - in /uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor: CasEditorView.java styleview/AnnotationStyleViewPage.java

Author: joern
Date: Wed Nov 30 13:55:59 2011
New Revision: 1208431

URL: http://svn.apache.org/viewvc?rev=1208431&view=rev
Log:
UIMA-2293 Now always the correct view page is accessed.

Modified:
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java?rev=1208431&r1=1208430&r2=1208431&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java Wed Nov 30 13:55:59 2011
@@ -49,8 +49,6 @@ public abstract class CasEditorView exte
 
   private final String editorNotAvailableMessage;
 
-  private CasEditorViewPage casViewPageBookedPage;
-
   private Map<ICasEditor, ICasEditorInputListener> editorListenerMap =
           new HashMap<ICasEditor, ICasEditorInputListener>();
   
@@ -91,7 +89,7 @@ public abstract class CasEditorView exte
   // Will be recreated on view switch (need a flag to disable that) and input cas switch
   protected abstract IPageBookViewPage doCreatePage(ICasEditor editor);
 
-  private void createViewPage(ICasEditor editor) {
+  private void createViewPage( CasEditorViewPage casViewPageBookedPage, ICasEditor editor) {
     
     IPageBookViewPage page = doCreatePage(editor);
     if (page != null) {
@@ -116,12 +114,14 @@ public abstract class CasEditorView exte
     if (part instanceof ICasEditor) {
       final ICasEditor editor = (ICasEditor) part;
       
+      final CasEditorViewPage casViewPageBookedPage = new CasEditorViewPage(editorNotAvailableMessage);
+      
       if (editor.getDocument() != null) {
         ICasDocumentListener documentListener = new AbstractDocumentListener() {
           @Override
           public void viewChanged(String oldViewName, String newViewName) {
             if (isRecreatePageOnCASViewSwitch()) {
-              createViewPage(editor);
+              createViewPage(casViewPageBookedPage, editor);
             }
           }
         };
@@ -137,7 +137,7 @@ public abstract class CasEditorView exte
         public void casDocumentChanged(IEditorInput oldInput, ICasDocument oldDocument,
                 IEditorInput newInput, ICasDocument newDocument) {
           
-          createViewPage(editor);
+          createViewPage(casViewPageBookedPage, editor);
           
           ICasDocumentListener changeListener = documentListenerMap.get(editor);
           
@@ -151,16 +151,17 @@ public abstract class CasEditorView exte
           
         }
       };
-      
+      editorListenerMap.put(editor, inputListener);
       editor.addCasEditorInputListener(inputListener);
       
-      casViewPageBookedPage = new CasEditorViewPage(editorNotAvailableMessage);
+      // BUG: This does not work! 
+      
       
       initPage(casViewPageBookedPage);
       
       casViewPageBookedPage.createControl(getPageBook());
       
-      createViewPage(editor);
+      createViewPage(casViewPageBookedPage, editor);
       
       result = new PageRec(editor, casViewPageBookedPage);
     }
@@ -214,6 +215,7 @@ public abstract class CasEditorView exte
   
   @Override
   public void dispose() {
+    
     for (Map.Entry<ICasEditor, ICasEditorInputListener> entry :
       editorListenerMap.entrySet()) {
       entry.getKey().removeCasEditorInputListener(entry.getValue());
@@ -231,8 +233,8 @@ public abstract class CasEditorView exte
     
     documentListenerMap.clear();
     
-    if (casViewPageBookedPage != null)
-      casViewPageBookedPage.dispose();
+//    if (casViewPageBookedPage != null)
+//      casViewPageBookedPage.dispose();
     
     super.dispose();
   }

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java?rev=1208431&r1=1208430&r2=1208431&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java Wed Nov 30 13:55:59 2011
@@ -362,7 +362,7 @@ class AnnotationStyleViewPage extends Pa
     IPreferenceStore store = editor.getCasDocumentProvider().getTypeSystemPreferenceStore(
             editor.getEditorInput()); // TODO: Use old input, which was used when the view was created!
     
-    if (store != null)        
+    if (store != null && changeListener != null)        
       store.removePropertyChangeListener(changeListener);
     
     editor.removeAnnotationListener(editorListener);