I've realized that the issue of Java 1.5 or greater is only an issue for users who modify the JCas generated classes, and try and use Java constructs beyond 1.4. This is because JCasGen only generates 1.4 level code. So I suggest we add a note about this, perhaps to the known issues section of the manual, for now.

Doing a "local update site" is an option - but this requires making the plugins into one or more Eclipse Features. This is a to-do in Jira ( https://issues.apache.org/jira/browse/UIMA-74 ). I agree this would be a great thing to do ;-)

-Marshall

Thilo Goetz wrote:
My opinion: not a problem in principle.  What might lead to user problems is
not that we prereq Eclipse 3.2, but rather that our current plugin install has
no way of checking for the Eclipse version.  Is it possible to have such a
thing as a local update site as part of our distribution?  Something where
we can check what level of Eclipse the user has and issue an error if it's
too low?  I think we've discussed this before, we could check for EMF at the
same time.  That would be very helpful, both to us and our users.

--Thilo

Marshall Schor (JIRA) wrote:
[ https://issues.apache.org/jira/browse/UIMA-510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513727 ]
Marshall Schor commented on UIMA-510:
-------------------------------------

Investigation shows that the EMF merge code was updated to handle Java 1.5 (and 
later?) as of EMF 2.2, which corresponds to Eclipse 3.2.  How serious a problem 
is it if we have
Eclipse 3.2 as the minimum level of Eclipse we run with?

JCasGen uses an older Java model for merging hand-coded code with generated code, which doesn't support Java beyond the 1.4 level. ------------------------------------------------------------------------------------------------------------------------------------

                Key: UIMA-510
                URL: https://issues.apache.org/jira/browse/UIMA-510
            Project: UIMA
         Issue Type: Bug
         Components: Tools
   Affects Versions: 2.1, 2.2
           Reporter: Marshall Schor

JCasGen has a "merge" functionality to merge user-written code in previous versions of 
the generated JCas cover classes, with regenerated versions of these cover classes, so as to 
preserve the user-written code (new code or modifications).  The functionality is provided by EMF.  
EMF started issuing warning messages that the Java modelling package it uses, "JDOM", was 
not updated for Java versions beyond Java 1.4.  Because of this, running JCasGen gives the 
following message in the Eclipse Error Log: Using the JDOM API when the source compatibility is not 
set to '1.4' or lower can cause unpredictable results.
The fix is to see if our use of EMF for this can be modified to use JDT's AST 
APIs instead.  For EMF itself, there is a property for the Facade Helper Class 
in the GenModel that can be switched to  
org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelper - this might be 
where to start looking.




Reply via email to