You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by al...@apache.org on 2006/12/12 23:30:22 UTC

svn commit: r486374 - in /incubator/uima/uimaj/trunk/uimaj-tools/src/main: java/org/apache/uima/tools/migration/ resources/org/apache/uima/tools/migration/

Author: alally
Date: Tue Dec 12 14:30:21 2006
New Revision: 486374

URL: http://svn.apache.org/viewvc?view=rev&rev=486374
Log:
Improvements to package mappings for migration tool.
UIMA-49: https://issues.apache.org/jira/browse/UIMA-49

Added:
    incubator/uima/uimaj/trunk/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt
Removed:
    incubator/uima/uimaj/trunk/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/uimaPackageNames.txt
Modified:
    incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/migration/IbmToApachePackageNames.java

Modified: incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/migration/IbmToApachePackageNames.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/migration/IbmToApachePackageNames.java?view=diff&rev=486374&r1=486373&r2=486374
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/migration/IbmToApachePackageNames.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/migration/IbmToApachePackageNames.java Tue Dec 12 14:30:21 2006
@@ -24,9 +24,9 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
 
 import org.apache.uima.internal.util.FileUtils;
 
@@ -36,8 +36,7 @@
  * Updates import statements in .java files to reflect the new org.apache package names.
  */
 public class IbmToApachePackageNames {
-  private static List apacheUimaPackageNames = new ArrayList();
-  private static List ibmUimaPackageNames = new ArrayList();
+  private static Map packageMapping = new TreeMap();
   
   /**
    * Main program.  Expects one argument, the name of a directory containing files to
@@ -50,12 +49,9 @@
       System.err.println("Usage: java " + IbmToApachePackageNames.class.getName() + " <directory>");
       System.exit(1);
     }
-    //get lists of apache UIMA package names and the corresponding IBM UIMA package names
-    readApacheUimaPackageNames();
-    for (int i = 0; i < apacheUimaPackageNames.size(); i++) {
-      String apachePkg = (String)apacheUimaPackageNames.get(i);
-      ibmUimaPackageNames.add(apachePackageToUimaPackage(apachePkg));
-    }
+    //get map from IBM UIMA package names to Apache UIMA package names
+    readPackageMapping();
+
     //do the replacement of import statements
     replaceImportsInAllFiles(new File(args[0]));
   }
@@ -101,9 +97,11 @@
     String original = FileUtils.file2String(file);
     String contents = original;
     //loop over packages to replace
-    for (int i = 0; i < apacheUimaPackageNames.size(); i++) {
-      String apachePkg = (String)apacheUimaPackageNames.get(i);
-      String ibmPkg = (String)ibmUimaPackageNames.get(i);
+    Iterator entries = packageMapping.entrySet().iterator();
+    while (entries.hasNext()) {
+      Map.Entry entry = (Map.Entry)entries.next();
+      String ibmPkg = (String)entry.getKey();
+      String apachePkg = (String)entry.getValue();
       //form regex to replace
       String regex = "import\\s*"+ibmPkg+"(\\.[^\\.]*;)";
       //replace
@@ -116,46 +114,20 @@
   }
 
   /**
-   * @param apachePkg
-   * @return
-   */
-  private static String apachePackageToUimaPackage(String apachePkg) {
-    //mapping is complicated for "impl" classes other than cas.impl
-    int indexOfImpl = apachePkg.indexOf(".impl");
-    if (indexOfImpl > 0 && apachePkg.indexOf("cas.impl") == -1) {
-      //remove the .impl, and replace org.apache.uima with com.ibm.uima.reference_impl
-      String noImpl = apachePkg.replaceAll(".impl", "");
-      return noImpl.replaceAll("org\\.apache\\.uima","com.ibm.uima.reference_impl");      
-    }
-    else {
-      //just apply simple replacement of org.apache to com.ibm
-      return apachePkg.replaceAll("org\\.apache", "com.ibm");
-    }
-    
-  }
-
-
-  /**
-   * Reads the list of apache UIMA packages from a resource file.
+   * Reads the mapping from IBM UIMA package names to Apache UIMA
+   * package names from a resource file and populates the packageMapping
+   * field.
    */
-  private static void readApacheUimaPackageNames() throws IOException {
-    URL pkgListFile = IbmToApachePackageNames.class.getResource("uimaPackageNames.txt");
-    // Read from this URL into a string using a char buffer.
-    char[] buf = new char[10000];
-    int charsRead;
+  private static void readPackageMapping() throws IOException {
+    URL pkgListFile = IbmToApachePackageNames.class.getResource("packageMapping.txt");
     InputStream inStream = pkgListFile.openStream();
     BufferedReader reader = new BufferedReader(new InputStreamReader(inStream));
-    StringBuffer strbuf = new StringBuffer();
-    while ((charsRead = reader.read(buf)) >= 0) {
-      strbuf.append(buf, 0, charsRead);
-    }
-    reader.close();
-    StringTokenizer tokenizer = new StringTokenizer(new String(buf),",");
-    while (tokenizer.hasMoreTokens())
-    {
-      String tok = tokenizer.nextToken().trim();
-      if (tok.length() > 0)
-        apacheUimaPackageNames.add(tok);
+    String line = reader.readLine();
+    while (line != null) {
+      String[] mapping = line.split("=");
+      packageMapping.put(mapping[0],mapping[1]);
+      line = reader.readLine();
     }
+    inStream.close();
   }
 }

Added: incubator/uima/uimaj/trunk/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt?view=auto&rev=486374
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt (added)
+++ incubator/uima/uimaj/trunk/uimaj-tools/src/main/resources/org/apache/uima/tools/migration/packageMapping.txt Tue Dec 12 14:30:21 2006
@@ -0,0 +1,100 @@
+com.ibm.uima=org.apache.uima
+com.ibm.uima.reference_impl.analysis_engine.service.soap=org.apache.uima.adapter.soap
+com.ibm.uima.reference_impl.resource.service.soap=org.apache.uima.adapter.soap
+com.ibm.uima.reference_impl.resource.service.soap.axis11=org.apache.uima.adapter.soap.axis11
+com.ibm.uima.reference_impl.analysis_engine.service.vinci=org.apache.uima.adapter.vinci
+com.ibm.uima.reference_impl.analysis_engine.service.vinci.util=org.apache.uima.adapter.vinci.util
+com.ibm.uima.reference_impl.collection.service.vinci=org.apache.uima.adapter.vinci
+com.ibm.uima.analysis_component=org.apache.uima.analysis_component
+com.ibm.uima.analysis_engine=org.apache.uima.analysis_engine
+com.ibm.uima.analysis_engine.annotator=org.apache.uima.analysis_engine.annotator
+com.ibm.uima.analysis_engine.asb=org.apache.uima.analysis_engine.asb
+com.ibm.uima.reference_impl.analysis_engine.asb=org.apache.uima.analysis_engine.asb.impl
+com.ibm.uima.reference_impl.analysis_engine=org.apache.uima.analysis_engine.impl
+com.ibm.uima.reference_impl.analysis_engine.compatibility=org.apache.uima.analysis_engine.impl.compatibility
+com.ibm.uima.analysis_engine.metadata=org.apache.uima.analysis_engine.metadata
+com.ibm.uima.reference_impl.analysis_engine.metadata=org.apache.uima.analysis_engine.metadata.impl
+com.ibm.uima.reference_impl.analysis_engine.service=org.apache.uima.analysis_engine.service.impl
+com.ibm.uima.cas=org.apache.uima.cas
+com.ibm.uima.cas.admin=org.apache.uima.cas.admin
+com.ibm.uima.cas.impl=org.apache.uima.cas.impl
+com.ibm.uima.cas.text=org.apache.uima.cas.text
+com.ibm.uima.cas_data=org.apache.uima.cas_data
+com.ibm.uima.reference_impl.cas_data=org.apache.uima.cas_data.impl
+com.ibm.uima.reference_impl.cas_data.vinci=org.apache.uima.cas_data.impl.vinci
+com.ibm.uima.collection=org.apache.uima.collection
+com.ibm.uima.collection.base_cpm=org.apache.uima.collection.base_cpm
+com.ibm.uima.reference_impl.collection=org.apache.uima.collection.impl
+com.ibm.uima.reference_impl.collection.base_cpm.container=org.apache.uima.collection.impl.base_cpm.container
+com.ibm.uima.reference_impl.collection.base_cpm.container.deployer=org.apache.uima.collection.impl.base_cpm.container.deployer
+com.ibm.uima.reference_impl.collection.cpm=org.apache.uima.collection.impl.cpm
+com.ibm.uima.reference_impl.collection.cpm.container=org.apache.uima.collection.impl.cpm.container
+com.ibm.uima.reference_impl.collection.cpm.container.deployer=org.apache.uima.collection.impl.cpm.container.deployer
+com.ibm.uima.reference_impl.collection.cpm.container.deployer.socket=org.apache.uima.collection.impl.cpm.container.deployer.socket
+com.ibm.uima.reference_impl.collection.cpm.container.deployer.vinci=org.apache.uima.collection.impl.cpm.container.deployer.vinci
+com.ibm.uima.reference_impl.collection.cpm.container.deployer.vns=org.apache.uima.collection.impl.cpm.container.deployer.vns
+com.ibm.uima.reference_impl.collection.cpm.engine=org.apache.uima.collection.impl.cpm.engine
+com.ibm.uima.reference_impl.collection.cpm.utils=org.apache.uima.collection.impl.cpm.utils
+com.ibm.uima.reference_impl.collection.cpm.vinci=org.apache.uima.collection.impl.cpm.vinci
+com.ibm.uima.reference_impl.collection.cpm.vinci.cas_data=org.apache.uima.collection.impl.cpm.vinci.cas_data
+com.ibm.uima.reference_impl.collection.metadata=org.apache.uima.collection.impl.metadata
+com.ibm.uima.reference_impl.collection.metadata.cpe=org.apache.uima.collection.impl.metadata.cpe
+com.ibm.uima.collection.metadata=org.apache.uima.collection.metadata
+com.ibm.uima.ecore=org.apache.uima.ecore
+com.ibm.uima.examples=org.apache.uima.examples
+com.ibm.uima.examples.cas=org.apache.uima.examples.cas
+com.ibm.uima.examples.casMultiplier=org.apache.uima.examples.casMultiplier
+com.ibm.uima.examples.cpe=org.apache.uima.examples.cpe
+com.ibm.uima.examples.flow=org.apache.uima.examples.flow
+com.ibm.uima.examples.tokenizer=org.apache.uima.examples.tokenizer
+com.ibm.uima.examples.xmi=org.apache.uima.examples.xmi
+com.ibm.uima.flow=org.apache.uima.flow
+com.ibm.uima.reference_impl.flow=org.apache.uima.flow.impl
+com.ibm.uima.reference_impl=org.apache.uima.impl
+com.ibm.uima.util.rb_trees=org.apache.uima.internal.util.rb_trees
+com.ibm.uima.util.text=org.apache.uima.internal.util.text
+com.ibm.uima.jcas=org.apache.uima.jcas
+com.ibm.uima.jcas.cas=org.apache.uima.jcas.cas
+com.ibm.uima.jcas.impl=org.apache.uima.jcas.impl
+com.ibm.uima.jcas.tcas=org.apache.uima.jcas.tcas
+com.ibm.uima.pear.tools=org.apache.uima.pear.tools
+com.ibm.uima.pear.util=org.apache.uima.pear.util
+com.ibm.uima.resource=org.apache.uima.resource
+com.ibm.uima.reference_impl.resource=org.apache.uima.resource.impl
+com.ibm.uima.resource.metadata=org.apache.uima.resource.metadata
+com.ibm.uima.reference_impl.resource.metadata=org.apache.uima.resource.metadata.impl
+com.ibm.uima.reference_impl.resource.service=org.apache.uima.resource.service.impl
+com.ibm.uima.search=org.apache.uima.search
+com.ibm.uima.reference_impl.search=org.apache.uima.search.impl
+com.ibm.uima.tools=org.apache.uima.tools
+com.ibm.uima.annot_view=org.apache.uima.tools.annot_view
+com.ibm.uima.annot_view.ts_editor=org.apache.uima.tools.annot_view.ts_editor
+com.ibm.uima.reference_impl.application=org.apache.uima.tools
+com.ibm.uima.reference_impl.application.cpm=org.apache.uima.tools.cpm
+com.ibm.uima.reference_impl.application.docanalyzer=org.apache.uima.tools.docanalyzer
+com.ibm.uima.reference_impl.application.stylemap=org.apache.uima.tools.stylemap
+com.ibm.uima.reference_impl.util.gui=org.apache.uima.tools.util.gui
+com.ibm.uima.reference_impl.util.htmlview=org.apache.uima.tools.util.htmlview
+com.ibm.uima.reference_impl.viewer=org.apache.uima.tools.viewer
+com.ibm.uima.images=org.apache.uima.tools.images
+com.ibm.uima.jcas.jcasgen_gen=org.apache.uima.tools.jcasgen
+com.ibm.uima.pear.install=org.apache.uima.tools.pear.install
+com.ibm.uima.pear.merger=org.apache.uima.tools.pear.merger
+com.ibm.uima.tutorial=org.apache.uima.tutorial
+com.ibm.uima.tutorial.ex1=org.apache.uima.tutorial.ex1
+com.ibm.uima.tutorial.ex2=org.apache.uima.tutorial.ex2
+com.ibm.uima.tutorial.ex3=org.apache.uima.tutorial.ex3
+com.ibm.uima.tutorial.ex4=org.apache.uima.tutorial.ex4
+com.ibm.uima.tutorial.ex5=org.apache.uima.tutorial.ex5
+com.ibm.uima.tutorial.ex6=org.apache.uima.tutorial.ex6
+com.ibm.uima.uimacpp=org.apache.uima.uimacpp
+com.ibm.uima.util=org.apache.uima.util
+com.ibm.uima.reference_impl.util=org.apache.uima.util.impl
+com.ibm.vinci.debug=org.apache.vinci.debug
+com.ibm.vinci.transport=org.apache.vinci.transport
+com.ibm.vinci.transport.context=org.apache.vinci.transport.context
+com.ibm.vinci.transport.document=org.apache.vinci.transport.document
+com.ibm.vinci.transport.util=org.apache.vinci.transport.util
+com.ibm.vinci.transport.vns=org.apache.vinci.transport.vns
+com.ibm.vinci.transport.vns.client=org.apache.vinci.transport.vns.client
+com.ibm.vinci.transport.vns.service=org.apache.vinci.transport.vns.service
\ No newline at end of file