[ 
https://issues.apache.org/jira/browse/UIMA-4518?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marshall Schor updated UIMA-4518:
---------------------------------
    Description: 
Add a standalone tooling for migrating v2 JCas classes to V3 style, while 
preserving any customization that may have been done.
Initial approach: 
* command line tool, 
* inputs are file system "roots" which are searched for either .java or .class 
files, recursively, including within Jar files.  
** For all that are likely JCas classes (use various heuristics, including if 
there is a paired ..._Type class), migrate the source form.  
*** If starting with .class files, decompile those first to get the source 
form. 
* The migration consists of first parsing the source into an AST (Java Abstract 
Syntax Tree), and then having a view visitor methods to modify selected parts 
of the tree, including getters/setters and the 2-arg constructor. 
* The migration tool should also report summaries of what it did, and handle 
things like multiple instances (including identifying which of these are 
ignorable because the files are all the same, and which have differences - so 
the user can decide).

  was:Some of the discussion for uv3x (UIMA Version 3 experiments) involve a 
new  incompatible approach for JCas cover classes.  To aid in migration, 
develop tooling that will identify those cover classes which have been 
customized (hopefully, a small number).  This has two parts: one is dumping 
(under the control of some flag) decompiled versions of all loaded JCas cover 
classes, and another tool that inspects those and determines which ones have 
been customized.  Special handling is needed for PEARs which might redefine the 
cover classes.


> uv3x Customized JCas cover class migration tooling
> --------------------------------------------------
>
>                 Key: UIMA-4518
>                 URL: https://issues.apache.org/jira/browse/UIMA-4518
>             Project: UIMA
>          Issue Type: New Feature
>          Components: Core Java Framework
>            Reporter: Marshall Schor
>            Priority: Minor
>
> Add a standalone tooling for migrating v2 JCas classes to V3 style, while 
> preserving any customization that may have been done.
> Initial approach: 
> * command line tool, 
> * inputs are file system "roots" which are searched for either .java or 
> .class files, recursively, including within Jar files.  
> ** For all that are likely JCas classes (use various heuristics, including if 
> there is a paired ..._Type class), migrate the source form.  
> *** If starting with .class files, decompile those first to get the source 
> form. 
> * The migration consists of first parsing the source into an AST (Java 
> Abstract Syntax Tree), and then having a view visitor methods to modify 
> selected parts of the tree, including getters/setters and the 2-arg 
> constructor. 
> * The migration tool should also report summaries of what it did, and handle 
> things like multiple instances (including identifying which of these are 
> ignorable because the files are all the same, and which have differences - so 
> the user can decide).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to