[MGNLEE-598] Take out device-detection from webapps for good Created: 06/Feb/20  Updated: 20/Apr/20  Resolved: 07/Feb/20

Status: Closed
Project: Magnolia DX Core
Component/s: None
Affects Version/s: None
Fix Version/s: 6.2

Type: Task Priority: Neutral
Reporter: Maxime Michel Assignee: Maxime Michel
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relation
is related to MAGNOLIA-7777 Device detection causes migration diff Closed
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:

 Description   

This module was taken out from CE by me on Nov. 27th 2018 for 6.0 (44dea96cbfe2eea4125f435fddb80ce3ec9e796f), but it's been brought back again in dx-core. This ticket is about removing it completely, as it's an obsolete module since a long time.



 Comments   
Comment by Richard Gange [ 17/Apr/20 ]

When doing a demo upgrade from 6.1.5 to 6.2 I ended up with this:

2020-04-17 12:55:51,383 WARN  agnolia.transformer.ClassPropertyBasedTypeResolver: Encountered the 'class' property but failed to resolved the type from its value: [info.magnolia.module.devicedetection.filter.DeviceDetectionFilter]
java.lang.ClassNotFoundException: info.magnolia.module.devicedetection.filter.DeviceDetectionFilter
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_181]
	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:869) ~[groovy-3.0.1.jar:3.0.1]
	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:745) ~[groovy-3.0.1.jar:3.0.1]
	at info.magnolia.module.groovy.support.classes.GroovyClassFactory.forName(GroovyClassFactory.java:99) ~[magnolia-groovy-3.0.jar:?]
	at info.magnolia.transformer.ClassPropertyBasedTypeResolver.resolveType(ClassPropertyBasedTypeResolver.java:71) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.transformer.BeanTypeResolver.lambda$resolve$0(BeanTypeResolver.java:86) ~[magnolia-core-6.2.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) [?:1.8.0_181]
	at java.util.Collections$2.tryAdvance(Collections.java:4717) [?:1.8.0_181]
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) [?:1.8.0_181]
	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [?:1.8.0_181]
	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) [?:1.8.0_181]
	at info.magnolia.transformer.BeanTypeResolver.resolve(BeanTypeResolver.java:88) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl.resolveType(Node2BeanTransformerImpl.java:183) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:177) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:288) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:193) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.transformAndLogProblems(Node2BeanProcessorImpl.java:151) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:126) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.createConfiguredFilters(FilterManagerImpl.java:192) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.createRootFilter(FilterManagerImpl.java:170) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.resetRootFilter(FilterManagerImpl.java:147) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.startUsingConfiguredFilters(FilterManagerImpl.java:138) [magnolia-core-6.2.jar:?]
	at info.magnolia.module.ui.InstallationFilter.doFilter(InstallationFilter.java:102) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:110) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96) [magnolia-core-6.2.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.31]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:9.0.31]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [catalina.jar:9.0.31]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.31]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.31]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.31]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) [tomcat-coyote.jar:9.0.31]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.31]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-coyote.jar:9.0.31]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) [tomcat-coyote.jar:9.0.31]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.31]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.31]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]

and...

