Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.7-RC1
    • Fix Version/s: 8.0-M0
    • Component/s: xml
    • Labels:
      None

      Description

      Mail thread from geotools-devel:

      Am 10.02.2011 18:51, schrieb Justin Deoliveira:
      > Actually now that trunk is free the EMF upgrade is my first geotools
      > priority when i get a bit of free time. Mostly because i want to
      > evaluate the performance improvements and because i think it might help
      > with an issue Ben is currently having,.
      >
      > Getting gt to compile against the latest emf was not too hard, a few
      > trivial compilation errors here and there due to the use of generics.
      > However I did no testing beyond that.
      >
      > Ben might have a mandate to help on the EMF upgrade. Ben?
      >
      > On Thu, Feb 10, 2011 at 9:09 AM, Andrea Aime
      > <andrea.aime@geo-solutions.it <andrea.aime@geo-solutions.it>> wrote:
      >
      > On Thu, Feb 10, 2011 at 4:57 PM, Matthias Lendholt
      > <matthias.lendholt@gfz-potsdam.de
      > <matthias.lendholt@gfz-potsdam.de>> wrote:
      > > Hopefully. First I have to setup maven/eclipse/svn for a fresh
      > geotools
      > > workspace to access trunk. Or have you switched to git?
      >
      > GeoTools is still on svn.
      > The thing is, will Justin have time to play with an EMF upgrade? It's
      > not something we can
      > take for granted.
      > Wondering if someone else could do it with Justin providing
      > information about his latest
      > attempt at it
      >

      Am 09.02.2011 17:22, schrieb Matthias Lendholt:
      > Dear udig-devel, geotools-devel,
      >
      > (Sorry for crossposting but this affects both uDig and Geotools)
      >
      > Recently we upgraded our project from eclipse 3.5, udig-sdk_1.2RC1
      > (geotools 2.6.2) to eclipse 3.6, udig_sdk_1.2.1 (with geotools 2.7-RC1).
      >
      >
      > For the integretion / wrapping of WPS processes the application uses
      > gt-process (org.geotools.process) and gt-wps (org.geotools.data.wps).
      >
      > Since the upgrade java.lang.InstantiationError are thrown whenever the
      > application tries to use org.geotools.data.wps.WPSFactory to access a
      > WPS. Stacktrace below.
      >
      > The exception is thrown in
      > jar: net.opengis.wps-2.7-RC1.jar
      > file: net.opengis.wps10.impl.UOMsTypeImpl
      > row 81: uOM = new EcoreEList(Unit.class, this );
      >
      >
      > EcoreEList is in org.eclipse.emf.ecore_2.6.1.v20100914-1218.jar
      >
      > It's not easy to debug... but I guess somewhere between geotools 2.6.2
      > and 2.7-RC1 the compatibility with emf.ecore was lost. In
      > udig-sdk_1.2RC1 the version emf.ecore_2.5.0 was used and included (and
      > it worked). I haven't checked the constructor details so far but maybe
      > something has changed here.
      >
      > Any ideas / help?
      >
      >
      >
      > org.dews_online.ccui.spc.wps 4 0 2011-02-09 11:12:11.871
      > !MESSAGE GetSupportedGeocodeTypesProcess: Parsing failed for Supported:
      > java.lang.InstantiationError: org.eclipse.emf.ecore.util.EcoreEList
      > !STACK 0
      > java.lang.RuntimeException: Parsing failed for Supported:
      > java.lang.InstantiationError: org.eclipse.emf.ecore.util.EcoreEList
      > at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:158)
      > at
      > org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:215)
      > at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:181)
      > at
      > org.geotools.xml.impl.ElementHandlerImpl.endElement(ElementHandlerImpl.java:222)
      > at org.geotools.xml.impl.ParserHandler.endElement(ParserHandler.java:607)
      > at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      > at
      > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
      > Source)
      > at
      > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
      > Source)
      > at
      > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
      > Source)
      > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      > at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      > at org.geotools.xml.Parser.parse(Parser.java:223)
      > at org.geotools.xml.Parser.parse(Parser.java:151)
      > at
      > org.geotools.data.wps.response.DescribeProcessResponse.<init>(DescribeProcessResponse.java:67)
      > at
      > org.geotools.data.wps.WPS1_0_0$InternalDescribeProcessRequest.createResponse(WPS1_0_0.java:135)
      > at
      > org.geotools.data.ows.AbstractWPS.internalIssueRequest(AbstractWPS.java:419)
      > at
      > org.geotools.data.wps.WebProcessingService.issueRequest(WebProcessingService.java:235)
      > at
      > org.dews_online.geotools.wps.SimpleWpsConnector.getWpsFactory(SimpleWpsConnector.java:74)
      > at
      > org.dews_online.geotools.wps.SimpleWpsConnector.executeProcess(SimpleWpsConnector.java:113)
      > at
      > org.dews_online.ccui.spc.wps.processwrapper.AProcess.executeProcess(AProcess.java:40)
      > at
      > org.dews_online.ccui.spc.wps.processwrapper.GetGeocodesProcess.getGeoCodes(GetGeocodesProcess.java:63)
      > at
      > org.dews_online.ccui.spc.wps.processwrapper.GetGeocodesProcess.getGeoCodes(GetGeocodesProcess.java:87)
      > at
      > org.dews_online.ccui.ilc.control.jobs.UpdateGeocodeJob.run(UpdateGeocodeJob.java:41)
      > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
      >
      > Caused by: java.lang.InstantiationError:
      > org.eclipse.emf.ecore.util.EcoreEList
      > at net.opengis.wps10.impl.UOMsTypeImpl.getUOM(UOMsTypeImpl.java:81)
      > at net.opengis.wps10.impl.UOMsTypeImpl.eGet(UOMsTypeImpl.java:94)
      > at
      > org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1021)
      > at
      > org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1013)
      > at
      > org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1008)
      > at org.geotools.xml.EMFUtils.get(EMFUtils.java:75)
      > at org.geotools.xml.EMFUtils.isCollection(EMFUtils.java:140)
      > at
      > org.geotools.xml.AbstractComplexEMFBinding.setProperty(AbstractComplexEMFBinding.java:231)
      > at
      > org.geotools.xml.AbstractComplexEMFBinding.setProperties(AbstractComplexEMFBinding.java:204)
      > at
      > org.geotools.xml.AbstractComplexEMFBinding.parse(AbstractComplexEMFBinding.java:145)
      > at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:149)
      > ... 25 more

        Issue Links

          Activity

          Hide
          Ben Caradoc-Davies added a comment -
          -------- Original Message --------
          Subject: EMF upgrade
          Date: Thu, 10 Mar 2011 12:00:02 +0800
          From: Ben Caradoc-Davies
          To: Justin Deoliveira
          CC: geotools-devel@lists.sourceforge.net

          Justin,

          I am quite keen to upgrade EMF to see if it helps resolve some of our
          outstanding issues:
          http://jira.codehaus.org/browse/GEOT-3431
          http://jira.codehaus.org/browse/GEOT-3327

          I will not be able to devote serious time to this until 28 March at the
          earliest, but you could give me a few hints as to how this should be
          done. (If you are doing this yourself, please let me know.)

          - What version of EMF should we target?

          - The eclipse maven repos look far behind, and the last thing we need is
          another repo in our builds (and I'm sure Andrea will agree with me).

          - EMF 2.6.1 is out:
          http://www.eclipse.org/modeling/download.php?file=/modeling/emf/emf/downloads/drops/2.6.x/R201009141218/emf-xsd-SDK-2.6.1.zip

          - One of us could extract the emf/xsd/common binary and source jars from
          the zip, rename them, and deploy them to the geotools repo. Is this how
          you uploaded the existing artifacts?

          - This would also be a good time to put the dependencies under
          dependency management in the root pom. One example, from the gt-xsd-core
          pom.xml:

              <dependency>
                <groupId>org.eclipse.xsd</groupId>
                <artifactId>xsd</artifactId>
                <version>2.2.2</version>
              </dependency>
              <dependency>
                <groupId>org.eclipse.emf</groupId>
                <artifactId>common</artifactId>
                <version>2.2.1</version>
              </dependency>
              <dependency>
                <groupId>org.eclipse.emf</groupId>
                <artifactId>ecore</artifactId>
                <version>2.2.2</version>
              </dependency>

          Just thinking aloud, so please interrupt me if I am going off track. :-)

          Kind regards,

          --
          Ben Caradoc-Davies
          Software Engineering Team Leader
          CSIRO Earth Science and Resource Engineering
          Australian Resources Research Centre
          Show
          Ben Caradoc-Davies added a comment - -------- Original Message -------- Subject: EMF upgrade Date: Thu, 10 Mar 2011 12:00:02 +0800 From: Ben Caradoc-Davies To: Justin Deoliveira CC: geotools-devel@lists.sourceforge.net Justin, I am quite keen to upgrade EMF to see if it helps resolve some of our outstanding issues: http://jira.codehaus.org/browse/GEOT-3431 http://jira.codehaus.org/browse/GEOT-3327 I will not be able to devote serious time to this until 28 March at the earliest, but you could give me a few hints as to how this should be done. (If you are doing this yourself, please let me know.) - What version of EMF should we target? - The eclipse maven repos look far behind, and the last thing we need is another repo in our builds (and I'm sure Andrea will agree with me). - EMF 2.6.1 is out: http://www.eclipse.org/modeling/download.php?file=/modeling/emf/emf/downloads/drops/2.6.x/R201009141218/emf-xsd-SDK-2.6.1.zip - One of us could extract the emf/xsd/common binary and source jars from the zip, rename them, and deploy them to the geotools repo. Is this how you uploaded the existing artifacts? - This would also be a good time to put the dependencies under dependency management in the root pom. One example, from the gt-xsd-core pom.xml:     <dependency>       <groupId>org.eclipse.xsd</groupId>       <artifactId>xsd</artifactId>       <version>2.2.2</version>     </dependency>     <dependency>       <groupId>org.eclipse.emf</groupId>       <artifactId>common</artifactId>       <version>2.2.1</version>     </dependency>     <dependency>       <groupId>org.eclipse.emf</groupId>       <artifactId>ecore</artifactId>       <version>2.2.2</version>     </dependency> Just thinking aloud, so please interrupt me if I am going off track. :-) Kind regards, -- Ben Caradoc-Davies Software Engineering Team Leader CSIRO Earth Science and Resource Engineering Australian Resources Research Centre
          Hide
          Ben Caradoc-Davies added a comment -
          Justin, I also assume that this work will be for trunk only. Might be a bridge too far for stable.
          Show
          Ben Caradoc-Davies added a comment - Justin, I also assume that this work will be for trunk only. Might be a bridge too far for stable.
          Hide
          Ben Caradoc-Davies added a comment -
          Matthias, now the geotools-trunk has been upgraded, can you see if the next nightly resolves your issue?
          Show
          Ben Caradoc-Davies added a comment - Matthias, now the geotools-trunk has been upgraded, can you see if the next nightly resolves your issue?
          Hide
          Ben Caradoc-Davies added a comment -
          Matthias, the key change in GEOT-3466 that should help your problem is the change in UOMsTypeImpl to use EObjectEList not EcoreEList, which has become abstract (so the new EMF was *not* binary backwards compatible as claimed by the authors). This alone may fix your original problem.
          Show
          Ben Caradoc-Davies added a comment - Matthias, the key change in GEOT-3466 that should help your problem is the change in UOMsTypeImpl to use EObjectEList not EcoreEList, which has become abstract (so the new EMF was *not* binary backwards compatible as claimed by the authors). This alone may fix your original problem.
          Hide
          Matthias Lendholt added a comment -
          Ok, I tested my code against geotools trunk and it works. However, I have to wait until the emf upgrade raises up to the geotools version in uDig. Then I can finally check whether the compatibility problem between emf used by geotools and emf provided by eclipse 3.6 has been resolved.
          Show
          Matthias Lendholt added a comment - Ok, I tested my code against geotools trunk and it works. However, I have to wait until the emf upgrade raises up to the geotools version in uDig. Then I can finally check whether the compatibility problem between emf used by geotools and emf provided by eclipse 3.6 has been resolved.
          Hide
          Matthias Lendholt added a comment -
          Ok. resolved.
          Any chance to get this also in the 2.7 branch? This would bring it faster to uDig...
          Show
          Matthias Lendholt added a comment - Ok. resolved. Any chance to get this also in the 2.7 branch? This would bring it faster to uDig...
          Hide
          Andrea Aime added a comment -
          Mass closing all issues that have been in "resolved" state for more than one month without further comments
          Show
          Andrea Aime added a comment - Mass closing all issues that have been in "resolved" state for more than one month without further comments

            People

            • Assignee:
              Justin Deoliveira
              Reporter:
              Matthias Lendholt
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: