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.