2020-04-17 12:55:51,752 WARN  agnolia.transformer.ClassPropertyBasedTypeResolver: Encountered the 'class' property but failed to resolved the type from its value: [info.magnolia.module.devicedetection.DeviceChannelResolver]
java.lang.ClassNotFoundException: info.magnolia.module.devicedetection.DeviceChannelResolver
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_181]
	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:869) ~[groovy-3.0.1.jar:3.0.1]
	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:745) ~[groovy-3.0.1.jar:3.0.1]
	at info.magnolia.module.groovy.support.classes.GroovyClassFactory.forName(GroovyClassFactory.java:99) ~[magnolia-groovy-3.0.jar:?]
	at info.magnolia.transformer.ClassPropertyBasedTypeResolver.resolveType(ClassPropertyBasedTypeResolver.java:71) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.transformer.BeanTypeResolver.lambda$resolve$0(BeanTypeResolver.java:86) ~[magnolia-core-6.2.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) [?:1.8.0_181]
	at java.util.Collections$2.tryAdvance(Collections.java:4717) [?:1.8.0_181]
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) [?:1.8.0_181]
	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) [?:1.8.0_181]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [?:1.8.0_181]
	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) [?:1.8.0_181]
	at info.magnolia.transformer.BeanTypeResolver.resolve(BeanTypeResolver.java:88) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl.resolveType(Node2BeanTransformerImpl.java:183) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:177) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:288) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:193) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:288) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:193) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:288) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:193) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.transformAndLogProblems(Node2BeanProcessorImpl.java:151) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:139) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObservedComponentFactory.transformNode(ObservedComponentFactory.java:199) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObservedComponentFactory.onRegister(ObservedComponentFactory.java:184) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObservedComponentFactory$2.doExec(ObservedComponentFactory.java:146) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObservedComponentFactory$2.doExec(ObservedComponentFactory.java:138) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.security.SilentSessionOp.exec(SilentSessionOp.java:70) [magnolia-core-6.2.jar:?]
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-6.2.jar:?]
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:356) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObservedComponentFactory.load(ObservedComponentFactory.java:138) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObservedComponentFactory.<init>(ObservedComponentFactory.java:94) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.guice.GuiceObservedComponentProvider.get(GuiceObservedComponentProvider.java:65) [magnolia-core-6.2.jar:?]
	at com.google.inject.util.Providers$GuicifiedProvider.get(Providers.java:121) [guice-4.2.2.jar:?]
	at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:85) [guice-4.2.2.jar:?]
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:57) [guice-4.2.2.jar:?]
	at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:59) [guice-4.2.2.jar:?]
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47) [guice-4.2.2.jar:?]
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) [guice-4.2.2.jar:?]
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168) [guice-4.2.2.jar:?]
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39) [guice-4.2.2.jar:?]
	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050) [guice-4.2.2.jar:?]
	at info.magnolia.objectfactory.guice.GuiceParameterResolver.resolveParameter(GuiceParameterResolver.java:90) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObjectManufacturer.resolveParameter(ObjectManufacturer.java:160) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObjectManufacturer.resolveParameters(ObjectManufacturer.java:140) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:91) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:134) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:120) [magnolia-core-6.2.jar:?]
	at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstance(GuiceComponentProvider.java:115) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl.newBeanInstance(Node2BeanTransformerImpl.java:274) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:196) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:288) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:193) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.transformAndLogProblems(Node2BeanProcessorImpl.java:151) [magnolia-core-6.2.jar:?]
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:126) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.createConfiguredFilters(FilterManagerImpl.java:192) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.createRootFilter(FilterManagerImpl.java:170) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.resetRootFilter(FilterManagerImpl.java:147) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.FilterManagerImpl.startUsingConfiguredFilters(FilterManagerImpl.java:138) [magnolia-core-6.2.jar:?]
	at info.magnolia.module.ui.InstallationFilter.doFilter(InstallationFilter.java:102) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:110) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96) [magnolia-core-6.2.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.31]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:9.0.31]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [catalina.jar:9.0.31]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.31]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.31]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.31]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) [tomcat-coyote.jar:9.0.31]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.31]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-coyote.jar:9.0.31]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) [tomcat-coyote.jar:9.0.31]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.31]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.31]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]

I agree with taking it out. Just wanted to record this issue somewhere. It looks like manual clean up will be required.

Comment by Richard Gange [ 17/Apr/20 ]

See 6.2 Known issues for more.

Comment by Maxime Michel [ 17/Apr/20 ]

Hmm, sorry about that. The migration tests did catch those leftover properties, but I ignored them. mgeljic, should we have a MVH cleanup task in core for 6.2.1?

Comment by Richard Gange [ 17/Apr/20 ]

Generated at Mon Feb 12 05:31:31 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.