Thanks for this. I think I've found the bug in the Eclipse Transformer and
I'm working on fixing it now.

Jon

On Fri, Jun 5, 2020 at 8:50 PM David Blevins <[email protected]>
wrote:

> Looks like both my scanning tool and the Eclipse Transformer are not
> picking up calls to outer classes.  A couple examples:
>
>  -
> https://github.com/dblevins/tomee-analysis/blob/master/apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/jakarta.xml.bind-api-2.3.2.jar/jakarta/xml/bind/util/JAXBSource%241-asmified.java#L27
>
>  -
> https://github.com/dblevins/tomee-analysis/blob/master/apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/jakarta.xml.bind-api-2.3.2.jar/jakarta/xml/bind/ContextFinder$2-asmified.java#L27
>
>
>
> --
> David Blevins
> http://twitter.com/dblevins
> http://www.tomitribe.com
>
> > On Jun 5, 2020, at 12:31 PM, David Blevins <[email protected]>
> wrote:
> >
> > Here's the diff of the changed bytecode from revision
> d429ba420dbdba7ea07c6a0c91f3135ef2343f28
> >
> > -
> https://github.com/dblevins/tomee-analysis/commit/b6026b56eaad3a19c8a3bd89eb5c92620dd5b5d7
> >
> > Haven't had a chance to pick through it.
> >
> > --
> > David Blevins
> > http://twitter.com/dblevins
> > http://www.tomitribe.com
> >
> >> On Jun 5, 2020, at 12:26 PM, Jonathan Gallimore <
> [email protected]> wrote:
> >>
> >> Deployed Moviefun. EJBs now scanned ok... now have an issue with
> >> EclipseLink. We're still moving forward...
> >>
> >> 05-Jun-2020 20:23:21.976 INFO [main]
> >> sun.reflect.DelegatingMethodAccessorImpl.invoke Deployment of web
> >> application directory
> >> [/home/jgallimore/srv/apache-tomee-plume-8.0.3-SNAPSHOT/webapps/ROOT]
> has
> >> finished in [161] ms
> >> 05-Jun-2020 20:23:22.011 INFO [main]
> >> sun.reflect.DelegatingMethodAccessorImpl.invoke Starting ProtocolHandler
> >> ["http-nio-8080"]
> >> 05-Jun-2020 20:23:22.028 INFO [main]
> >> sun.reflect.DelegatingMethodAccessorImpl.invoke Server startup in
> [48,389]
> >> milliseconds
> >> [EL Info]: 2020-06-05
> 20:23:27.156--ServerSession(1764341773)--EclipseLink,
> >> version: Eclipse Persistence Services - 2.7.4.v20190115-ad5b7c6b2a
> >> [EL Info]: 2020-06-05
> >>
> 20:23:27.215--ServerSession(1764341773)--/file:/home/jgallimore/srv/apache-tomee-plume-8.0.3-SNAPSHOT/webapps/moviefun/WEB-INF/classes/_movie-unit
> >> login successful
> >> [EL Warning]: 2020-06-05 20:23:27.27--The collection of metamodel types
> is
> >> empty. Model classes may not have been found during entity search for
> Java
> >> SE and some Java EE container managed persistence units.  Please verify
> >> that your entity classes are referenced in persistence.xml using either
> >> <class> elements or a global
> >> <exclude-unlisted-classes>false</exclude-unlisted-classes> element
> >> 05-Jun-2020 20:23:27.309 SEVERE [http-nio-8080-exec-1]
> >>
> org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException
> >> EjbTransactionUtil.handleSystemException: Object:
> >> org.superbiz.moviefun.Movie@55c019e0 is not a known Entity type.
> >> java.lang.IllegalArgumentException: Object:
> >> org.superbiz.moviefun.Movie@55c019e0 is not a known Entity type.
> >> at
> >>
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4326)
> >> at
> >>
> org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:596)
> >> at
> >>
> org.apache.openejb.persistence.JtaEntityManager.persist(JtaEntityManager.java:193)
> >> at org.superbiz.moviefun.MoviesBean.addMovie(MoviesBean.java:42)
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> at java.lang.reflect.Method.invoke(Method.java:498)
> >> at
> >>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
> >> at
> >>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
> >> at
> >>
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:191)
> >> at
> >>
> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:102)
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> >> at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> at java.lang.reflect.Method.invoke(Method.java:498)
> >> at
> >>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
> >> at
> >>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
> >> at
> >>
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
> >> at
> >>
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:252)
> >> at
> >>
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:212)
> >> at
> >>
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:265)
> >> at
> >>
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:260)
> >> at
> >>
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:89)
> >> at
> >>
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:349)
> >> at
> >>
> org.superbiz.moviefun.MoviesBean$$LocalBeanProxy.addMovie(org/superbiz/moviefun/MoviesBean.java)
> >> at org.apache.jsp.setup_jsp._jspService(setup_jsp.java:154)
> >> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
> >> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:741)
> >> at
> >>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
> >> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
> >> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
> >> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:741)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> >> at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> >> at org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> >> at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
> >> at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> >> at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> >> at
> >>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
> >> at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
> >> at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> >> at
> >>
> org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
> >> at
> >>
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
> >> at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
> >> at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> >> at
> >>
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
> >> at
> >>
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
> >> at
> >>
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
> >> at
> >> org.apache.tomcat.util.net
> .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
> >> at
> >> org.apache.tomcat.util.net
> .SocketProcessorBase.run(SocketProcessorBase.java:49)
> >> at
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >> at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >> at
> >>
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >> at java.lang.Thread.run(Thread.java:748)
> >>
> >> On Fri, Jun 5, 2020 at 4:34 PM Jonathan Gallimore <
> >> [email protected]> wrote:
> >>
> >>> Ok, got to a point where the server boots without error and I can load
> the
> >>> JSP for the root page. There's one issue where ecj.jar is signed, and
> >>> whatever the transformer is doing (apparently nothing apart from
> changing
> >>> the manifest) breaks the signature. Removing the signing is necessary
> to
> >>> allow the JSP compilation to work. I'll try and find some way to
> exclude
> >>> that jar.
> >>>
> >>> I'm just pushing the transformer and plugin and committing my changes.
> >>> I'll then try booting up some other samples like moviefun.
> >>>
> >>> Jon
> >>>
> >>> On Fri, Jun 5, 2020 at 1:38 PM Jonathan Gallimore <
> >>> [email protected]> wrote:
> >>>
> >>>> With the latest changes, here's the results:
> >>>>
> >>>> Path javax uses total
> >>>> ./openejb-core-8.0.3-SNAPSHOT.jar 475
> >>>> ./catalina.jar 120
> >>>> ./activemq-client-5.15.12.jar 9
> >>>> ./openjpa-3.1.0.jar 3
> >>>> ./openejb-webservices-8.0.3-SNAPSHOT.jar 35
> >>>> ./javaee-api-8.0-4.jar 1127
> >>>> total affected 2% (6 of 207 scanned) 1769
> >>>>
> >>>> I think this looks worse than it actually is. The specific references
> >>>> found under javax are:
> >>>>
> >>>> javax.enterprise.deploy.model.DDBean
> >>>> javax.enterprise.deploy.model.DDBeanRoot
> >>>> javax.enterprise.deploy.model.DeployableObject
> >>>> javax.enterprise.deploy.model.exceptions.DDBeanCreateException
> >>>> javax.enterprise.deploy.model.XpathEvent
> >>>> javax.enterprise.deploy.model.XpathListener
> >>>> javax.enterprise.deploy.shared.ActionType
> >>>> javax.enterprise.deploy.shared.CommandType
> >>>> javax.enterprise.deploy.shared.DConfigBeanVersionType
> >>>> javax.enterprise.deploy.shared.factories.DeploymentFactoryManager
> >>>> javax.enterprise.deploy.shared.ModuleType
> >>>> javax.enterprise.deploy.shared.StateType
> >>>> javax.enterprise.deploy.spi.DConfigBean
> >>>> javax.enterprise.deploy.spi.DConfigBeanRoot
> >>>> javax.enterprise.deploy.spi.DeploymentConfiguration
> >>>> javax.enterprise.deploy.spi.DeploymentManager
> >>>> javax.enterprise.deploy.spi.exceptions.BeanNotFoundException
> >>>> javax.enterprise.deploy.spi.exceptions.ClientExecuteException
> >>>> javax.enterprise.deploy.spi.exceptions.ConfigurationException
> >>>>
> >>>>
> javax.enterprise.deploy.spi.exceptions.DConfigBeanVersionUnsupportedException
> >>>>
> javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException
> >>>> javax.enterprise.deploy.spi.exceptions.InvalidModuleException
> >>>> javax.enterprise.deploy.spi.exceptions.OperationUnsupportedException
> >>>> javax.enterprise.deploy.spi.exceptions.TargetException
> >>>> javax.enterprise.deploy.spi.factories.DeploymentFactory
> >>>> javax.enterprise.deploy.spi.status.ClientConfiguration
> >>>> javax.enterprise.deploy.spi.status.DeploymentStatus
> >>>> javax.enterprise.deploy.spi.status.ProgressEvent
> >>>> javax.enterprise.deploy.spi.status.ProgressListener
> >>>> javax.enterprise.deploy.spi.status.ProgressObject
> >>>> javax.enterprise.deploy.spi.Target
> >>>> javax.enterprise.deploy.spi.TargetModuleID
> >>>> javax.management.j2ee.ListenerRegistration
> >>>> javax.management.j2ee.Management
> >>>> javax.management.j2ee.ManagementHome
> >>>> javax.management.j2ee.statistics.BoundaryStatistic
> >>>> javax.management.j2ee.statistics.BoundedRangeStatistic
> >>>> javax.management.j2ee.statistics.CountStatistic
> >>>> javax.management.j2ee.statistics.EJBStats
> >>>> javax.management.j2ee.statistics.JCAConnectionPoolStats
> >>>> javax.management.j2ee.statistics.JCAConnectionStats
> >>>> javax.management.j2ee.statistics.JDBCConnectionPoolStats
> >>>> javax.management.j2ee.statistics.JDBCConnectionStats
> >>>> javax.management.j2ee.statistics.JMSConnectionStats
> >>>> javax.management.j2ee.statistics.JMSConsumerStats
> >>>> javax.management.j2ee.statistics.JMSEndpointStats
> >>>> javax.management.j2ee.statistics.JMSProducerStats
> >>>> javax.management.j2ee.statistics.JMSSessionStats
> >>>> javax.management.j2ee.statistics.RangeStatistic
> >>>> javax.management.j2ee.statistics.SessionBeanStats
> >>>> javax.management.j2ee.statistics.Statistic
> >>>> javax.management.j2ee.statistics.Stats
> >>>> javax.management.j2ee.statistics.TimeStatistic
> >>>> javax.persistence.Embeddable
> >>>> javax.persistence.Entity
> >>>> javax.persistence.MappedSuperclass
> >>>> javax.xml.registry.BulkResponse
> >>>> javax.xml.registry.BusinessLifeCycleManager
> >>>> javax.xml.registry.BusinessQueryManager
> >>>> javax.xml.registry.CapabilityProfile
> >>>> javax.xml.registry.Connection
> >>>> javax.xml.registry.ConnectionFactory
> >>>> javax.xml.registry.ConnectionFactoryClass
> >>>> javax.xml.registry.DeclarativeQueryManager
> >>>> javax.xml.registry.FederatedConnection
> >>>> javax.xml.registry.infomodel.Association
> >>>> javax.xml.registry.infomodel.Classification
> >>>> javax.xml.registry.infomodel.ClassificationScheme
> >>>> javax.xml.registry.infomodel.Concept
> >>>> javax.xml.registry.infomodel.EmailAddress
> >>>> javax.xml.registry.infomodel.ExtensibleObject
> >>>> javax.xml.registry.infomodel.ExternalIdentifier
> >>>> javax.xml.registry.infomodel.ExternalLink
> >>>> javax.xml.registry.infomodel.ExtrinsicObject
> >>>> javax.xml.registry.infomodel.InternationalString
> >>>> javax.xml.registry.infomodel.Key
> >>>> javax.xml.registry.infomodel.LocalizedString
> >>>> javax.xml.registry.infomodel.Organization
> >>>> javax.xml.registry.infomodel.PersonName
> >>>> javax.xml.registry.infomodel.PostalAddress
> >>>> javax.xml.registry.infomodel.RegistryEntry
> >>>> javax.xml.registry.infomodel.RegistryObject
> >>>> javax.xml.registry.infomodel.RegistryPackage
> >>>> javax.xml.registry.infomodel.Service
> >>>> javax.xml.registry.infomodel.ServiceBinding
> >>>> javax.xml.registry.infomodel.Slot
> >>>> javax.xml.registry.infomodel.SpecificationLink
> >>>> javax.xml.registry.infomodel.TelephoneNumber
> >>>> javax.xml.registry.infomodel.URIValidator
> >>>> javax.xml.registry.infomodel.User
> >>>> javax.xml.registry.infomodel.Versionable
> >>>> javax.xml.registry.InvalidRequestException
> >>>> javax.xml.registry.JAXRException
> >>>> javax.xml.registry.JAXRResponse
> >>>> javax.xml.registry.LifeCycleManager
> >>>> javax.xml.registry.Query
> >>>> javax.xml.registry.QueryManager
> >>>> javax.xml.registry.RegistryException
> >>>> javax.xml.registry.RegistryService
> >>>> javax.xml.registry.UnsupportedCapabilityException
> >>>> javax.xml.rpc.Call
> >>>> javax.xml.rpc.encoding.Deserializer
> >>>> javax.xml.rpc.encoding.DeserializerFactory
> >>>> javax.xml.rpc.encoding.Serializer
> >>>> javax.xml.rpc.encoding.SerializerFactory
> >>>> javax.xml.rpc.encodingstyle.namespace.uri
> >>>> javax.xml.rpc.encoding.TypeMapping
> >>>> javax.xml.rpc.encoding.TypeMappingRegistry
> >>>> javax.xml.rpc.FactoryFinder
> >>>> javax.xml.rpc.FactoryFinder$ConfigurationError
> >>>> javax.xml.rpc.handler.Handler
> >>>> javax.xml.rpc.handler.HandlerChain
> >>>> javax.xml.rpc.handler.HandlerInfo
> >>>> javax.xml.rpc.handler.HandlerRegistry
> >>>> javax.xml.rpc.handler.MessageContext
> >>>> javax.xml.rpc.holders.Holder
> >>>> javax.xml.rpc.JAXRPCException
> >>>> javax.xml.rpc.ParameterMode
> >>>> javax.xml.rpc.security.auth.password
> >>>> javax.xml.rpc.security.auth.username
> >>>> javax.xml.rpc.server.ServiceLifecycle
> >>>> javax.xml.rpc.server.ServletEndpointContext
> >>>> javax.xml.rpc.Service
> >>>> javax.xml.rpc.service.endpoint.address
> >>>> javax.xml.rpc.ServiceException
> >>>> javax.xml.rpc.ServiceFactory
> >>>> javax.xml.rpc.session.maintain
> >>>> javax.xml.rpc.soap.http.soapaction.uri
> >>>> javax.xml.rpc.soap.http.soapaction.use
> >>>> javax.xml.rpc.soap.operation.style
> >>>> javax.xml.ws.RespectBindingFeature
> >>>>
> >>>> I need to see what's tripping the javax.entity
> >>>> and javax.xml.ws.RespectBindingFeature references, but the others I
> >>>> wouldn't expect to be converted.
> >>>>
> >>>> The server boots, without error (good). Hitting any webapp returns a
> 404
> >>>> (not so good) so I need to see what's going on there.
> >>>>
> >>>> Jon
> >>>>
> >>>> On Fri, Jun 5, 2020 at 10:50 AM Jonathan Gallimore <
> >>>> [email protected]> wrote:
> >>>>
> >>>>> Awesome, thanks David. Looks like my last rule set was a little too
> >>>>> aggressive. I'm running with this list now and will post the results.
> >>>>>
> >>>>> Jon
> >>>>>
> >>>>> On Thu, Jun 4, 2020 at 8:39 PM David Blevins <
> [email protected]>
> >>>>> wrote:
> >>>>>
> >>>>>> I'll try and submit this as a PR to the jakarta.ee website, but
> here's
> >>>>>> the exact list:
> >>>>>>
> >>>>>> - https://gist.github.com/dblevins/9a6d4b1c90986a4116dd738c9e5ef212
> >>>>>>
> >>>>>> Short answer is `javax.management.j2ee` should not be migrated and
> is
> >>>>>> unfortunately in a broken state.  The solution in a "true" Jakarta
> EE 9
> >>>>>> release would be to remove it.
> >>>>>>
> >>>>>> I'm not too sure what the right solution is for the bytecode
> approach.
> >>>>>> There are two other broken packages, javax.xml.registry and
> javax.xml.rpc.
> >>>>>> I know we don't support those APIs, but I don't know if we have
> code that
> >>>>>> still touches javax.xml.rpc.
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> David Blevins
> >>>>>> http://twitter.com/dblevins
> >>>>>> http://www.tomitribe.com
> >>>>>>
> >>>>>>> On Jun 4, 2020, at 9:05 AM, Jonathan Gallimore <
> >>>>>> [email protected]> wrote:
> >>>>>>>
> >>>>>>> Fixed this by migrating javax.management.j2ee, but leaving
> >>>>>>> javax.management.
> >>>>>>>
> >>>>>>> Now I have this error:
> >>>>>>>
> >>>>>>> 04-Jun-2020 17:03:37.671 SEVERE [main]
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.ContextConfig.processServletContainerInitializers
> >>>>>>> Failed to detect ServletContainerInitializers for context with
> name []
> >>>>>>> java.io.IOException: java.lang.ClassNotFoundException:
> >>>>>>> com.sun.faces.config.FacesInitializeropeExtension
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:235)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:203)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1672)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.OpenEJBContextConfig.processServletContainerInitializers(OpenEJBContextConfig.java:488)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1137)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.OpenEJBContextConfig.webConfig(OpenEJBContextConfig.java:411)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.OpenEJBContextConfig.configureStart(OpenEJBContextConfig.java:124)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5052)
> >>>>>>> at
> >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
> >>>>>>> at
> >>>>>>
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
> >>>>>>> at
> >>>>>>
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1866)
> >>>>>>> at
> >>>>>>
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> >>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
> >>>>>>> at
> >>>>>>
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
> >>>>>>> at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
> >>>>>>> at
> >>>>>>
> org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
> >>>>>>> at
> >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
> >>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
> >>>>>>> at
> >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
> >>>>>>> at
> >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
> >>>>>>> at
> >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >>>>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
> >>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >>>>>>> at java.lang.reflect.Method.invoke(Method.java:498)
> >>>>>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)
> >>>>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
> >>>>>>> Caused by: java.lang.ClassNotFoundException:
> >>>>>>> com.sun.faces.config.FacesInitializeropeExtension
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(TomEEWebappClassLoader.java:209)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
> >>>>>>> at java.lang.Class.forName0(Native Method)
> >>>>>>> at java.lang.Class.forName(Class.java:348)
> >>>>>>> at
> >>>>>>>
> >>>>>>
> org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:232)
> >>>>>>> ... 49 more
> >>>>>>>
> >>>>>>> Which I believe is a bug in the transformer, causing a
> >>>>>> META-INF/service
> >>>>>>> file to be mangled.
> >>>>>>>
> >>>>>>> Jon
> >>>>>>>
> >>>>>>> On Thu, Jun 4, 2020 at 4:26 PM Jonathan Gallimore <
> >>>>>>> [email protected]> wrote:
> >>>>>>>
> >>>>>>>> Next problem:
> >>>>>>>>
> >>>>>>>> [CORP\jgallimore@a-2yv8q9r2zol44 bin]$ ./catalina.sh run
> >>>>>>>> Using CATALINA_BASE:
> >>>>>>>>
> >>>>>>
> /home/jgallimore/dev/tomee/tomee/apache-tomee/target/tmp/apache-tomee-plume-8.0.3-SNAPSHOT
> >>>>>>>> Using CATALINA_HOME:
> >>>>>>>>
> >>>>>>
> /home/jgallimore/dev/tomee/tomee/apache-tomee/target/tmp/apache-tomee-plume-8.0.3-SNAPSHOT
> >>>>>>>> Using CATALINA_TMPDIR:
> >>>>>>>>
> >>>>>>
> /home/jgallimore/dev/tomee/tomee/apache-tomee/target/tmp/apache-tomee-plume-8.0.3-SNAPSHOT/temp
> >>>>>>>> Using JRE_HOME:        /home/jgallimore/Apps/jdk8u252-b09
> >>>>>>>> Using CLASSPATH:
> >>>>>>>>
> >>>>>>
> /home/jgallimore/dev/tomee/tomee/apache-tomee/target/tmp/apache-tomee-plume-8.0.3-SNAPSHOT/bin/bootstrap.jar:/home/jgallimore/dev/tomee/tomee/apache-tomee/target/tmp/apache-tomee-plume-8.0.3-SNAPSHOT/bin/tomcat-juli.jar
> >>>>>>>> 04-Jun-2020 16:21:51.803 INFO [main]
> >>>>>>>>
> >>>>>>
> org.apache.openejb.persistence.PersistenceBootstrap.getDefaultProvider
> >>>>>>>> Default JPA Provider changed to
> >>>>>>>> org.eclipse.persistence.jpa.PersistenceProvider specified by
> >>>>>>>>
> >>>>>>
> jar:file:/home/jgallimore/dev/tomee/tomee/apache-tomee/target/tmp/apache-tomee-plume-8.0.3-SNAPSHOT/lib/openejb-core-eclipselink-8.0.3-SNAPSHOT.jar!/META-INF/org.apache.openejb.persistence.PersistenceBootstrap.provider
> >>>>>>>> java.lang.NoClassDefFoundError:
> >>>>>> jakarta/management/NotificationEmitter
> >>>>>>>> at java.lang.ClassLoader.defineClass1(Native Method)
> >>>>>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
> >>>>>>>> at
> >>>>>>
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> >>>>>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
> >>>>>>>> at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
> >>>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
> >>>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
> >>>>>>>> at java.security.AccessController.doPrivileged(Native Method)
> >>>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
> >>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
> >>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
> >>>>>>>> at
> >>>>>>>>
> >>>>>>
> org.apache.catalina.startup.Catalina.createStartDigester(Catalina.java:294)
> >>>>>>>> at org.apache.catalina.startup.Catalina.load(Catalina.java:559)
> >>>>>>>> at org.apache.catalina.startup.Catalina.load(Catalina.java:607)
> >>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>>>>>> at
> >>>>>>>>
> >>>>>>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> >>>>>>>> at
> >>>>>>>>
> >>>>>>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498)
> >>>>>>>> at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:303)
> >>>>>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
> >>>>>>>> Caused by: java.lang.ClassNotFoundException:
> >>>>>>>> jakarta.management.NotificationEmitter
> >>>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
> >>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
> >>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
> >>>>>>>> ... 20 more
> >>>>>>>>
> >>>>>>>> Should javax.management not be moved to jakarta, or is it a split
> >>>>>> package?
> >>>>>>>>
> >>>>>>>> We definitely carry some javax.management classes in our .jar
> files:
> >>>>>>>>
> >>>>>>>> [CORP\jgallimore@a-2yv8q9r2zol44 lib]$ find . -name  "*.jar"
> -exec
> >>>>>> jar tf
> >>>>>>>> "{}" \; | grep javax/management
> >>>>>>>> javax/management/
> >>>>>>>> javax/management/NotificationInfo.class
> >>>>>>>> javax/management/NotificationInfos.class
> >>>>>>>> javax/management/MBean.class
> >>>>>>>> javax/management/Description.class
> >>>>>>>> javax/management/ManagedOperation.class
> >>>>>>>> javax/management/ManagedAttribute.class
> >>>>>>>> javax/management/
> >>>>>>>> javax/management/j2ee/
> >>>>>>>> javax/management/j2ee/ListenerRegistration.class
> >>>>>>>> javax/management/j2ee/Management.class
> >>>>>>>> javax/management/j2ee/ManagementHome.class
> >>>>>>>> javax/management/j2ee/statistics/
> >>>>>>>> javax/management/j2ee/statistics/BoundaryStatistic.class
> >>>>>>>> javax/management/j2ee/statistics/BoundedRangeStatistic.class
> >>>>>>>> javax/management/j2ee/statistics/CountStatistic.class
> >>>>>>>> javax/management/j2ee/statistics/EJBStats.class
> >>>>>>>> javax/management/j2ee/statistics/EntityBeanStats.class
> >>>>>>>> javax/management/j2ee/statistics/JavaMailStats.class
> >>>>>>>> javax/management/j2ee/statistics/JCAConnectionPoolStats.class
> >>>>>>>> javax/management/j2ee/statistics/JCAConnectionStats.class
> >>>>>>>> javax/management/j2ee/statistics/JCAStats.class
> >>>>>>>> javax/management/j2ee/statistics/JDBCConnectionPoolStats.class
> >>>>>>>> javax/management/j2ee/statistics/JDBCConnectionStats.class
> >>>>>>>> javax/management/j2ee/statistics/JDBCStats.class
> >>>>>>>> javax/management/j2ee/statistics/JMSConnectionStats.class
> >>>>>>>> javax/management/j2ee/statistics/JMSConsumerStats.class
> >>>>>>>> javax/management/j2ee/statistics/JMSEndpointStats.class
> >>>>>>>> javax/management/j2ee/statistics/JMSProducerStats.class
> >>>>>>>> javax/management/j2ee/statistics/JMSSessionStats.class
> >>>>>>>> javax/management/j2ee/statistics/JMSStats.class
> >>>>>>>> javax/management/j2ee/statistics/JTAStats.class
> >>>>>>>> javax/management/j2ee/statistics/JVMStats.class
> >>>>>>>> javax/management/j2ee/statistics/MessageDrivenBeanStats.class
> >>>>>>>> javax/management/j2ee/statistics/RangeStatistic.class
> >>>>>>>> javax/management/j2ee/statistics/ServletStats.class
> >>>>>>>> javax/management/j2ee/statistics/SessionBeanStats.class
> >>>>>>>> javax/management/j2ee/statistics/StatefulSessionBeanStats.class
> >>>>>>>> javax/management/j2ee/statistics/StatelessSessionBeanStats.class
> >>>>>>>> javax/management/j2ee/statistics/Statistic.class
> >>>>>>>> javax/management/j2ee/statistics/Stats.class
> >>>>>>>> javax/management/j2ee/statistics/TimeStatistic.class
> >>>>>>>> javax/management/j2ee/statistics/URLStats.class
> >>>>>>>>
> >>>>>>>> On Thu, Jun 4, 2020 at 3:44 PM Jonathan Gallimore <
> >>>>>>>> [email protected]> wrote:
> >>>>>>>>
> >>>>>>>>> Ok, I'm now down to (and this includes string references):
> >>>>>>>>>
> >>>>>>>>> Path javax uses total
> >>>>>>>>> ./openjpa-3.1.0.jar 3
> >>>>>>>>> ./javaee-api-8.0-4.jar 1
> >>>>>>>>> ./eclipselink-2.7.4.jar 1
> >>>>>>>>>
> >>>>>>>>> The strings themselves are:
> >>>>>>>>>
> >>>>>>>>> javax.persistence.Entity
> >>>>>>>>> javax.persistence.Embeddable
> >>>>>>>>> javax.persistence.MappedSuperclass
> >>>>>>>>> javax.xml.ws.RespectBindingFeature
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>
> javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
> >>>>>>>>>
> >>>>>>>>> Last one likely failed on the equals sign. Not sure why the
> others
> >>>>>> were
> >>>>>>>>> missed yet.
> >>>>>>>>>
> >>>>>>>>> Jon
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Thu, Jun 4, 2020 at 12:58 PM Jonathan Gallimore <
> >>>>>>>>> [email protected]> wrote:
> >>>>>>>>>
> >>>>>>>>>> These look like the strings that need to be replaced:
> >>>>>>>>>>
> >>>>>>>>>> javax.activation.addreverse
> >>>>>>>>>> javax.activation.debug
> >>>>>>>>>> javax.ejb.embeddable.appName
> >>>>>>>>>> javax.ejb.embeddable.modules
> >>>>>>>>>> javax.ejb.embeddable.provider
> >>>>>>>>>> javax.enterprise.context.conversation
> >>>>>>>>>> javax.enterprise.inject.allowProxying.classes
> >>>>>>>>>> javax.enterprise.resource.webcontainer.jsf.
> >>>>>>>>>> javax.faces.behavior.Ajax
> >>>>>>>>>> javax.faces.behavior.event
> >>>>>>>>>> javax.faces.contract.xml
> >>>>>>>>>> javax.faces.converter.BigDecimalConverter.DECIMAL
> >>>>>>>>>> javax.faces.converter.BigIntegerConverter.BIGINTEGER
> >>>>>>>>>> javax.faces.converter.BooleanConverter.BOOLEAN
> >>>>>>>>>> javax.faces.converter.ByteConverter.BYTE
> >>>>>>>>>> javax.faces.converter.CharacterConverter.CHARACTER
> >>>>>>>>>> javax.faces.converter.DateTimeConverter.DATE
> >>>>>>>>>> javax.faces.converter.DateTimeConverter.DATETIME
> >>>>>>>>>> javax.faces.converter.DateTimeConverter.TIME
> >>>>>>>>>> javax.faces.converter.DoubleConverter.DOUBLE
> >>>>>>>>>> javax.faces.converter.EnumConverter.ENUM
> >>>>>>>>>> javax.faces.converter.EnumConverter.ENUM_NO_CLASS
> >>>>>>>>>> javax.faces.converter.FloatConverter.FLOAT
> >>>>>>>>>> javax.faces.converter.IntegerConverter.INTEGER
> >>>>>>>>>> javax.faces.converter.LongConverter.LONG
> >>>>>>>>>> javax.faces.converter.NumberConverter.CURRENCY
> >>>>>>>>>> javax.faces.converter.NumberConverter.NUMBER
> >>>>>>>>>> javax.faces.converter.NumberConverter.PATTERN
> >>>>>>>>>> javax.faces.converter.NumberConverter.PERCENT
> >>>>>>>>>> javax.faces.converter.ShortConverter.SHORT
> >>>>>>>>>> javax.faces.converter.STRING
> >>>>>>>>>> javax.faces.encodedURL
> >>>>>>>>>> javax.faces.ensureOverriddenInvocation
> >>>>>>>>>> javax.faces.error.xhtml
> >>>>>>>>>> javax.faces.partial.event
> >>>>>>>>>> javax.faces.partial.execute
> >>>>>>>>>> javax.faces.partial.render
> >>>>>>>>>> javax.faces.partial.resetValues
> >>>>>>>>>> javax.faces.passthrough.Element
> >>>>>>>>>> javax.faces.private.BEANS_VALIDATION_AVAILABLE
> >>>>>>>>>> javax.faces.request.charset
> >>>>>>>>>> javax.faces.resource.localePrefix
> >>>>>>>>>> javax.faces.resource.Script
> >>>>>>>>>> javax.faces.resource.Stylesheet
> >>>>>>>>>> javax.faces.source
> >>>>>>>>>> javax.faces.validator.beanValidator.ValidatorFactory
> >>>>>>>>>> javax.faces.visit.SKIP_ITERATION
> >>>>>>>>>> javax.persistence.bean.manager
> >>>>>>>>>> javax.persistence.cache.retrieveMode
> >>>>>>>>>> javax.persistence.cacheRetrieveMode
> >>>>>>>>>> javax.persistence.cache.storeMode
> >>>>>>>>>> javax.persistence.cacheStoreMode
> >>>>>>>>>> javax.persistence.database-major-version
> >>>>>>>>>> javax.persistence.database-minor-version
> >>>>>>>>>> javax.persistence.database-product-name
> >>>>>>>>>> javax.persistence.dataSource
> >>>>>>>>>> javax.persistence.Embeddable
> >>>>>>>>>> javax.persistence.Entity
> >>>>>>>>>> javax.persistence.fetchgraph
> >>>>>>>>>> javax.persistence.jdbc.driver
> >>>>>>>>>> javax.persistence.jdbc.password
> >>>>>>>>>> javax.persistence.jdbc.url
> >>>>>>>>>> javax.persistence.jdbc.user
> >>>>>>>>>> javax.persistence.jtaDataSource
> >>>>>>>>>> javax.persistence.loadgraph
> >>>>>>>>>> javax.persistence.lock
> >>>>>>>>>> javax.persistence.lock.scope
> >>>>>>>>>> javax.persistence.lock.timeout
> >>>>>>>>>> javax.persistence.MappedSuperclass
> >>>>>>>>>> javax.persistence.nonJtaDataSource
> >>>>>>>>>> javax.persistence.provider
> >>>>>>>>>> javax.persistence.query
> >>>>>>>>>> javax.persistence.query.timeout
> >>>>>>>>>> javax.persistence.schema-generation.connection
> >>>>>>>>>> javax.persistence.schema-generation.create-database-schemas
> >>>>>>>>>> javax.persistence.schema-generation.create-script-source
> >>>>>>>>>> javax.persistence.schema-generation.create-source
> >>>>>>>>>> javax.persistence.schema-generation.database.action
> >>>>>>>>>> javax.persistence.schema-generation.drop-script-source
> >>>>>>>>>> javax.persistence.schema-generation.drop-source
> >>>>>>>>>> javax.persistence.schema-generation.scripts.action
> >>>>>>>>>> javax.persistence.schema-generation.scripts.create-target
> >>>>>>>>>> javax.persistence.schema-generation.scripts.drop-target
> >>>>>>>>>> javax.persistence.sharedCache.mode
> >>>>>>>>>> javax.persistence.sql-load-script-source
> >>>>>>>>>> javax.persistence.transactionType
> >>>>>>>>>> javax.persistence.validation.factory
> >>>>>>>>>> javax.persistence.validation.group.pre-persist
> >>>>>>>>>> javax.persistence.validation.group.pre-remove
> >>>>>>>>>> javax.persistence.validation.group.pre-update
> >>>>>>>>>> javax.persistence.validation.mode
> >>>>>>>>>> javax.security.jacc.policy.provider
> >>>>>>>>>> javax.servlet.async.context_path
> >>>>>>>>>> javax.servlet.async.mapping
> >>>>>>>>>> javax.servlet.async.path_info
> >>>>>>>>>> javax.servlet.async.query_string
> >>>>>>>>>> javax.servlet.async.request_uri
> >>>>>>>>>> javax.servlet.async.servlet_path
> >>>>>>>>>> javax.servlet.context.orderedLibs
> >>>>>>>>>> javax.servlet.context.tempdir
> >>>>>>>>>> javax.servlet.error.exception
> >>>>>>>>>> javax.servlet.error.exception_type
> >>>>>>>>>> javax.servlet.error.message
> >>>>>>>>>> javax.servlet.error.request_uri
> >>>>>>>>>> javax.servlet.error.servlet_name
> >>>>>>>>>> javax.servlet.error.status_code
> >>>>>>>>>> javax.servlet.forward.context_path
> >>>>>>>>>> javax.servlet.forward.mapping
> >>>>>>>>>> javax.servlet.forward.path_info
> >>>>>>>>>> javax.servlet.forward.query_string
> >>>>>>>>>> javax.servlet.forward.request_uri
> >>>>>>>>>> javax.servlet.forward.servlet_path
> >>>>>>>>>> javax.servlet.http.registerSession
> >>>>>>>>>> javax.servlet.include.context_path
> >>>>>>>>>> javax.servlet.include.mapping
> >>>>>>>>>> javax.servlet.include.path_info
> >>>>>>>>>> javax.servlet.include.query_string
> >>>>>>>>>> javax.servlet.include.request_uri
> >>>>>>>>>> javax.servlet.include.servlet_path
> >>>>>>>>>> javax.servlet.jsp.functions.allowed
> >>>>>>>>>> javax.servlet.jsp.jspApplication
> >>>>>>>>>> javax.servlet.jsp.jspConfig
> >>>>>>>>>> javax.servlet.jsp.jspException
> >>>>>>>>>> javax.servlet.jsp.jspOut
> >>>>>>>>>> javax.servlet.jsp.jspPage
> >>>>>>>>>> javax.servlet.jsp.jspPageContext
> >>>>>>>>>> javax.servlet.jsp.jspRequest
> >>>>>>>>>> javax.servlet.jsp.jspResponse
> >>>>>>>>>> javax.servlet.jsp.jspSession
> >>>>>>>>>> javax.servlet.jsp.jstl.fmt.fallbackLocale
> >>>>>>>>>> javax.servlet.jsp.jstl.fmt.locale
> >>>>>>>>>> javax.servlet.jsp.jstl.fmt.localizationContext
> >>>>>>>>>> javax.servlet.jsp.jstl.fmt.request.charset
> >>>>>>>>>> javax.servlet.jsp.jstl.fmt.timeZone
> >>>>>>>>>> javax.servlet.jsp.jstl.sql.dataSource
> >>>>>>>>>> javax.servlet.jsp.jstl.sql.maxRows
> >>>>>>>>>> javax.servlet.request.cipher_suite
> >>>>>>>>>> javax.servlet.request.key_size
> >>>>>>>>>> javax.servlet.request.ssl_session
> >>>>>>>>>> javax.servlet.request.ssl_session_id
> >>>>>>>>>> javax.servlet.request.ssl_session_mgr
> >>>>>>>>>> javax.servlet.request.X509Certificate
> >>>>>>>>>> javax.validation.constraint.
> >>>>>>>>>> javax.xml.bind.context.factory
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>
> javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
> >>>>>>>>>> javax.xml.rpc.encodingstyle.namespace.uri
> >>>>>>>>>> javax.xml.rpc.security.auth.password
> >>>>>>>>>> javax.xml.rpc.security.auth.username
> >>>>>>>>>> javax.xml.rpc.service.endpoint.address
> >>>>>>>>>> javax.xml.rpc.session.maintain
> >>>>>>>>>> javax.xml.rpc.soap.http.soapaction.uri
> >>>>>>>>>> javax.xml.rpc.soap.http.soapaction.use
> >>>>>>>>>> javax.xml.rpc.soap.operation.style
> >>>>>>>>>> javax.xml.soap.character-set-encoding
> >>>>>>>>>> javax.xml.soap.write-xml-declaration
> >>>>>>>>>> javax.xml.ws.addressing.context
> >>>>>>>>>> javax.xml.ws.addressing.context.inbound
> >>>>>>>>>> javax.xml.ws.addressing.context.outbound
> >>>>>>>>>> javax.xml.ws.binding.attachments.inbound
> >>>>>>>>>> javax.xml.ws.binding.attachments.outbound
> >>>>>>>>>> javax.xml.ws.client.connectionTimeout
> >>>>>>>>>> javax.xml.ws.client.receiveTimeout
> >>>>>>>>>> javax.xml.ws.handler.message.outbound
> >>>>>>>>>> javax.xml.ws.http.request.headers
> >>>>>>>>>> javax.xml.ws.http.request.method
> >>>>>>>>>> javax.xml.ws.http.request.pathinfo
> >>>>>>>>>> javax.xml.ws.http.request.querystring
> >>>>>>>>>> javax.xml.ws.http.response.code
> >>>>>>>>>> javax.xml.ws.http.response.headers
> >>>>>>>>>> javax.xml.ws.reference.parameters
> >>>>>>>>>> javax.xml.ws.RespectBindingFeature
> >>>>>>>>>> javax.xml.ws.security.auth.password
> >>>>>>>>>> javax.xml.ws.security.auth.username
> >>>>>>>>>> javax.xml.ws.service.endpoint.address
> >>>>>>>>>> javax.xml.ws.servlet.context
> >>>>>>>>>> javax.xml.ws.servlet.request
> >>>>>>>>>> javax.xml.ws.servlet.response
> >>>>>>>>>> javax.xml.ws.session.maintain
> >>>>>>>>>> javax.xml.ws.soap.http.soapaction.uri
> >>>>>>>>>> javax.xml.ws.soap.http.soapaction.use
> >>>>>>>>>> javax.xml.ws.spi.http.request.cert.X509Certificate
> >>>>>>>>>> javax.xml.ws.spi.http.request.cipher.suite
> >>>>>>>>>> javax.xml.ws.spi.http.request.key.size
> >>>>>>>>>> javax.xml.ws.wsdl.description
> >>>>>>>>>> javax.xml.ws.wsdl.interface
> >>>>>>>>>> javax.xml.ws.wsdl.operation
> >>>>>>>>>> javax.xml.ws.wsdl.port
> >>>>>>>>>> javax.xml.ws.wsdl.service
> >>>>>>>>>>
> >>>>>>>>>> I'll see if I can work these in.
> >>>>>>>>>>
> >>>>>>>>>> Jon
> >>>>>>>>>>
> >>>>>>>>>> On Thu, Jun 4, 2020 at 12:30 PM Jonathan Gallimore <
> >>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Ok, the last commit I pushed this morning seems to have cleared
> >>>>>> these
> >>>>>>>>>>> references up altogether. My latest run of the jkta code shows
> no
> >>>>>> code
> >>>>>>>>>>> references left.
> >>>>>>>>>>>
> >>>>>>>>>>> David, can you re-run your analysis and check?
> >>>>>>>>>>>
> >>>>>>>>>>> For the string references, here's the latest data:
> >>>>>>>>>>>
> >>>>>>>>>>> Path javax uses total
> >>>>>>>>>>> ./servlet-api.jar 26
> >>>>>>>>>>> ./jakarta.activation-1.2.1.jar 2
> >>>>>>>>>>> ./jsp-api.jar 13
> >>>>>>>>>>> ./bval-jsr-2.0.3.jar 1
> >>>>>>>>>>> ./taglibs-standard-impl-1.2.5.jar 17
> >>>>>>>>>>> ./openejb-core-8.0.3-SNAPSHOT.jar 41
> >>>>>>>>>>> ./cxf-core-3.3.6.jar 48
> >>>>>>>>>>> ./catalina.jar 135
> >>>>>>>>>>> ./cxf-rt-security-saml-3.3.6.jar 7
> >>>>>>>>>>> ./cxf-rt-bindings-soap-3.3.6.jar 5
> >>>>>>>>>>> ./taglibs-standard-jstlel-1.2.5.jar 1
> >>>>>>>>>>> ./opensaml-security-api-3.3.1.jar 2
> >>>>>>>>>>> ./jakarta.xml.bind-api-2.3.2.jar 5
> >>>>>>>>>>> ./taglibs-standard-spec-1.2.5.jar 11
> >>>>>>>>>>> ./openejb-jee-8.0.3-SNAPSHOT.jar 1
> >>>>>>>>>>> ./openwebbeans-impl-2.0.12.jar 4
> >>>>>>>>>>> ./saaj-impl-1.5.1.jar 7
> >>>>>>>>>>> ./jasper.jar 36
> >>>>>>>>>>> ./jakarta.faces-2.3.14.jar 165
> >>>>>>>>>>> ./openejb-client-8.0.3-SNAPSHOT.jar 1
> >>>>>>>>>>> ./tomcat-util-scan.jar 1
> >>>>>>>>>>> ./openjpa-3.1.0.jar 80
> >>>>>>>>>>> ./cxf-rt-rs-security-oauth2-3.3.6.jar 1
> >>>>>>>>>>> ./cxf-rt-frontend-jaxws-3.3.6.jar 74
> >>>>>>>>>>> ./cxf-rt-transports-http-3.3.6.jar 10
> >>>>>>>>>>> ./catalina-ssi.jar 4
> >>>>>>>>>>> ./cxf-rt-ws-security-3.3.6.jar 15
> >>>>>>>>>>> ./javaee-api-8.0-4.jar 47
> >>>>>>>>>>> ./tomee-catalina-8.0.3-SNAPSHOT.jar 1
> >>>>>>>>>>> ./cxf-rt-ws-addr-3.3.6.jar 4
> >>>>>>>>>>> ./eclipselink-2.7.4.jar 177
> >>>>>>>>>>> ./tomcat-coyote.jar 23
> >>>>>>>>>>> ./cxf-rt-frontend-jaxrs-3.3.6.jar 3
> >>>>>>>>>>>
> >>>>>>>>>>> Going to dig into what these actually are. I'm expecting that
> >>>>>> we'll be
> >>>>>>>>>>> able to do the replacements of these with the transformer too.
> >>>>>>>>>>>
> >>>>>>>>>>> Jon
> >>>>>>>>>>>
> >>>>>>>>>>> On Thu, Jun 4, 2020 at 10:48 AM Jonathan Gallimore <
> >>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> These are the references I'm seeing to update:
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-xmlsec-api-3.3.1.jar/org/opensaml/xmlsec/signature/support/SignatureValidationProvider.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-xmlsec-api-3.3.1.jar/org/opensaml/xmlsec/signature/support/SignerProvider.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/SOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/HttpSOAPRequestParameters.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/HttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/logic/TrimOrNullStringFunction.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/logic/TransformAndCheckFunction.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/SchemaBuilder.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/SimpleNamespaceContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/BasicParserPool.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/IndexingObjectStore.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazyList.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazySet.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazyMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/ClassToInstanceMultiMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/security/Type4UUIDIdentifierGenerationStrategy.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/security/AccessControlService.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/BearerSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/AudienceRestrictionConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/HolderOfKeySubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/DelegationRestrictionConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/SenderVouchersSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/OneTimeUseConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/AttributeMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/IDIndex.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/persist/MapLoadSaveManager.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-profile-api-3.3.1.jar/org/opensaml/profile/context/ProfileRequestContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/xml/SAMLSchemaBuilder.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/assertion/ValidationContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/assertion/ValidationResult.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/AbstractSAMLObjectUnmarshaller.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/StatementValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/ConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/SubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-xmlsec-api-3.3.1.jar/org/opensaml/xmlsec/signature/support/SignatureValidationProvider.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-xmlsec-api-3.3.1.jar/org/opensaml/xmlsec/signature/support/SignerProvider.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/SOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/HttpSOAPRequestParameters.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/HttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/logic/TrimOrNullStringFunction.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/logic/TransformAndCheckFunction.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/SchemaBuilder.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/SimpleNamespaceContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/BasicParserPool.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/IndexingObjectStore.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazyList.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazySet.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazyMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/ClassToInstanceMultiMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/security/Type4UUIDIdentifierGenerationStrategy.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/security/AccessControlService.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/BearerSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/AudienceRestrictionConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/HolderOfKeySubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/DelegationRestrictionConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/SenderVouchersSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/OneTimeUseConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/AttributeMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/IDIndex.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/persist/MapLoadSaveManager.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-profile-api-3.3.1.jar/org/opensaml/profile/context/ProfileRequestContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/xml/SAMLSchemaBuilder.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/assertion/ValidationContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/assertion/ValidationResult.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/AbstractSAMLObjectUnmarshaller.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/StatementValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/ConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plus-8.0.3-SNAPSHOT.zip/apache-tomee-plus-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/SubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-xmlsec-api-3.3.1.jar/org/opensaml/xmlsec/signature/support/SignatureValidationProvider.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-xmlsec-api-3.3.1.jar/org/opensaml/xmlsec/signature/support/SignerProvider.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/SOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/HttpSOAPRequestParameters.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-soap-api-3.3.1.jar/org/opensaml/soap/client/http/HttpSOAPClient.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/logic/TrimOrNullStringFunction.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/logic/TransformAndCheckFunction.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/SchemaBuilder.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/SimpleNamespaceContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/xml/BasicParserPool.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/IndexingObjectStore.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazyList.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazySet.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/LazyMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/ClassToInstanceMultiMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/security/Type4UUIDIdentifierGenerationStrategy.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/security/AccessControlService.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/BearerSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/AudienceRestrictionConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/HolderOfKeySubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/DelegationRestrictionConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/SenderVouchersSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-impl-3.3.1.jar/org/opensaml/saml/saml2/assertion/impl/OneTimeUseConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/AttributeMap.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/util/IDIndex.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/persist/MapLoadSaveManager.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-core-3.3.1.jar/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-profile-api-3.3.1.jar/org/opensaml/profile/context/ProfileRequestContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/xml/SAMLSchemaBuilder.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/assertion/ValidationContext.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.NotThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/assertion/ValidationResult.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/common/AbstractSAMLObjectUnmarshaller.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/StatementValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/ConditionValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>
> ./apache-tomee-plume-8.0.3-SNAPSHOT.zip/apache-tomee-plume-8.0.3-SNAPSHOT/lib/opensaml-saml-api-3.3.1.jar/org/opensaml/saml/saml2/assertion/SubjectConfirmationValidator.adoc:
> >>>>>>>>>>>> - javax.annotation.concurrent.ThreadSafe - 1
> >>>>>>>>>>>>
> >>>>>>>>>>>> Will get this pushed and do another run. I'll also get the
> string
> >>>>>>>>>>>> references as well, and try running some code on the
> transformed
> >>>>>> artifacts.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Jon
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Thu, Jun 4, 2020 at 9:56 AM Jonathan Gallimore <
> >>>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>>> Looks like there might be an issue with
> >>>>>>>>>>>>> `javax.annotation.concurrent.ThreadSafe`, otherwise it's very
> >>>>>> close.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Yep, there's a rule missing for that, which I'll add, and
> >>>>>> regenerate.
> >>>>>>>>>>>>> Currently going through the outputt here to see if there are
> >>>>>> other packages
> >>>>>>>>>>>>> missing.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Jon
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On Thu, Jun 4, 2020 at 9:21 AM David Blevins <
> >>>>>> [email protected]>
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Alright, a more detailed analysis up here:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> - https://github.com/dblevins/tomee-analysis
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Here's the diff.  Mostly shows good changes:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> -
> >>>>>>>>>>>>>>
> >>>>>>
> https://github.com/dblevins/tomee-analysis/commit/a83424fed4f120224c55f90c790990732edcbc9b
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> The index pages show remaining javax references:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> -
> >>>>>>>>>>>>>>
> >>>>>>
> https://github.com/dblevins/tomee-analysis/blob/master/apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/README.adoc
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> -
> >>>>>>>>>>>>>>
> >>>>>>
> https://github.com/dblevins/tomee-analysis/blob/master/apache-tomee-microprofile-8.0.3-SNAPSHOT.zip/apache-tomee-microprofile-8.0.3-SNAPSHOT/lib/java-support-7.3.0.jar/net/shibboleth/utilities/java/support/collection/ClassToInstanceMultiMap.adoc
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Looks like there might be an issue with
> >>>>>>>>>>>>>> `javax.annotation.concurrent.ThreadSafe`, otherwise it's
> very
> >>>>>> close.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> --
> >>>>>>>>>>>>>> David Blevins
> >>>>>>>>>>>>>> http://twitter.com/dblevins
> >>>>>>>>>>>>>> http://www.tomitribe.com
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Jun 3, 2020, at 2:31 PM, Jonathan Gallimore <
> >>>>>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Everything I've got so far is committed. The build should
> >>>>>> produce
> >>>>>>>>>>>>>>> additional artifacts witha jakartaee9 classifier in the
> >>>>>>>>>>>>>> tomee/Apache-tomee
> >>>>>>>>>>>>>>> module.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> The PR idea sounds interesting. Happy to work on that
> >>>>>> tomorrow.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Jon
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Wed, 3 Jun 2020, 18:54 David Blevins, <
> >>>>>> [email protected]>
> >>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Significantly better.  Can you check that in?
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> What I'm imagining to make it easier to digest the
> breadth of
> >>>>>>>>>>>>>> data:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> - run the asmifier on the unmodified zip
> >>>>>>>>>>>>>>>> - check every file into *github*
> >>>>>>>>>>>>>>>> - run the asmifier on the modified zip
> >>>>>>>>>>>>>>>> - check that in and create a PR
> >>>>>>>>>>>>>>>> - we can then pick through the PR to see what's happening
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> --
> >>>>>>>>>>>>>>>> David Blevins
> >>>>>>>>>>>>>>>> http://twitter.com/dblevins
> >>>>>>>>>>>>>>>> http://www.tomitribe.com
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> On Jun 3, 2020, at 10:45 AM, Jonathan Gallimore <
> >>>>>>>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Made some progress by adjusting the rules - here's the
> >>>>>> latest
> >>>>>>>>>>>>>> counts (not
> >>>>>>>>>>>>>>>>> including string references):
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Path javax uses total
> >>>>>>>>>>>>>>>>> ./opensaml-xmlsec-api-3.3.1.jar 2
> >>>>>>>>>>>>>>>>> ./opensaml-soap-api-3.3.1.jar 5
> >>>>>>>>>>>>>>>>> ./java-support-7.3.0.jar 12
> >>>>>>>>>>>>>>>>> ./opensaml-saml-impl-3.3.1.jar 7
> >>>>>>>>>>>>>>>>> ./opensaml-core-3.3.1.jar 5
> >>>>>>>>>>>>>>>>> ./opensaml-profile-api-3.3.1.jar 1
> >>>>>>>>>>>>>>>>> ./opensaml-saml-api-3.3.1.jar 7
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> And if we include string references:
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Path javax uses total
> >>>>>>>>>>>>>>>>> ./servlet-api.jar 26
> >>>>>>>>>>>>>>>>> ./jakarta.activation-1.2.1.jar 2
> >>>>>>>>>>>>>>>>> ./jsp-api.jar 13
> >>>>>>>>>>>>>>>>> ./bval-jsr-2.0.3.jar 1
> >>>>>>>>>>>>>>>>> ./taglibs-standard-impl-1.2.5.jar 17
> >>>>>>>>>>>>>>>>> ./openejb-core-8.0.3-SNAPSHOT.jar 41
> >>>>>>>>>>>>>>>>> ./cxf-core-3.3.6.jar 48
> >>>>>>>>>>>>>>>>> ./catalina.jar 135
> >>>>>>>>>>>>>>>>> ./cxf-rt-security-saml-3.3.6.jar 7
> >>>>>>>>>>>>>>>>> ./cxf-rt-bindings-soap-3.3.6.jar 5
> >>>>>>>>>>>>>>>>> ./taglibs-standard-jstlel-1.2.5.jar 1
> >>>>>>>>>>>>>>>>> ./opensaml-xmlsec-api-3.3.1.jar 2
> >>>>>>>>>>>>>>>>> ./opensaml-security-api-3.3.1.jar 2
> >>>>>>>>>>>>>>>>> ./jakarta.xml.bind-api-2.3.2.jar 5
> >>>>>>>>>>>>>>>>> ./taglibs-standard-spec-1.2.5.jar 11
> >>>>>>>>>>>>>>>>> ./openejb-jee-8.0.3-SNAPSHOT.jar 1
> >>>>>>>>>>>>>>>>> ./openwebbeans-impl-2.0.12.jar 4
> >>>>>>>>>>>>>>>>> ./saaj-impl-1.5.1.jar 7
> >>>>>>>>>>>>>>>>> ./opensaml-soap-api-3.3.1.jar 5
> >>>>>>>>>>>>>>>>> ./jasper.jar 36
> >>>>>>>>>>>>>>>>> ./jakarta.faces-2.3.14.jar 165
> >>>>>>>>>>>>>>>>> ./openejb-client-8.0.3-SNAPSHOT.jar 1
> >>>>>>>>>>>>>>>>> ./tomcat-util-scan.jar 1
> >>>>>>>>>>>>>>>>> ./openjpa-3.1.0.jar 80
> >>>>>>>>>>>>>>>>> ./cxf-rt-rs-security-oauth2-3.3.6.jar 1
> >>>>>>>>>>>>>>>>> ./java-support-7.3.0.jar 12
> >>>>>>>>>>>>>>>>> ./cxf-rt-frontend-jaxws-3.3.6.jar 74
> >>>>>>>>>>>>>>>>> ./cxf-rt-transports-http-3.3.6.jar 10
> >>>>>>>>>>>>>>>>> ./opensaml-saml-impl-3.3.1.jar 7
> >>>>>>>>>>>>>>>>> ./catalina-ssi.jar 4
> >>>>>>>>>>>>>>>>> ./cxf-rt-ws-security-3.3.6.jar 15
> >>>>>>>>>>>>>>>>> ./javaee-api-8.0-4.jar 47
> >>>>>>>>>>>>>>>>> ./tomee-catalina-8.0.3-SNAPSHOT.jar 1
> >>>>>>>>>>>>>>>>> ./opensaml-core-3.3.1.jar 5
> >>>>>>>>>>>>>>>>> ./cxf-rt-ws-addr-3.3.6.jar 4
> >>>>>>>>>>>>>>>>> ./eclipselink-2.7.4.jar 177
> >>>>>>>>>>>>>>>>> ./opensaml-profile-api-3.3.1.jar 1
> >>>>>>>>>>>>>>>>> ./tomcat-coyote.jar 23
> >>>>>>>>>>>>>>>>> ./opensaml-saml-api-3.3.1.jar 7
> >>>>>>>>>>>>>>>>> ./cxf-rt-frontend-jaxrs-3.3.6.jar 3
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> This is looking a lot better.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Jon
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> On Wed, Jun 3, 2020 at 6:06 PM David Blevins <
> >>>>>>>>>>>>>> [email protected]>
> >>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> On Jun 3, 2020, at 9:03 AM, Jonathan Gallimore <
> >>>>>>>>>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Just wanted to follow up with some details on how I'm
> >>>>>> getting
> >>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>> numbers
> >>>>>>>>>>>>>>>>>>> below. I'm using this tool:
> >>>>>> https://github.com/tomitribe/jkta
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> So people have a heads-up on that tool, I'm currently
> >>>>>> working
> >>>>>>>>>>>>>> on the
> >>>>>>>>>>>>>>>>>> Tomitribe side with Sonatype to scan all of Maven
> Central
> >>>>>> for
> >>>>>>>>>>>>>> uses of
> >>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>> affected javax packages.  We'll be building a reporting
> >>>>>> site to
> >>>>>>>>>>>>>> share
> >>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>> data with everyone.  I mention that just in case people
> get
> >>>>>>>>>>>>>> excited and
> >>>>>>>>>>>>>>>>>> think, "wow, we could help a lot of people with a tool
> like
> >>>>>>>>>>>>>> that!"
> >>>>>>>>>>>>>>>> Agree
> >>>>>>>>>>>>>>>>>> and covered :)  "Go big or go home" as they say :)
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> I unfortunately won't be able to go into much more
> detail.
> >>>>>>>>>>>>>> I'll just
> >>>>>>>>>>>>>>>> say
> >>>>>>>>>>>>>>>>>> we're all very excited and we hope to make the
> >>>>>> javax-to-jakarta
> >>>>>>>>>>>>>>>> transition
> >>>>>>>>>>>>>>>>>> as survivable as possible.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Once TomEE is built, I'm extracting the zip, changing
> to
> >>>>>> the
> >>>>>>>>>>>>>> lib
> >>>>>>>>>>>>>>>> folder,
> >>>>>>>>>>>>>>>>>>> and running the following commands:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> for f in *.jar; do java -jar
> >>>>>>>>>>>>>>>>>>> ~/dev/jkta/target/jkta-0.11-SNAPSHOT-shaded.jar usage
> jar
> >>>>>> $f >
> >>>>>>>>>>>>>> $f.tsv;
> >>>>>>>>>>>>>>>>>> done
> >>>>>>>>>>>>>>>>>>> for f in *.jar; do java -jar
> >>>>>>>>>>>>>>>>>>> ~/dev/jkta/target/jkta-0.11-SNAPSHOT-shaded.jar usage
> jar
> >>>>>>>>>>>>>>>>>>> --include-strings=true $f > $f.strings.tsv; done
> >>>>>>>>>>>>>>>>>>> java -jar
> ~/dev/jkta/target/jkta-0.11-SNAPSHOT-shaded.jar
> >>>>>>>>>>>>>> usage dir . >
> >>>>>>>>>>>>>>>>>>> jars.tsv
> >>>>>>>>>>>>>>>>>>> java -jar
> ~/dev/jkta/target/jkta-0.11-SNAPSHOT-shaded.jar
> >>>>>>>>>>>>>> usage dir
> >>>>>>>>>>>>>>>>>>> --include-strings=true . > jars.strings.tsv
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> The goal to see what the gaps are from the
> transformation
> >>>>>>>>>>>>>> process and
> >>>>>>>>>>>>>>>>>> close
> >>>>>>>>>>>>>>>>>>> those gaps.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> I'll dig in and see what I can find.  I've had my nose
> >>>>>> deep in
> >>>>>>>>>>>>>> ASM for a
> >>>>>>>>>>>>>>>>>> few weeks now, so we'll see if helps.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> -David
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>
> >>>>>>
> >
>
>

Reply via email to