You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2013/01/25 16:51:43 UTC

svn commit: r1438562 - in /uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide: ./ src/main/java/org/apache/uima/textmarker/ide/core/ src/main/java/org/apache/uima/textmarker/ide/launching/ src/main/java/org/apache/uima/textmarker/ide/ui/preferences/...

Author: pkluegl
Date: Fri Jan 25 15:51:43 2013
New Revision: 1438562

URL: http://svn.apache.org/viewvc?rev=1438562&view=rev
Log:
UIMA-2601
- added functionality for clearing output folder before running a script
- added preference page with option to activate functionality (default is deactivated)

Added:
    uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerProjectPreferencePage.java
Modified:
    uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/plugin.xml
    uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerCorePreferences.java
    uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerPreferenceInitializer.java
    uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/launching/TextMarkerInterpreterRunner.java
    uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.java
    uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/resources/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.properties

Modified: uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/plugin.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/plugin.xml?rev=1438562&r1=1438561&r2=1438562&view=diff
==============================================================================
--- uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/plugin.xml (original)
+++ uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/plugin.xml Fri Jan 25 15:51:43 2013
@@ -572,6 +572,12 @@ under the License.
            id="org.apache.uima.textmarker.ide.preferences.formatter"
            name="Formatter">
      </page>
+     <page
+           category="org.apache.uima.textmarker.ide.preferences"
+           class="org.apache.uima.textmarker.ide.ui.preferences.TextMarkerProjectPreferencePage"
+           id="org.apache.uima.textmarker.ide.preferences.project"
+           name="Project Management">
+     </page>
   </extension>
 
   <extension point="org.eclipse.ui.propertyPages">

Modified: uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerCorePreferences.java
URL: http://svn.apache.org/viewvc/uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerCorePreferences.java?rev=1438562&r1=1438561&r2=1438562&view=diff
==============================================================================
--- uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerCorePreferences.java (original)
+++ uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerCorePreferences.java Fri Jan 25 15:51:43 2013
@@ -25,4 +25,6 @@ public class TextMarkerCorePreferences {
   public static final String BUILDER_IMPORT_BY_NAME = "BuilderImportByName";
 
   public static final String BUILDER_IGNORE_DUPLICATE_SHORTNAMES = "BuilderErrorOnDuplicateShortnames";
+  
+  public static final String PROJECT_CLEAR_OUTPUT = "ProjectClearOutput";
 }

Modified: uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerPreferenceInitializer.java
URL: http://svn.apache.org/viewvc/uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerPreferenceInitializer.java?rev=1438562&r1=1438561&r2=1438562&view=diff
==============================================================================
--- uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerPreferenceInitializer.java (original)
+++ uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/TextMarkerPreferenceInitializer.java Fri Jan 25 15:51:43 2013
@@ -34,6 +34,7 @@ public class TextMarkerPreferenceInitial
     store.setDefault(TextMarkerCorePreferences.BUILDER_IMPORT_BY_NAME, false);
     store.setDefault(TextMarkerCorePreferences.BUILDER_RESOLVE_IMPORTS, false);
     store.setDefault(TextMarkerCorePreferences.BUILDER_IGNORE_DUPLICATE_SHORTNAMES, false);
+    store.setDefault(TextMarkerCorePreferences.PROJECT_CLEAR_OUTPUT, false);
   }
 
 }

Modified: uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/launching/TextMarkerInterpreterRunner.java
URL: http://svn.apache.org/viewvc/uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/launching/TextMarkerInterpreterRunner.java?rev=1438562&r1=1438561&r2=1438562&view=diff
==============================================================================
--- uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/launching/TextMarkerInterpreterRunner.java (original)
+++ uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/launching/TextMarkerInterpreterRunner.java Fri Jan 25 15:51:43 2013
@@ -39,6 +39,7 @@ import org.apache.uima.resource.Resource
 import org.apache.uima.textmarker.action.LogAction;
 import org.apache.uima.textmarker.engine.TextMarkerEngine;
 import org.apache.uima.textmarker.ide.TextMarkerIdePlugin;
+import org.apache.uima.textmarker.ide.core.TextMarkerCorePreferences;
 import org.apache.uima.textmarker.ide.core.builder.TextMarkerProjectUtils;
 import org.apache.uima.util.XMLInputSource;
 import org.apache.uima.util.XMLSerializer;
@@ -62,6 +63,7 @@ import org.eclipse.dltk.launching.Script
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jdt.launching.VMRunnerConfiguration;
+import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.ui.console.ConsolePlugin;
 import org.eclipse.ui.console.IConsole;
 import org.eclipse.ui.console.IConsoleManager;
@@ -191,11 +193,22 @@ public class TextMarkerInterpreterRunner
       IFolder folder = proj.getProject().getFolder(TextMarkerProjectUtils.getDefaultInputLocation());
       folder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
     }
-    if(!outputDir.exists()) {
+    IFolder outputFolder = proj.getProject().getFolder(TextMarkerProjectUtils.getDefaultOutputLocation());
+	if(!outputDir.exists()) {
       outputDir.mkdirs();
-      IFolder folder = proj.getProject().getFolder(TextMarkerProjectUtils.getDefaultOutputLocation());
-      folder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+      outputFolder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+    }
+    
+    IPreferenceStore store = TextMarkerIdePlugin.getDefault().getPreferenceStore();
+    boolean clearOutput = store.getBoolean(TextMarkerCorePreferences.PROJECT_CLEAR_OUTPUT);
+    if(clearOutput) {
+    	List<File> outputFiles = getFiles(outputDir, false);
+    	for (File file : outputFiles) {
+			file.delete();
+		}
+    	outputFolder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
     }
+    
     List<File> inputFiles = getFiles(inputDir, false);
 
     int ticks = (inputFiles.size() * 2) + 1;
@@ -296,7 +309,7 @@ public class TextMarkerInterpreterRunner
     if (ae != null) {
       ae.destroy();
     }
-    IFolder folder = proj.getProject().getFolder(TextMarkerProjectUtils.getDefaultOutputLocation());
+    IFolder folder = outputFolder;
     folder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
     clearConsoleLink(handler);
     mon.done();

Modified: uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.java
URL: http://svn.apache.org/viewvc/uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.java?rev=1438562&r1=1438561&r2=1438562&view=diff
==============================================================================
--- uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.java (original)
+++ uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.java Fri Jan 25 15:51:43 2013
@@ -73,4 +73,6 @@ public class TextMarkerPreferencesMessag
   public static String BuilderImportByName;
 
   public static String BuilderIgnoreDuplicateShortnames;
+  
+  public static String ProjectClearOutput;
 }

Added: uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerProjectPreferencePage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerProjectPreferencePage.java?rev=1438562&view=auto
==============================================================================
--- uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerProjectPreferencePage.java (added)
+++ uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerProjectPreferencePage.java Fri Jan 25 15:51:43 2013
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.uima.textmarker.ide.ui.preferences;
+
+import org.apache.uima.textmarker.ide.TextMarkerIdePlugin;
+import org.apache.uima.textmarker.ide.core.TextMarkerCorePreferences;
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+/**
+ * Preference page to manage preferences for the ide plugin.
+ */
+public class TextMarkerProjectPreferencePage extends FieldEditorPreferencePage
+        implements IWorkbenchPreferencePage {
+
+  private BooleanFieldEditor clearOutput;
+  
+  public TextMarkerProjectPreferencePage() {
+    setPreferenceStore(TextMarkerIdePlugin.getDefault().getPreferenceStore());
+    setDescription("Project Management");
+  }
+
+  @Override
+  protected void createFieldEditors() {
+	  clearOutput = new BooleanFieldEditor(TextMarkerCorePreferences.PROJECT_CLEAR_OUTPUT,
+            TextMarkerPreferencesMessages.ProjectClearOutput, getFieldEditorParent());
+    addField(clearOutput);
+  }
+
+  public void init(IWorkbench workbench) {
+  }
+  
+ 
+}
\ No newline at end of file

Modified: uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/resources/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.properties
URL: http://svn.apache.org/viewvc/uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/resources/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.properties?rev=1438562&r1=1438561&r2=1438562&view=diff
==============================================================================
--- uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/resources/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.properties (original)
+++ uima/sandbox/TextMarker/trunk/uimaj-ep-textmarker-ide/src/main/resources/org/apache/uima/textmarker/ide/ui/preferences/TextMarkerPreferencesMessages.properties Fri Jan 25 15:51:43 2013
@@ -40,3 +40,4 @@ TodoTaskDescription = Strings indicating
 BuilderResolveImports = Resolve imports when creating descriptors.
 BuilderImportByName = Use import by name when creating descriptors.
 BuilderIgnoreDuplicateShortnames = Hide warnings for conflicting short names of types.
+ProjectClearOutput = Clear output folder before running a script.