You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by tw...@apache.org on 2008/08/21 14:57:40 UTC
svn commit: r687733 [1/3] - in
/incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd:
CVD.java MainFrame.java control/XmiCasFileOpenHandler.java
Author: twgoetz
Date: Thu Aug 21 05:57:40 2008
New Revision: 687733
URL: http://svn.apache.org/viewvc?rev=687733&view=rev
Log:
Jira UIMA-1151: add command line loading of XMI files to CVD. Apply patch by Aaron Kaplan, plus some refactoring.
https://issues.apache.org/jira/browse/UIMA-1151
Modified:
incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/CVD.java
incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/MainFrame.java
incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/control/XmiCasFileOpenHandler.java
Modified: incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/CVD.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/CVD.java?rev=687733&r1=687732&r2=687733&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/CVD.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/CVD.java Thu Aug 21 05:57:40 2008
@@ -1,168 +1,180 @@
-/*
- * 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.tools.cvd;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-
-import javax.swing.ImageIcon;
-import javax.swing.UIManager;
-import javax.swing.UnsupportedLookAndFeelException;
-
-import org.apache.uima.internal.util.CommandLineParser;
-import org.apache.uima.resource.RelativePathResolver;
-import org.apache.uima.tools.images.Images;
-
-/**
- * The main class for the CAS Visual Debugger.
- *
- *
- */
-public class CVD {
-
- public static final String MAN_PATH_PROPERTY = "uima.tools.cvd.manpath";
-
- private static final String TEXT_FILE_PARAM = "-text";
-
- private static final String DESC_FILE_PARAM = "-desc";
-
- private static final String EXECUTE_SWITCH = "-exec";
-
- private static final String DATA_PATH_PARAM = "-datapath";
-
- private static final String INI_FILE_PARAM = "-ini";
-
- private static final String LOOK_AND_FEEL_PARAM = "-lookandfeel";
-
- private CVD() {
- super();
- }
-
- public static MainFrame createMainFrame() {
- return createMainFrame(null);
- }
-
- public static MainFrame createMainFrame(File iniFile) {
- final MainFrame frame = new MainFrame(iniFile);
- // Set icon.
- ImageIcon icon = Images.getImageIcon(Images.MICROSCOPE);
- if (icon != null) {
- frame.setIconImage(icon.getImage());
- }
- try {
- javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
-
- public void run() {
- frame.pack();
- frame.setVisible(true);
- }
- });
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return frame;
- }
-
- private static final CommandLineParser createCmdLineParser() {
- CommandLineParser parser = new CommandLineParser();
- parser.addParameter(TEXT_FILE_PARAM, true);
- parser.addParameter(DESC_FILE_PARAM, true);
- parser.addParameter(DATA_PATH_PARAM, true);
- parser.addParameter(LOOK_AND_FEEL_PARAM, true);
- parser.addParameter(EXECUTE_SWITCH);
- parser.addParameter(INI_FILE_PARAM, true);
- return parser;
- }
-
- private static final void printUsage() {
- System.out
- .println("Usage: java org.apache.uima.cvd.CVD [-text <TextFile>] [-desc <XmlDescriptor>] [-datapath <DataPath>] [-exec]");
- System.out.println("Additional optional parameters:");
- System.out.println(" -lookandfeel <LookAndFeelClassName>");
- }
-
- private static final boolean checkCmdLineSyntax(CommandLineParser clp) {
- if (clp.getRestArgs().length > 0) {
- System.err.println("Error parsing CVD command line: unknown argument(s):");
- String[] args = clp.getRestArgs();
- for (int i = 0; i < args.length; i++) {
- System.err.print(" ");
- System.err.print(args[i]);
- }
- System.err.println();
- return false;
- }
- if (clp.isInArgsList(EXECUTE_SWITCH) && !clp.isInArgsList(DESC_FILE_PARAM)) {
- System.err.println("Error parsing CVD command line: -exec switch requires -desc parameter.");
- return false;
- }
- return true;
- }
-
- public static void main(String[] args) {
- try {
- CommandLineParser clp = createCmdLineParser();
- clp.parseCmdLine(args);
- if (!checkCmdLineSyntax(clp)) {
- printUsage();
- System.exit(2);
- }
- String lookAndFeel = null;
- if (clp.isInArgsList(LOOK_AND_FEEL_PARAM)) {
- lookAndFeel = clp.getParamArgument(LOOK_AND_FEEL_PARAM);
- try {
- UIManager.setLookAndFeel(lookAndFeel);
- } catch (UnsupportedLookAndFeelException e) {
- System.err.println(e.getMessage());
- }
- }
- File iniFile = null;
- if (clp.isInArgsList(INI_FILE_PARAM)) {
- String iniFileName = clp.getParamArgument(INI_FILE_PARAM);
- iniFile = new File(iniFileName);
- }
- MainFrame frame = createMainFrame(iniFile);
- if (clp.isInArgsList(TEXT_FILE_PARAM)) {
- frame.loadTextFile(new File(clp.getParamArgument(TEXT_FILE_PARAM)));
- }
- if (clp.isInArgsList(DATA_PATH_PARAM)) {
- frame.setDataPath(clp.getParamArgument(DATA_PATH_PARAM));
- } else {
- String dataProp = System.getProperty(RelativePathResolver.UIMA_DATAPATH_PROP);
- if (dataProp != null) {
- frame.setDataPath(dataProp);
- }
- }
- if (clp.isInArgsList(DESC_FILE_PARAM)) {
- frame.loadAEDescriptor(new File(clp.getParamArgument(DESC_FILE_PARAM)));
- }
- if (clp.isInArgsList(EXECUTE_SWITCH)) {
- frame.runAE(true);
- }
- } catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
-}
+/*
+ * 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.tools.cvd;
+
+import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+
+import javax.swing.ImageIcon;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+
+import org.apache.uima.internal.util.CommandLineParser;
+import org.apache.uima.resource.RelativePathResolver;
+import org.apache.uima.tools.images.Images;
+
+/**
+ * The main class for the CAS Visual Debugger.
+ *
+ *
+ */
+public class CVD {
+
+ public static final String MAN_PATH_PROPERTY = "uima.tools.cvd.manpath";
+
+ private static final String TEXT_FILE_PARAM = "-text";
+
+ private static final String DESC_FILE_PARAM = "-desc";
+
+ private static final String EXECUTE_SWITCH = "-exec";
+
+ private static final String DATA_PATH_PARAM = "-datapath";
+
+ private static final String INI_FILE_PARAM = "-ini";
+
+ private static final String LOOK_AND_FEEL_PARAM = "-lookandfeel";
+
+ private static final String XMI_FILE_PARAM = "-xmi";
+
+ private CVD() {
+ super();
+ }
+
+ public static MainFrame createMainFrame() {
+ return createMainFrame(null);
+ }
+
+ public static MainFrame createMainFrame(File iniFile) {
+ final MainFrame frame = new MainFrame(iniFile);
+ // Set icon.
+ ImageIcon icon = Images.getImageIcon(Images.MICROSCOPE);
+ if (icon != null) {
+ frame.setIconImage(icon.getImage());
+ }
+ try {
+ javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ frame.pack();
+ frame.setVisible(true);
+ }
+ });
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return frame;
+ }
+
+ private static final CommandLineParser createCmdLineParser() {
+ CommandLineParser parser = new CommandLineParser();
+ parser.addParameter(TEXT_FILE_PARAM, true);
+ parser.addParameter(DESC_FILE_PARAM, true);
+ parser.addParameter(DATA_PATH_PARAM, true);
+ parser.addParameter(LOOK_AND_FEEL_PARAM, true);
+ parser.addParameter(EXECUTE_SWITCH);
+ parser.addParameter(XMI_FILE_PARAM, true);
+ parser.addParameter(INI_FILE_PARAM, true);
+ return parser;
+ }
+
+ private static final void printUsage() {
+ System.out
+ .println("Usage: java org.apache.uima.cvd.CVD [-text <TextFile>] [-desc <XmlDescriptor>] [-datapath <DataPath>] [-exec]");
+ System.out.println("Additional optional parameters:");
+ System.out.println(" -lookandfeel <LookAndFeelClassName>");
+ }
+
+ private static final boolean checkCmdLineSyntax(CommandLineParser clp) {
+ if (clp.getRestArgs().length > 0) {
+ System.err.println("Error parsing CVD command line: unknown argument(s):");
+ String[] args = clp.getRestArgs();
+ for (int i = 0; i < args.length; i++) {
+ System.err.print(" ");
+ System.err.print(args[i]);
+ }
+ System.err.println();
+ return false;
+ }
+ if (clp.isInArgsList(EXECUTE_SWITCH) && !clp.isInArgsList(DESC_FILE_PARAM)) {
+ System.err.println("Error parsing CVD command line: -exec switch requires -desc parameter.");
+ return false;
+ }
+ if (clp.isInArgsList(XMI_FILE_PARAM) && !clp.isInArgsList(DESC_FILE_PARAM)) {
+ System.err.println("Error parsing CVD command line: -xmi switch requires -desc parameter.");
+ return false;
+ }
+ return true;
+ }
+
+ public static void main(String[] args) {
+ try {
+ CommandLineParser clp = createCmdLineParser();
+ clp.parseCmdLine(args);
+ if (!checkCmdLineSyntax(clp)) {
+ printUsage();
+ System.exit(2);
+ }
+ String lookAndFeel = null;
+ if (clp.isInArgsList(LOOK_AND_FEEL_PARAM)) {
+ lookAndFeel = clp.getParamArgument(LOOK_AND_FEEL_PARAM);
+ try {
+ UIManager.setLookAndFeel(lookAndFeel);
+ } catch (UnsupportedLookAndFeelException e) {
+ System.err.println(e.getMessage());
+ }
+ }
+ File iniFile = null;
+ if (clp.isInArgsList(INI_FILE_PARAM)) {
+ String iniFileName = clp.getParamArgument(INI_FILE_PARAM);
+ iniFile = new File(iniFileName);
+ }
+ MainFrame frame = createMainFrame(iniFile);
+ if (clp.isInArgsList(TEXT_FILE_PARAM)) {
+ frame.loadTextFile(new File(clp.getParamArgument(TEXT_FILE_PARAM)));
+ }
+ if (clp.isInArgsList(DATA_PATH_PARAM)) {
+ frame.setDataPath(clp.getParamArgument(DATA_PATH_PARAM));
+ } else {
+ String dataProp = System.getProperty(RelativePathResolver.UIMA_DATAPATH_PROP);
+ if (dataProp != null) {
+ frame.setDataPath(dataProp);
+ }
+ }
+ if (clp.isInArgsList(DESC_FILE_PARAM)) {
+ frame.loadAEDescriptor(new File(clp.getParamArgument(DESC_FILE_PARAM)));
+ }
+ if (clp.isInArgsList(TEXT_FILE_PARAM)) {
+ frame.loadTextFile(new File(clp.getParamArgument(TEXT_FILE_PARAM)));
+ } else if (clp.isInArgsList(XMI_FILE_PARAM)) {
+ frame.loadXmiFile(new File(clp.getParamArgument(XMI_FILE_PARAM)));
+ }
+ if (clp.isInArgsList(EXECUTE_SWITCH)) {
+ frame.runAE(true);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+}