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 2010/05/18 02:07:45 UTC

svn commit: r945442 - in /uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards: DocumentImportStructureProvider.java ImportDocumentWizard.java ImportDocumentWizardPage.java

Author: joern
Date: Tue May 18 00:07:44 2010
New Revision: 945442

URL: http://svn.apache.org/viewvc?rev=945442&view=rev
Log:
UIMA 1784: Added support for user defined CAS format

Modified:
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/DocumentImportStructureProvider.java
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizard.java
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizardPage.java

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/DocumentImportStructureProvider.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/DocumentImportStructureProvider.java?rev=945442&r1=945441&r2=945442&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/DocumentImportStructureProvider.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/DocumentImportStructureProvider.java Tue May 18 00:07:44 2010
@@ -54,14 +54,17 @@ import org.xml.sax.SAXException;
 final class DocumentImportStructureProvider implements IImportStructureProvider {
 
    private final Charset importEncoding;
-	
+   
+   private final DocumentFormat casFormat;
   /**
    * Constructs a new DocumentImportStructureProvider object.
    *
    * @param containerFullPath
    */
-  public DocumentImportStructureProvider(String importEncoding) {
+  public DocumentImportStructureProvider(String importEncoding,
+		  DocumentFormat casFormat) {
 	  this.importEncoding = Charset.forName(importEncoding);
+	  this.casFormat = casFormat;
   }
 
   public List<Object> getChildren(Object element) {
@@ -138,7 +141,7 @@ final class DocumentImportStructureProvi
         in = new FileInputStream((File) element);
         String text = convert(in);
 
-        return getDocument(text, DocumentFormat.XMI);
+        return getDocument(text, casFormat);
       } catch (FileNotFoundException e) {
         return null;
       } catch (IOException e) {
@@ -169,7 +172,7 @@ final class DocumentImportStructureProvi
           textStringBuffer.append(new String(readBuffer, 0, length, importEncoding));
         }
 
-        return getDocument(textStringBuffer.toString(), DocumentFormat.XMI);
+        return getDocument(textStringBuffer.toString(), casFormat);
       } catch (FileNotFoundException e) {
         return null;
       } catch (IOException e) {
@@ -222,8 +225,19 @@ final class DocumentImportStructureProvi
     if (fileName.endsWith(".rtf") || fileName.endsWith(".txt")) {
       int nameWithouEndingLength = fileName.lastIndexOf(".");
       String nameWithouEnding = fileName.substring(0, nameWithouEndingLength);
-
-      return nameWithouEnding + ".xmi";
+      
+      String ending;
+      if (DocumentFormat.XMI.equals(casFormat)) {
+    	  ending = "xmi";
+      }
+      else if (DocumentFormat.XCAS.equals(casFormat)) {
+    	  ending = "xcas";
+      }
+      else {
+    	  throw new IllegalStateException("Unkown DocumentFormat!");
+      }
+      
+       return nameWithouEnding + "." + ending;
     } else {
       return fileName;
     }

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizard.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizard.java?rev=945442&r1=945441&r2=945442&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizard.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizard.java Tue May 18 00:07:44 2010
@@ -54,7 +54,8 @@ public final class ImportDocumentWizard 
 
   @Override
   public boolean performFinish() {
-    IImportStructureProvider importProvider = new DocumentImportStructureProvider(mMainPage.getTextEncoding());
+    IImportStructureProvider importProvider = new DocumentImportStructureProvider(
+    		mMainPage.getTextEncoding(), mMainPage.getCasFormat());
 
     ImportOperation operation =
             new ImportOperation(mMainPage.getImportDestinationPath(), importProvider, null,

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizardPage.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizardPage.java?rev=945442&r1=945441&r2=945442&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizardPage.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/ui/wizards/ImportDocumentWizardPage.java Tue May 18 00:07:44 2010
@@ -27,7 +27,6 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
-import java.util.SortedMap;
 
 import org.apache.uima.caseditor.CasEditorPlugin;
 import org.apache.uima.caseditor.core.model.CorpusElement;
@@ -71,6 +70,8 @@ final class ImportDocumentWizardPage ext
 
   private String importEncoding;
   
+  private DocumentFormat documentFormat;
+  
   private TableViewer fileTable;
 
   private CorpusElement corpusElement;
@@ -339,6 +340,26 @@ final class ImportDocumentWizardPage ext
 		}
 	});
     
+    Label casFormatLabel = new Label(importOptions, SWT.NONE);
+    casFormatLabel.setText("Cas Format:");
+  
+    final Combo casFormatCombo = new Combo(importOptions, SWT.READ_ONLY);
+    casFormatCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+    casFormatCombo.setItems(new String[]{DocumentFormat.XMI.toString(), DocumentFormat.XCAS.toString()});
+    documentFormat = DocumentFormat.XMI;
+    casFormatCombo.select(0);
+    
+    casFormatCombo.addSelectionListener(new SelectionListener() {
+		
+		public void widgetSelected(SelectionEvent e) {
+			documentFormat = DocumentFormat.valueOf(casFormatCombo.getText());
+		}
+		
+		public void widgetDefaultSelected(SelectionEvent e) {
+		}
+	});
+    
+    
     computePageComplete();
     
     setControl(composite);
@@ -367,4 +388,8 @@ final class ImportDocumentWizardPage ext
   String getTextEncoding() {
 	  return importEncoding;
   }
+  
+  DocumentFormat getCasFormat() {
+	  return documentFormat;
+  }
 }