Details

    Description

      As Jena 3.0.1 is now released, we should update taverna-maven-parent to use

      <jena.version>3.0.1</jena.version>
      

      instead of 2.13.0.

      Note that Jena 3 includes change of package names to from com.hp.hpl.jena to org.apache.jena

      Attachments

        Issue Links

          Activity

            Using jena-osgi 3.0.1 fails the tests of robundle:

            Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.419 sec <<< FAILURE! - in org.apache.taverna.robundle.validator.ValidatorTest
            test(org.apache.taverna.robundle.validator.ValidatorTest)  Time elapsed: 0.418 sec  <<< ERROR!
            java.lang.ExceptionInInitializerError: null
            	at org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33)
            	at org.apache.jena.tdb.TDB.init(TDB.java:250)
            	at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29)
            	at org.apache.jena.system.JenaSystem.lambda$init$40(JenaSystem.java:114)
            	at java.util.ArrayList.forEach(ArrayList.java:1249)
            	at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:179)
            	at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:156)
            	at org.apache.jena.system.JenaSystem.init(JenaSystem.java:111)
            	at org.apache.jena.rdf.model.ModelFactory.<clinit>(ModelFactory.java:49)
            	at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologyFromClasspath(RDFToManifest.java:315)
            	at org.apache.taverna.robundle.manifest.RDFToManifest.loadDCT(RDFToManifest.java:262)
            	at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologies(RDFToManifest.java:304)
            	at org.apache.taverna.robundle.manifest.RDFToManifest.<init>(RDFToManifest.java:182)
            	at org.apache.taverna.robundle.Bundle.readOrPopulateManifest(Bundle.java:114)
            	at org.apache.taverna.robundle.Bundle.getManifest(Bundle.java:87)
            	at org.apache.taverna.robundle.validator.RoValidator.validate(RoValidator.java:88)
            	at org.apache.taverna.robundle.validator.RoValidator.<init>(RoValidator.java:80)
            	at org.apache.taverna.robundle.validator.ValidatorTest.test(ValidatorTest.java:47)
            
            Running org.apache.taverna.robundle.TestExample
            Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.278 sec <<< FAILURE! - in org.apache.taverna.robundle.TestExample
            example(org.apache.taverna.robundle.TestExample)  Time elapsed: 0.277 sec  <<< ERROR!
            java.lang.NoClassDefFoundError: Could not initialize class org.apache.jena.rdf.model.ModelFactory
            	at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologyFromClasspath(RDFToManifest.java:315)
            	at org.apache.taverna.robundle.manifest.RDFToManifest.loadDCT(RDFToManifest.java:262)
            	at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologies(RDFToManifest.java:304)
            	at org.apache.taverna.robundle.manifest.RDFToManifest.<init>(RDFToManifest.java:182)
            	at org.apache.taverna.robundle.Bundle.readOrPopulateManifest(Bundle.java:114)
            	at org.apache.taverna.robundle.Bundle.getManifest(Bundle.java:87)
            	at org.apache.taverna.robundle.Bundle.close(Bundle.java:61)
            	at org.apache.taverna.robundle.Bundle.close(Bundle.java:52)
            	at org.apache.taverna.robundle.TestExample.example(TestExample.java:100)
            

            3.0.0 works fine - is this caused by JENA-1038 or other changes to the Jena initialization system?

            We should report this upstream to Jena and use 3.0.0 as workaround.

            stain Stian Soiland-Reyes added a comment - Using jena-osgi 3.0.1 fails the tests of robundle: Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.419 sec <<< FAILURE! - in org.apache.taverna.robundle.validator.ValidatorTest test(org.apache.taverna.robundle.validator.ValidatorTest) Time elapsed: 0.418 sec <<< ERROR! java.lang.ExceptionInInitializerError: null at org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33) at org.apache.jena.tdb.TDB.init(TDB.java:250) at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29) at org.apache.jena.system.JenaSystem.lambda$init$40(JenaSystem.java:114) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:179) at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:156) at org.apache.jena.system.JenaSystem.init(JenaSystem.java:111) at org.apache.jena.rdf.model.ModelFactory.<clinit>(ModelFactory.java:49) at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologyFromClasspath(RDFToManifest.java:315) at org.apache.taverna.robundle.manifest.RDFToManifest.loadDCT(RDFToManifest.java:262) at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologies(RDFToManifest.java:304) at org.apache.taverna.robundle.manifest.RDFToManifest.<init>(RDFToManifest.java:182) at org.apache.taverna.robundle.Bundle.readOrPopulateManifest(Bundle.java:114) at org.apache.taverna.robundle.Bundle.getManifest(Bundle.java:87) at org.apache.taverna.robundle.validator.RoValidator.validate(RoValidator.java:88) at org.apache.taverna.robundle.validator.RoValidator.<init>(RoValidator.java:80) at org.apache.taverna.robundle.validator.ValidatorTest.test(ValidatorTest.java:47) Running org.apache.taverna.robundle.TestExample Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.278 sec <<< FAILURE! - in org.apache.taverna.robundle.TestExample example(org.apache.taverna.robundle.TestExample) Time elapsed: 0.277 sec <<< ERROR! java.lang.NoClassDefFoundError: Could not initialize class org.apache.jena.rdf.model.ModelFactory at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologyFromClasspath(RDFToManifest.java:315) at org.apache.taverna.robundle.manifest.RDFToManifest.loadDCT(RDFToManifest.java:262) at org.apache.taverna.robundle.manifest.RDFToManifest.loadOntologies(RDFToManifest.java:304) at org.apache.taverna.robundle.manifest.RDFToManifest.<init>(RDFToManifest.java:182) at org.apache.taverna.robundle.Bundle.readOrPopulateManifest(Bundle.java:114) at org.apache.taverna.robundle.Bundle.getManifest(Bundle.java:87) at org.apache.taverna.robundle.Bundle.close(Bundle.java:61) at org.apache.taverna.robundle.Bundle.close(Bundle.java:52) at org.apache.taverna.robundle.TestExample.example(TestExample.java:100) 3.0.0 works fine - is this caused by JENA-1038 or other changes to the Jena initialization system? We should report this upstream to Jena and use 3.0.0 as workaround.

            Probably relates to JENA-1039.

            stain Stian Soiland-Reyes added a comment - Probably relates to JENA-1039 .

            Not so sure about JENA-1039.. some other kind of race-condition.

            Error is in:

            https://github.com/apache/jena/blob/jena-3.0.1/jena-tdb/src/main/java/org/apache/jena/tdb/sys/EnvTDB.java#L33

             TDB.getContext().putAll(context) ;
            

            which calls:

            https://github.com/apache/jena/blob/jena-3.0.1/jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java#L112
            and in
            https://github.com/apache/jena/blob/jena-3.0.1/jena-arq/src/main/java/org/apache/jena/query/ARQ.java#L597
            this assumes ARQ has already been initialized in
            https://github.com/apache/jena/blob/jena-3.0.1/jena-arq/src/main/java/org/apache/jena/query/ARQ.java#L560

            which is reasonable looking at the documented levels in
            https://github.com/apache/jena/blob/jena-3.0.1/jena-core/src/main/java/org/apache/jena/system/JenaSystem.java#L31
            and
            http://jena.apache.org/documentation/notes/system-initialization.html

            Perhaps something is wrong with using the jena-osgi packaging of initializations?

            If I use jena-arq 3.0.1 instead of jena-osgi 3.0.1
            all tests in robundle work, so it is probably something wrong with overwrites of

            META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
            

            in jena-osgi.jar:

            stain@biggie:~/.m2/repository/org/apache/jena/jena-osgi$ unzip ./3.0.1/jena-osgi-3.0.1.jar META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
            Archive:  ./3.0.1/jena-osgi-3.0.1.jar
              inflating: META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle  
            
            stain@biggie:~/.m2/repository/org/apache/jena/jena-osgi$ cat META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
            org.apache.jena.tdb.sys.InitTDB
            

            I'll report it upstream.

            stain Stian Soiland-Reyes added a comment - Not so sure about JENA-1039 .. some other kind of race-condition. Error is in: https://github.com/apache/jena/blob/jena-3.0.1/jena-tdb/src/main/java/org/apache/jena/tdb/sys/EnvTDB.java#L33 TDB.getContext().putAll(context) ; which calls: https://github.com/apache/jena/blob/jena-3.0.1/jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java#L112 and in https://github.com/apache/jena/blob/jena-3.0.1/jena-arq/src/main/java/org/apache/jena/query/ARQ.java#L597 this assumes ARQ has already been initialized in https://github.com/apache/jena/blob/jena-3.0.1/jena-arq/src/main/java/org/apache/jena/query/ARQ.java#L560 which is reasonable looking at the documented levels in https://github.com/apache/jena/blob/jena-3.0.1/jena-core/src/main/java/org/apache/jena/system/JenaSystem.java#L31 and http://jena.apache.org/documentation/notes/system-initialization.html Perhaps something is wrong with using the jena-osgi packaging of initializations? If I use jena-arq 3.0.1 instead of jena-osgi 3.0.1 all tests in robundle work, so it is probably something wrong with overwrites of META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle in jena-osgi.jar: stain@biggie:~/.m2/repository/org/apache/jena/jena-osgi$ unzip ./3.0.1/jena-osgi-3.0.1.jar META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle Archive: ./3.0.1/jena-osgi-3.0.1.jar inflating: META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle stain@biggie:~/.m2/repository/org/apache/jena/jena-osgi$ cat META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle org.apache.jena.tdb.sys.InitTDB I'll report it upstream.

            I've made Taverna use 3.0.0 (not 3.0.1) until JENA-1139 is released upstream - so I'll close this bug.

            stain Stian Soiland-Reyes added a comment - I've made Taverna use 3.0.0 (not 3.0.1) until JENA-1139 is released upstream - so I'll close this bug.

            People

              stain Stian Soiland-Reyes
              stain Stian Soiland-Reyes
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: