From 48a61d91550384f3ca30348db67edc6a23f4a8ef Mon Sep 17 00:00:00 2001 From: Brett Meyer Date: Tue, 23 Jul 2013 15:43:48 -0400 Subject: [PATCH] HHH-8372 multiple CL issues, updated Felix properties --- .../source/annotations/util/JandexHelper.java | 3 +- .../EntityManagerFactoryBuilderImpl.java | 197 +++++++++--------- hibernate-osgi/hibernate-osgi.gradle | 2 - .../test/resources/felix-framework.properties | 8 +- 4 files changed, 104 insertions(+), 106 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/annotations/util/JandexHelper.java b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/annotations/util/JandexHelper.java index cfc56211e3..ef4c2ecf69 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/annotations/util/JandexHelper.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/annotations/util/JandexHelper.java @@ -54,6 +54,7 @@ import org.hibernate.AssertionFailure; import org.hibernate.HibernateException; import org.hibernate.MappingException; import org.hibernate.boot.registry.classloading.spi.ClassLoaderService; +import org.hibernate.internal.util.ClassLoaderHelper; import org.hibernate.service.ServiceRegistry; /** @@ -501,7 +502,7 @@ public class JandexHelper { return val; } try { - val = Index.class.getClassLoader().loadClass( name ).getMethod( element ).getDefaultValue(); + val = ClassLoaderHelper.getContextClassLoader().loadClass( name ).getMethod( element ).getDefaultValue(); if ( val != null ) { // Annotation parameters of type Class are handled using Strings if ( val instanceof Class ) { diff --git a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderImpl.java b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderImpl.java index 5ff73da5fb..d1257d34d7 100644 --- a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderImpl.java +++ b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderImpl.java @@ -940,111 +940,110 @@ public class EntityManagerFactoryBuilderImpl implements EntityManagerFactoryBuil final StandardServiceRegistry serviceRegistry = buildServiceRegistry(); final ClassLoaderService classLoaderService = serviceRegistry.getService( ClassLoaderService.class ); - // IMPL NOTE : TCCL handling here is temporary. - // It is needed because this code still uses Hibernate Configuration and Hibernate commons-annotations - // in turn which relies on TCCL being set. - if ( usingNewMetadata ) { - final JaccService jaccService = serviceRegistry.getService( JaccService.class ); - for ( GrantedPermission grantedPermission : grantedJaccPermissions ) { - jaccService.addPermission( grantedPermission ); - } - - final Object strategyProviderValue = configurationValues.get( AvailableSettings.IDENTIFIER_GENERATOR_STRATEGY_PROVIDER ); - final IdentifierGeneratorStrategyProvider strategyProvider = strategyProviderValue == null - ? null - : serviceRegistry.getService( StrategySelector.class ) - .resolveStrategy( IdentifierGeneratorStrategyProvider.class, strategyProviderValue ); - - if ( strategyProvider != null ) { - for ( Map.Entry> entry : strategyProvider.getStrategies().entrySet() ) { - serviceRegistry.getService( MutableIdentifierGeneratorFactory.class ).register( entry.getKey(), entry.getValue() ); - } - } - - metadataSources.addCacheRegionDefinitions( cacheRegionDefinitions ); - for ( JaxbHibernateConfiguration.JaxbSessionFactory.JaxbMapping jaxbMapping : cfgXmlNamedMappings ) { - if ( jaxbMapping.getResource() != null ) { - metadataSources.addResource( jaxbMapping.getResource() ); - } - else if ( jaxbMapping.getJar() != null ) { - metadataSources.addJar( new File( jaxbMapping.getJar() ) ); - } - } - - - - MetadataBuilder builder = metadataSources.getMetadataBuilder( serviceRegistry ); - builder.with( jandexIndex ); - if ( namingStrategy != null ) { - builder.with( namingStrategy ); - } - - MetadataImplementor metadata = (MetadataImplementor)builder.build(); - - - SessionFactoryBuilder sfBuilder = metadata.getSessionFactoryBuilder(); - sfBuilder.with( jpaEntityNotFoundDelegate ); - if ( sessionFactoryInterceptor != null ) { - sfBuilder.with( sessionFactoryInterceptor ); - } - - - if ( suppliedSessionFactoryObserver != null ) { - sfBuilder.add( suppliedSessionFactoryObserver ); - } - sfBuilder.add( new ServiceRegistryCloser() ); - - SessionFactoryImplementor sessionFactory; - try { - sessionFactory = (SessionFactoryImplementor) sfBuilder.build(); - } - catch ( MappingException e ) { - throw persistenceException( "Unable to build Hibernate SessionFactory", e ); - } - - return new EntityManagerFactoryImpl( - persistenceUnit.getName(), - sessionFactory, - settings, - configurationValues, - serviceRegistry.getService( ConfigurationService.class ).getSettings(), - metadata - ); - } - else { - return ( (ClassLoaderServiceImpl) classLoaderService ).withTccl( - new ClassLoaderServiceImpl.Work() { - @Override - public EntityManagerFactoryImpl perform() { - hibernateConfiguration = buildHibernateConfiguration( serviceRegistry ); - JpaSchemaGenerator.performGeneration( hibernateConfiguration, serviceRegistry ); - SessionFactoryImplementor sessionFactory; - try { - sessionFactory = (SessionFactoryImplementor) hibernateConfiguration.buildSessionFactory( - serviceRegistry - ); + // IMPL NOTE : TCCL handling here is needed because of commons-annotations, Jandex, etc. relying on TCCL being set. + return ( (ClassLoaderServiceImpl) classLoaderService ).withTccl( + new ClassLoaderServiceImpl.Work() { + @Override + public EntityManagerFactoryImpl perform() { + + if ( usingNewMetadata ) { + final JaccService jaccService = serviceRegistry.getService( JaccService.class ); + for ( GrantedPermission grantedPermission : grantedJaccPermissions ) { + jaccService.addPermission( grantedPermission ); + } + + final Object strategyProviderValue = configurationValues.get( AvailableSettings.IDENTIFIER_GENERATOR_STRATEGY_PROVIDER ); + final IdentifierGeneratorStrategyProvider strategyProvider = strategyProviderValue == null + ? null + : serviceRegistry.getService( StrategySelector.class ) + .resolveStrategy( IdentifierGeneratorStrategyProvider.class, strategyProviderValue ); + + if ( strategyProvider != null ) { + for ( Map.Entry> entry : strategyProvider.getStrategies().entrySet() ) { + serviceRegistry.getService( MutableIdentifierGeneratorFactory.class ).register( entry.getKey(), entry.getValue() ); } - catch ( MappingException e ) { - throw persistenceException( "Unable to build Hibernate SessionFactory", e ); + } + + metadataSources.addCacheRegionDefinitions( cacheRegionDefinitions ); + for ( JaxbHibernateConfiguration.JaxbSessionFactory.JaxbMapping jaxbMapping : cfgXmlNamedMappings ) { + if ( jaxbMapping.getResource() != null ) { + metadataSources.addResource( jaxbMapping.getResource() ); } - - if ( suppliedSessionFactoryObserver != null ) { - sessionFactory.addObserver( suppliedSessionFactoryObserver ); + else if ( jaxbMapping.getJar() != null ) { + metadataSources.addJar( new File( jaxbMapping.getJar() ) ); } - sessionFactory.addObserver( new ServiceRegistryCloser() ); - - // NOTE : passing cfg is temporary until - return new EntityManagerFactoryImpl( - persistenceUnit.getName(), - sessionFactory, - settings, - configurationValues, - hibernateConfiguration + } + + + + MetadataBuilder builder = metadataSources.getMetadataBuilder( serviceRegistry ); + builder.with( jandexIndex ); + if ( namingStrategy != null ) { + builder.with( namingStrategy ); + } + + MetadataImplementor metadata = (MetadataImplementor)builder.build(); + + + SessionFactoryBuilder sfBuilder = metadata.getSessionFactoryBuilder(); + sfBuilder.with( jpaEntityNotFoundDelegate ); + if ( sessionFactoryInterceptor != null ) { + sfBuilder.with( sessionFactoryInterceptor ); + } + + + if ( suppliedSessionFactoryObserver != null ) { + sfBuilder.add( suppliedSessionFactoryObserver ); + } + sfBuilder.add( new ServiceRegistryCloser() ); + + SessionFactoryImplementor sessionFactory; + try { + sessionFactory = (SessionFactoryImplementor) sfBuilder.build(); + } + catch ( MappingException e ) { + throw persistenceException( "Unable to build Hibernate SessionFactory", e ); + } + + return new EntityManagerFactoryImpl( + persistenceUnit.getName(), + sessionFactory, + settings, + configurationValues, + serviceRegistry.getService( ConfigurationService.class ).getSettings(), + metadata + ); + } + else { + hibernateConfiguration = buildHibernateConfiguration( serviceRegistry ); + JpaSchemaGenerator.performGeneration( hibernateConfiguration, serviceRegistry ); + SessionFactoryImplementor sessionFactory; + try { + sessionFactory = (SessionFactoryImplementor) hibernateConfiguration.buildSessionFactory( + serviceRegistry ); } + catch ( MappingException e ) { + throw persistenceException( "Unable to build Hibernate SessionFactory", e ); + } + + if ( suppliedSessionFactoryObserver != null ) { + sessionFactory.addObserver( suppliedSessionFactoryObserver ); + } + sessionFactory.addObserver( new ServiceRegistryCloser() ); + + // NOTE : passing cfg is temporary until + return new EntityManagerFactoryImpl( + persistenceUnit.getName(), + sessionFactory, + settings, + configurationValues, + hibernateConfiguration + ); } - ); - } + } + } + ); } private void processProperties() { diff --git a/hibernate-osgi/hibernate-osgi.gradle b/hibernate-osgi/hibernate-osgi.gradle index 47e004745b..fdf48c5ab4 100644 --- a/hibernate-osgi/hibernate-osgi.gradle +++ b/hibernate-osgi/hibernate-osgi.gradle @@ -122,5 +122,3 @@ runBnd.dependsOn copyBnd test.dependsOn runBnd test.dependsOn testClientBundleJar test.dependsOn jar - -test.enabled = false diff --git a/hibernate-osgi/src/test/resources/felix-framework.properties b/hibernate-osgi/src/test/resources/felix-framework.properties index a13b5f1ce9..f63cfdb94a 100644 --- a/hibernate-osgi/src/test/resources/felix-framework.properties +++ b/hibernate-osgi/src/test/resources/felix-framework.properties @@ -38,10 +38,10 @@ felix.auto.start.1=\ file:target/osgi-lib/hibernate-commons-annotations-4.0.2.Final.jar \ file:target/osgi-lib/bnd/jandex-1.1.0.jar \ file:target/osgi-lib/classmate-0.8.0.jar \ - file:target/osgi-lib/jboss-logging-3.1.0.GA.jar \ - file:../hibernate-core/target/libs/hibernate-core-4.3.0-SNAPSHOT.jar \ - file:../hibernate-entitymanager/target/libs/hibernate-entitymanager-4.3.0-SNAPSHOT.jar \ - file:target/libs/hibernate-osgi-4.3.0-SNAPSHOT.jar + file:target/osgi-lib/jboss-logging-3.1.1.GA.jar \ + file:../hibernate-core/target/libs/hibernate-core-5.0.0-SNAPSHOT.jar \ + file:../hibernate-entitymanager/target/libs/hibernate-entitymanager-5.0.0-SNAPSHOT.jar \ + file:target/libs/hibernate-osgi-5.0.0-SNAPSHOT.jar # See note on OsgiTestCase. org.osgi.framework.system.packages=org.osgi.framework; version="1.7.0", org.osgi.framework.hooks.bundle; version="1.1.0", org.osgi.framework.hooks.resolver; version="1.0.0", org.osgi.framework.hooks.service; version="1.1.0", org.osgi.framework.hooks.weaving; version="1.0.0", org.osgi.framework.launch; version="1.1.0", org.osgi.framework.namespace; version="1.0.0", org.osgi.framework.startlevel; version="1.0.0", org.osgi.framework.wiring; version="1.1.0", org.osgi.resource; version="1.0.0", org.osgi.service.packageadmin; version="1.2.0", org.osgi.service.startlevel; version="1.1.0", org.osgi.service.url; version="1.0.0", org.osgi.util.tracker; version="1.5.1", javax.accessibility; uses:="javax.swing.text"; version="0.0.0.1_007_JavaSE", javax.activation; version="0.0.0.1_007_JavaSE", javax.activity; version="0.0.0.1_007_JavaSE", javax.annotation.processing; uses:="javax.tools,javax.lang.model,javax.lang.model.element,javax.lang.model.util"; version="0.0.0.1_007_JavaSE", javax.annotation; version="0.0.0.1_007_JavaSE", javax.crypto.interfaces; uses:="javax.crypto.spec,javax.crypto"; version="0.0.0.1_007_JavaSE", javax.crypto.spec; uses:="javax.crypto"; version="0.0.0.1_007_JavaSE", javax.crypto; uses:="javax.crypto.spec"; version="0.0.0.1_007_JavaSE", javax.imageio.event; uses:="javax.imageio"; version="0.0.0.1_007_JavaSE", javax.imageio.metadata; uses:="org.w3c.dom,javax.imageio"; version="0.0.0.1_007_JavaSE", javax.imageio.plugins.bmp; uses:="javax.imageio"; version="0.0.0.1_007_JavaSE", javax.imageio.plugins.jpeg; uses:="javax.imageio"; version="0.0.0.1_007_JavaSE", javax.imageio.spi; uses:="javax.imageio.stream,javax.imageio,javax.imageio.metadata"; version="0.0.0.1_007_JavaSE", javax.imageio.stream; uses:="javax.imageio"; version="0.0.0.1_007_JavaSE", javax.imageio; uses:="javax.imageio.metadata,javax.imageio.stream,javax.imageio.spi,javax.imageio.event"; version="0.0.0.1_007_JavaSE", javax.jws.soap; version="0.0.0.1_007_JavaSE", javax.jws; version="0.0.0.1_007_JavaSE", javax.lang.model.element; uses:="javax.lang.model.type,javax.lang.model"; version="0.0.0.1_007_JavaSE", javax.lang.model.type; uses:="javax.lang.model.element,javax.lang.model"; version="0.0.0.1_007_JavaSE", javax.lang.model.util; uses:="javax.lang.model,javax.lang.model.element,javax.annotation.processing,javax.lang.model.type"; version="0.0.0.1_007_JavaSE", javax.lang.model; version="0.0.0.1_007_JavaSE", javax.management.loading; uses:="javax.management"; version="0.0.0.1_007_JavaSE", javax.management.modelmbean; uses:="javax.management,javax.management.loading"; version="0.0.0.1_007_JavaSE", javax.management.monitor; uses:="javax.management"; version="0.0.0.1_007_JavaSE", javax.management.openmbean; uses:="javax.management"; version="0.0.0.1_007_JavaSE", javax.management.relation; uses:="javax.management"; version="0.0.0.1_007_JavaSE", javax.management.remote.rmi; uses:="javax.management.remote,javax.security.auth,javax.management,javax.management.loading,javax.naming,javax.rmi.ssl,org.omg.CORBA,org.omg.CORBA_2_3.portable,org.omg.CORBA.portable,javax.rmi.CORBA,javax.rmi"; version="0.0.0.1_007_JavaSE", javax.management.remote; uses:="javax.security.auth,javax.management"; version="0.0.0.1_007_JavaSE", javax.management.timer; uses:="javax.management"; version="0.0.0.1_007_JavaSE", javax.management; uses:="javax.management.loading,javax.management.openmbean"; version="0.0.0.1_007_JavaSE", javax.naming.directory; uses:="javax.naming"; version="0.0.0.1_007_JavaSE", javax.naming.event; uses:="javax.naming,javax.naming.directory"; version="0.0.0.1_007_JavaSE", javax.naming.ldap; uses:="javax.naming,javax.naming.directory,javax.net.ssl,javax.naming.event"; version="0.0.0.1_007_JavaSE", javax.naming.spi; uses:="javax.naming,javax.naming.directory"; version="0.0.0.1_007_JavaSE", javax.naming; uses:="javax.naming.spi"; version="0.0.0.1_007_JavaSE", javax.net.ssl; uses:="javax.security.cert,javax.security.auth.x500,javax.net"; version="0.0.0.1_007_JavaSE", javax.net; version="0.0.0.1_007_JavaSE", javax.print.attribute.standard; uses:="javax.print.attribute"; version="0.0.0.1_007_JavaSE", javax.print.attribute; version="0.0.0.1_007_JavaSE", javax.print.event; uses:="javax.print,javax.print.attribute"; version="0.0.0.1_007_JavaSE", javax.print; uses:="javax.print.attribute,javax.print.event,javax.print.attribute.standard"; version="0.0.0.1_007_JavaSE", javax.rmi.CORBA; uses:="org.omg.CORBA,org.omg.CORBA_2_3.portable,org.omg.CORBA.portable,org.omg.SendingContext"; version="0.0.0.1_007_JavaSE", javax.rmi.ssl; uses:="javax.net,javax.net.ssl"; version="0.0.0.1_007_JavaSE", javax.rmi; uses:="org.omg.CORBA,javax.rmi.CORBA"; version="0.0.0.1_007_JavaSE", javax.script; version="0.0.0.1_007_JavaSE", javax.security.auth.callback; version="0.0.0.1_007_JavaSE", javax.security.auth.kerberos; uses:="javax.security.auth,javax.crypto"; version="0.0.0.1_007_JavaSE", javax.security.auth.login; uses:="javax.security.auth,javax.security.auth.callback"; version="0.0.0.1_007_JavaSE", javax.security.auth.spi; uses:="javax.security.auth.callback,javax.security.auth.login,javax.security.auth"; version="0.0.0.1_007_JavaSE", javax.security.auth.x500; uses:="javax.security.auth"; version="0.0.0.1_007_JavaSE", javax.security.auth; version="0.0.0.1_007_JavaSE", javax.security.cert; version="0.0.0.1_007_JavaSE", javax.security.sasl; uses:="javax.security.auth.callback"; version="0.0.0.1_007_JavaSE", javax.sound.midi.spi; uses:="javax.sound.midi"; version="0.0.0.1_007_JavaSE", javax.sound.midi; uses:="javax.sound.midi.spi"; version="0.0.0.1_007_JavaSE", javax.sound.sampled.spi; uses:="javax.sound.sampled"; version="0.0.0.1_007_JavaSE", javax.sound.sampled; uses:="javax.sound.sampled.spi"; version="0.0.0.1_007_JavaSE", javax.sql.rowset.serial; uses:="javax.sql.rowset"; version="0.0.0.1_007_JavaSE", javax.sql.rowset.spi; uses:="javax.sql,javax.naming,javax.sql.rowset"; version="0.0.0.1_007_JavaSE", javax.sql.rowset; uses:="javax.sql,javax.sql.rowset.serial,javax.sql.rowset.spi"; version="0.0.0.1_007_JavaSE", javax.sql; version="0.0.0.1_007_JavaSE", javax.swing.border; uses:="javax.swing"; version="0.0.0.1_007_JavaSE", javax.swing.colorchooser; uses:="javax.swing,javax.swing.border,javax.swing.event,javax.swing.text"; version="0.0.0.1_007_JavaSE", javax.swing.event; uses:="javax.swing,javax.swing.text,javax.swing.table,javax.swing.tree,javax.swing.undo"; version="0.0.0.1_007_JavaSE", javax.swing.filechooser; uses:="javax.swing"; version="0.0.0.1_007_JavaSE", javax.swing.plaf.basic; uses:="javax.swing.border,javax.swing,javax.swing.plaf,javax.swing.text,javax.swing.event,javax.swing.colorchooser,javax.accessibility,javax.swing.filechooser,javax.swing.text.html,javax.sound.sampled,javax.swing.table,javax.swing.plaf.synth,javax.swing.tree"; version="0.0.0.1_007_JavaSE", javax.swing.plaf.metal; uses:="javax.swing.plaf,javax.swing,javax.swing.border,javax.swing.text,javax.swing.plaf.basic,javax.swing.filechooser,javax.swing.event,javax.swing.tree"; version="0.0.0.1_007_JavaSE", javax.swing.plaf.multi; uses:="javax.accessibility,javax.swing,javax.swing.plaf,javax.swing.filechooser,javax.swing.text,javax.swing.tree"; version="0.0.0.1_007_JavaSE", javax.swing.plaf.nimbus; uses:="javax.swing,javax.swing.plaf,javax.swing.border,javax.swing.plaf.synth"; version="0.0.0.1_007_JavaSE", javax.swing.plaf.synth; uses:="javax.swing,javax.swing.plaf,javax.swing.text,javax.swing.border,javax.swing.plaf.basic,javax.swing.colorchooser,javax.swing.event,javax.xml.parsers,org.xml.sax,org.xml.sax.helpers,javax.swing.table,javax.swing.tree"; version="0.0.0.1_007_JavaSE", javax.swing.plaf; uses:="javax.swing,javax.swing.border,javax.accessibility,javax.swing.filechooser,javax.swing.text,javax.swing.tree"; version="0.0.0.1_007_JavaSE", javax.swing.table; uses:="javax.swing.event,javax.swing.plaf,javax.swing.border,javax.swing,javax.accessibility"; version="0.0.0.1_007_JavaSE", javax.swing.text.html.parser; uses:="javax.swing.text,javax.swing.text.html"; version="0.0.0.1_007_JavaSE", javax.swing.text.html; uses:="javax.swing.event,javax.swing.text,javax.accessibility,javax.swing,javax.swing.plaf,javax.swing.border,javax.swing.undo"; version="0.0.0.1_007_JavaSE", javax.swing.text.rtf; uses:="javax.swing.text"; version="0.0.0.1_007_JavaSE", javax.swing.text; uses:="javax.swing.event,javax.swing.tree,javax.swing.undo,javax.swing,javax.swing.plaf,javax.swing.plaf.basic,javax.print,javax.print.attribute,javax.accessibility,javax.swing.text.html"; version="0.0.0.1_007_JavaSE", javax.swing.tree; uses:="javax.swing.event,javax.swing,javax.swing.border,javax.swing.plaf,javax.swing.plaf.basic"; version="0.0.0.1_007_JavaSE", javax.swing.undo; uses:="javax.swing,javax.swing.event"; version="0.0.0.1_007_JavaSE", javax.swing; uses:="javax.swing.event,javax.accessibility,javax.swing.text,javax.swing.plaf,javax.swing.border,javax.swing.tree,javax.swing.table,javax.swing.colorchooser,javax.swing.plaf.basic,javax.swing.text.html,javax.swing.filechooser,javax.print,javax.print.attribute,javax.swing.plaf.metal"; version="0.0.0.1_007_JavaSE", javax.tools; uses:="javax.lang.model.element,javax.annotation.processing,javax.lang.model"; version="0.0.0.1_007_JavaSE", javax.transaction.xa, javax.transaction, javax.xml.bind.annotation.adapters; uses:="javax.xml.bind"; version="0.0.0.1_007_JavaSE", javax.xml.bind.annotation; uses:="javax.xml.transform,javax.xml.bind,javax.xml.parsers,javax.xml.transform.dom,org.w3c.dom"; version="0.0.0.1_007_JavaSE", javax.xml.bind.attachment; uses:="javax.activation"; version="0.0.0.1_007_JavaSE", javax.xml.bind.helpers; uses:="javax.xml.bind.annotation.adapters,javax.xml.transform.dom,org.w3c.dom,org.xml.sax,javax.xml.bind.attachment,javax.xml.transform,javax.xml.transform.stream,javax.xml.validation,javax.xml.transform.sax,javax.xml.bind,javax.xml.parsers"; version="0.0.0.1_007_JavaSE", javax.xml.bind.util; uses:="javax.xml.transform.sax,javax.xml.bind,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers"; version="0.0.0.1_007_JavaSE", javax.xml.bind; uses:="javax.xml.validation,javax.xml.namespace,javax.xml.datatype,javax.xml.transform,javax.xml.bind.annotation,javax.xml.transform.stream,org.w3c.dom,javax.xml.bind.attachment,javax.xml.bind.annotation.adapters,org.xml.sax"; version="0.0.0.1_007_JavaSE", javax.xml.crypto.dom; uses:="javax.xml.crypto,org.w3c.dom"; version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig.dom; uses:="javax.xml.crypto.dsig,javax.xml.crypto,org.w3c.dom,javax.xml.crypto.dom"; version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig.keyinfo; uses:="javax.xml.crypto"; version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig.spec; uses:="javax.xml.crypto"; version="0.0.0.1_007_JavaSE", javax.xml.crypto.dsig; uses:="javax.xml.crypto,javax.xml.crypto.dsig.spec,javax.xml.crypto.dsig.keyinfo"; version="0.0.0.1_007_JavaSE", javax.xml.crypto; uses:="javax.xml.crypto.dsig.keyinfo"; version="0.0.0.1_007_JavaSE", javax.xml.datatype; uses:="javax.xml.namespace"; version="0.0.0.1_007_JavaSE", javax.xml.namespace; version="0.0.0.1_007_JavaSE", javax.xml.parsers; uses:="javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers"; version="0.0.0.1_007_JavaSE", javax.xml.soap; uses:="javax.activation,javax.xml.namespace,org.w3c.dom,javax.xml.transform.dom,javax.xml.transform"; version="0.0.0.1_007_JavaSE", javax.xml.stream.events; uses:="javax.xml.namespace"; version="0.0.0.1_007_JavaSE", javax.xml.stream.util; uses:="javax.xml.namespace"; version="0.0.0.1_007_JavaSE", javax.xml.stream; uses:="javax.xml.namespace,javax.xml.transform"; version="0.0.0.1_007_JavaSE", javax.xml.transform.dom; uses:="javax.xml.transform,org.w3c.dom"; version="0.0.0.1_007_JavaSE", javax.xml.transform.sax; uses:="org.xml.sax.ext,javax.xml.transform,org.xml.sax,javax.xml.transform.stream"; version="0.0.0.1_007_JavaSE", javax.xml.transform.stax; uses:="javax.xml.transform"; version="0.0.0.1_007_JavaSE", javax.xml.transform.stream; uses:="javax.xml.transform"; version="0.0.0.1_007_JavaSE", javax.xml.transform; version="0.0.0.1_007_JavaSE", javax.xml.validation; uses:="org.w3c.dom.ls,javax.xml.transform,javax.xml.transform.stream,org.xml.sax,org.w3c.dom"; version="0.0.0.1_007_JavaSE", javax.xml.ws.handler.soap; uses:="javax.xml.ws.handler,javax.xml.namespace,javax.xml.soap,javax.xml.bind"; version="0.0.0.1_007_JavaSE", javax.xml.ws.handler; uses:="javax.xml.ws,javax.xml.namespace"; version="0.0.0.1_007_JavaSE", javax.xml.ws.http; uses:="javax.xml.ws"; version="0.0.0.1_007_JavaSE", javax.xml.ws.soap; uses:="javax.xml.ws.spi,javax.xml.ws,javax.xml.soap"; version="0.0.0.1_007_JavaSE", javax.xml.ws.spi.http; version="0.0.0.1_007_JavaSE", javax.xml.ws.spi; uses:="javax.xml.ws,javax.xml.ws.wsaddressing,javax.xml.transform,org.w3c.dom,javax.xml.namespace,javax.xml.ws.handler,javax.xml.bind"; version="0.0.0.1_007_JavaSE", javax.xml.ws.wsaddressing; uses:="javax.xml.bind.annotation,javax.xml.namespace,org.w3c.dom,javax.xml.transform,javax.xml.bind,javax.xml.ws,javax.xml.ws.spi"; version="0.0.0.1_007_JavaSE", javax.xml.ws; uses:="javax.xml.ws.handler,javax.xml.ws.spi,javax.xml.ws.spi.http,javax.xml.transform,org.w3c.dom,javax.xml.bind.annotation,javax.xml.transform.stream,javax.xml.bind,javax.xml.namespace"; version="0.0.0.1_007_JavaSE", javax.xml.xpath; uses:="org.xml.sax,javax.xml.namespace"; version="0.0.0.1_007_JavaSE", javax.xml; version="0.0.0.1_007_JavaSE", org.ietf.jgss; version="0.0.0.1_007_JavaSE", org.omg.CORBA.DynAnyPackage; uses:="org.omg.CORBA"; version="0.0.0.1_007_JavaSE", org.omg.CORBA.ORBPackage; uses:="org.omg.CORBA"; version="0.0.0.1_007_JavaSE", org.omg.CORBA.TypeCodePackage; uses:="org.omg.CORBA"; version="0.0.0.1_007_JavaSE", org.omg.CORBA.portable; uses:="org.omg.CORBA,org.omg.CORBA_2_3.portable"; version="0.0.0.1_007_JavaSE", org.omg.CORBA; uses:="org.omg.CORBA.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA_2_3.portable,org.omg.CORBA.TypeCodePackage"; version="0.0.0.1_007_JavaSE", org.omg.CORBA_2_3.portable; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.CORBA_2_3; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.CosNaming.NamingContextExtPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.CosNaming.NamingContextPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.CosNaming"; version="0.0.0.1_007_JavaSE", org.omg.CosNaming; uses:="org.omg.CORBA.portable,org.omg.CORBA,org.omg.PortableServer,org.omg.CosNaming.NamingContextPackage,org.omg.CosNaming.NamingContextExtPackage"; version="0.0.0.1_007_JavaSE", org.omg.Dynamic; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.DynamicAny.DynAnyFactoryPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.DynamicAny.DynAnyPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.DynamicAny; uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage"; version="0.0.0.1_007_JavaSE", org.omg.IOP.CodecFactoryPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.IOP.CodecPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.IOP; uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage"; version="0.0.0.1_007_JavaSE", org.omg.Messaging; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.PortableInterceptor.ORBInitInfoPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.PortableInterceptor; uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.IOP,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.CORBA_2_3.portable,org.omg.Dynamic"; version="0.0.0.1_007_JavaSE", org.omg.PortableServer.CurrentPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.PortableServer.POAManagerPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.PortableServer.POAPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.PortableServer.ServantLocatorPackage; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.PortableServer.portable; uses:="org.omg.CORBA,org.omg.PortableServer"; version="0.0.0.1_007_JavaSE", org.omg.PortableServer; uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.CORBA_2_3,org.omg.PortableServer.ServantLocatorPackage"; version="0.0.0.1_007_JavaSE", org.omg.SendingContext; uses:="org.omg.CORBA,org.omg.CORBA.portable"; version="0.0.0.1_007_JavaSE", org.omg.stub.java.rmi; uses:="javax.rmi.CORBA"; version="0.0.0.1_007_JavaSE", org.w3c.dom.bootstrap; uses:="org.w3c.dom"; version="0.0.0.1_007_JavaSE", org.w3c.dom.events; uses:="org.w3c.dom,org.w3c.dom.views"; version="0.0.0.1_007_JavaSE", org.w3c.dom.ls; uses:="org.w3c.dom,org.w3c.dom.events,org.w3c.dom.traversal"; version="0.0.0.1_007_JavaSE", org.w3c.dom; version="0.0.0.1_007_JavaSE", org.xml.sax.ext; uses:="org.xml.sax,org.xml.sax.helpers"; version="0.0.0.1_007_JavaSE", org.xml.sax.helpers; uses:="org.xml.sax"; version="0.0.0.1_007_JavaSE", org.xml.sax; version="0.0.0.1_007_JavaSE"