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/04/26 14:06:14 UTC
svn commit: r1476156 - in /uima/sandbox/textmarker/trunk:
textmarker-ep-addons/
textmarker-ep-addons/src/main/java/org/apache/uima/textmarker/utils/update/
textmarker-ep-ide/src/main/java/org/apache/uima/textmarker/ide/ui/wizards/
Author: pkluegl
Date: Fri Apr 26 12:06:13 2013
New Revision: 1476156
URL: http://svn.apache.org/r1476156
Log:
UIMA-2831
- added command
Added:
uima/sandbox/textmarker/trunk/textmarker-ep-addons/src/main/java/org/apache/uima/textmarker/utils/update/
uima/sandbox/textmarker/trunk/textmarker-ep-addons/src/main/java/org/apache/uima/textmarker/utils/update/UpdateProjectHandler.java
Modified:
uima/sandbox/textmarker/trunk/textmarker-ep-addons/plugin.xml
uima/sandbox/textmarker/trunk/textmarker-ep-ide/src/main/java/org/apache/uima/textmarker/ide/ui/wizards/TextMarkerProjectCreationWizard.java
Modified: uima/sandbox/textmarker/trunk/textmarker-ep-addons/plugin.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/textmarker/trunk/textmarker-ep-addons/plugin.xml?rev=1476156&r1=1476155&r2=1476156&view=diff
==============================================================================
--- uima/sandbox/textmarker/trunk/textmarker-ep-addons/plugin.xml (original)
+++ uima/sandbox/textmarker/trunk/textmarker-ep-addons/plugin.xml Fri Apr 26 12:06:13 2013
@@ -308,6 +308,11 @@ under the License.
id="org.apache.uima.textmarker.utils.apply.script.noxmi"
name="ApplyScriptNoXMICommand">
</command>
+ <command
+ defaultHandler="org.apache.uima.textmarker.utils.update.UpdateProjectHandler"
+ id="org.apache.uima.textmarker.utils.update"
+ name="Update Project">
+ </command>
</extension> <extension
point="org.eclipse.ui.menus">
<menuContribution
@@ -428,6 +433,25 @@ under the License.
</visibleWhen>
</command>
</menuContribution>
+ <menuContribution
+ locationURI="popup:org.apache.uima.textmarker.utils.popup.submenu">
+ <command
+ commandId="org.apache.uima.textmarker.utils.update"
+ disabledIcon="icons/tm_obj.png"
+ hoverIcon="icons/tm_obj.png"
+ icon="icons/tm_obj.png"
+ id="org.apache.uima.textmarker.utils.update.popup"
+ label="Update Project"
+ style="push"
+ tooltip="Update basic templates for descriptors">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="org.apache.uima.textmarker.utils.update.definition">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
</extension> <extension
point="org.eclipse.core.expressions.definitions">
<definition
@@ -469,6 +493,19 @@ under the License.
</test>
</adapt>
</definition>
+ <definition
+ id="org.apache.uima.textmarker.utils.update.definition">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="true">
+ <or>
+ <instanceof
+ value="org.eclipse.dltk.core.IScriptProject ">
+ </instanceof></or>
+ </iterate>
+ </with>
+ </definition>
</extension> <extension
point="org.eclipse.ui.bindings">
<key
Added: uima/sandbox/textmarker/trunk/textmarker-ep-addons/src/main/java/org/apache/uima/textmarker/utils/update/UpdateProjectHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/textmarker/trunk/textmarker-ep-addons/src/main/java/org/apache/uima/textmarker/utils/update/UpdateProjectHandler.java?rev=1476156&view=auto
==============================================================================
--- uima/sandbox/textmarker/trunk/textmarker-ep-addons/src/main/java/org/apache/uima/textmarker/utils/update/UpdateProjectHandler.java (added)
+++ uima/sandbox/textmarker/trunk/textmarker-ep-addons/src/main/java/org/apache/uima/textmarker/utils/update/UpdateProjectHandler.java Fri Apr 26 12:06:13 2013
@@ -0,0 +1,143 @@
+/*
+ * 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.utils.update;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.uima.textmarker.addons.TextMarkerAddonsPlugin;
+import org.apache.uima.textmarker.ide.core.TextMarkerNature;
+import org.apache.uima.textmarker.ide.core.builder.TextMarkerProjectUtils;
+import org.apache.uima.textmarker.ide.ui.wizards.TextMarkerProjectCreationWizard;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.commands.IHandlerListener;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.dltk.core.IScriptProject;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+public class UpdateProjectHandler implements IHandler {
+
+ private class ConverterHandlerJob extends Job {
+ ExecutionEvent event;
+
+ ConverterHandlerJob(ExecutionEvent event) {
+ super("Converting...");
+ this.event = event;
+ setUser(true);
+ }
+
+ @Override
+ public IStatus run(IProgressMonitor monitor) {
+ List<IScriptProject> projects = new ArrayList<IScriptProject>();
+ ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
+ if (currentSelection instanceof IStructuredSelection) {
+ StructuredSelection selection = (StructuredSelection) currentSelection;
+ Iterator<?> iter = selection.iterator();
+ while (iter.hasNext()) {
+ Object object = iter.next();
+ if (object instanceof IScriptProject) {
+ IScriptProject p = (IScriptProject) object;
+ projects.add(p);
+ }
+ }
+ }
+ monitor.beginTask("Updating descriptor files...", projects.size());
+ for (IScriptProject each : projects) {
+ IProject project = each.getProject();
+
+ // update old projects
+// try {
+// IProjectNature oldNature = project.getNature(TextMarkerNature.NATURE_ID);
+// if (oldNature != null) {
+// IProjectDescription description = project.getDescription();
+// String[] natureIds = description.getNatureIds();
+// int counter = 0;
+// for (String id : Arrays.asList(natureIds)) {
+// if (id.equals(TextMarkerNature.NATURE_ID)) {
+// natureIds[counter] = TextMarkerNature.NATURE_ID;
+// }
+// counter++;
+// }
+// }
+// } catch (CoreException e) {
+// TextMarkerAddonsPlugin.error(e);
+// }
+
+ try {
+ IProjectNature nature = project.getNature(TextMarkerNature.NATURE_ID);
+ if (nature != null) {
+ List<IFolder> descriptorFolders = TextMarkerProjectUtils.getDescriptorFolders(project);
+ if (descriptorFolders != null && !descriptorFolders.isEmpty()) {
+ IFolder descFolder = descriptorFolders.get(0);
+ TextMarkerProjectCreationWizard.copyDescriptors(descFolder);
+ descFolder.refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ }
+ }
+ } catch (CoreException e) {
+ TextMarkerAddonsPlugin.error(e);
+ }
+ monitor.worked(1);
+ }
+ monitor.done();
+ return Status.OK_STATUS;
+
+ }
+ }
+
+ public void addHandlerListener(IHandlerListener handlerListener) {
+ }
+
+ public void dispose() {
+ }
+
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ new ConverterHandlerJob(event).schedule();
+ return null;
+ }
+
+ public boolean isEnabled() {
+ return true;
+ }
+
+ public boolean isHandled() {
+ return true;
+ }
+
+ public void removeHandlerListener(IHandlerListener handlerListener) {
+
+ }
+
+}
Modified: uima/sandbox/textmarker/trunk/textmarker-ep-ide/src/main/java/org/apache/uima/textmarker/ide/ui/wizards/TextMarkerProjectCreationWizard.java
URL: http://svn.apache.org/viewvc/uima/sandbox/textmarker/trunk/textmarker-ep-ide/src/main/java/org/apache/uima/textmarker/ide/ui/wizards/TextMarkerProjectCreationWizard.java?rev=1476156&r1=1476155&r2=1476156&view=diff
==============================================================================
--- uima/sandbox/textmarker/trunk/textmarker-ep-ide/src/main/java/org/apache/uima/textmarker/ide/ui/wizards/TextMarkerProjectCreationWizard.java (original)
+++ uima/sandbox/textmarker/trunk/textmarker-ep-ide/src/main/java/org/apache/uima/textmarker/ide/ui/wizards/TextMarkerProjectCreationWizard.java Fri Apr 26 12:06:13 2013
@@ -137,7 +137,7 @@ public class TextMarkerProjectCreationWi
}
- private void copyDescriptors(IFolder descFolder) {
+ public static void copyDescriptors(IFolder descFolder) {
File descDir = descFolder.getLocation().toFile();
File utilsDir = new File(descFolder.getLocation().toFile(), "utils/");
copy(descDir, "BasicTypeSystem.xml");
@@ -156,7 +156,7 @@ public class TextMarkerProjectCreationWi
copy(utilsDir, "HtmlConverter.xml");
}
- private void copy(File dir, String fileName) {
+ private static void copy(File dir, String fileName) {
InputStream in = null;
OutputStream out = null;
in = TextMarkerEngine.class.getResourceAsStream(fileName);