Uploaded image for project: 'Magnolia Multisite Module'
  1. Magnolia Multisite Module
  2. MULTISITE-42

Remove deprecated add methods from module class and make list unmodifiable

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 1.2
    • None
    • None
    • Yes

      Deprecated methods in module class

      info.magnolia.multisite.MultiSiteModule provides add methods to add info.magnolia.module.site.Site and info.magnolia.multisite.sites.matchers.Rule to the respective list/map. These methods shouldn't be used – also taking into account that the sites/rules should only be set once by N2B.

      [...].Node2BeanTransformerImpl: Will use deprecated add method [addRule] to populate [rules] in bean class [info.magnolia.multisite.MultiSiteModule].
      

      Inconsistency in additions

      The module only adds rules when they contain at least one info.magnolia.multisite.sites.matchers.RequestMatcher (uses same method in add/set function) however setting the site is inconsistent: using the add-method only adds the site when it's enabled, settting all sites doesn't care about it.

      List/map should be unmodifiable

      Both the list of rules and the map of sites should be unmodifiable. There's currently no scenario where these items should be added during runtime.

      java.util.ConcurrentModificationException

      We're currently seeing occational exceptions when modifying e.g. the site during runtime and testing the rendering of page – more or less simultaneously – when observation causes a delayed update of the collection and the rendering accesses the site's list (by using templating functions):

      [INFO] [talledLocalContainer] 2015-05-05 08:53:21,315 ERROR freemarker.runtime                                : Error executing FreeMarker template
      [INFO] [talledLocalContainer] FreeMarker template error:
      [INFO] [talledLocalContainer] An error has occurred when reading existing sub-variable "teaserLink"; see cause exception! The type of the containing value was: extended_hash+string (info.magnolia.module.templatingkit.templates.components.InternalTeaserModel wrapped into f.e.b.StringModel)
      [INFO] [talledLocalContainer] 
      [INFO] [talledLocalContainer] ----
      [INFO] [talledLocalContainer] FTL stack trace ("~" means nesting-related):
      [INFO] [talledLocalContainer]   - Failed at: ${model.teaserLink}  [in template "templating-kit/components/teasers/internalPage.ftl" at line 53, column 64]
      [INFO] [talledLocalContainer] ----
      [INFO] [talledLocalContainer] 
      [INFO] [talledLocalContainer] Java stack trace (for programmers):
      [INFO] [talledLocalContainer] ----
      [INFO] [talledLocalContainer] freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
      [INFO] [talledLocalContainer]   at freemarker.ext.beans.BeanModel.get(BeanModel.java:198)
      [INFO] [talledLocalContainer]   at freemarker.core.Dot._eval(Dot.java:40)
      [INFO] [talledLocalContainer]   at freemarker.core.Expression.eval(Expression.java:76)
      [INFO] [talledLocalContainer]   at freemarker.core.Expression.evalAndCoerceToString(Expression.java:80)
      [INFO] [talledLocalContainer]   at freemarker.core.DollarVariable.accept(DollarVariable.java:40)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.MixedContent.accept(MixedContent.java:57)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visitByHiddingParent(Environment.java:278)
      [INFO] [talledLocalContainer]   at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.MixedContent.accept(MixedContent.java:57)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visitByHiddingParent(Environment.java:278)
      [INFO] [talledLocalContainer]   at freemarker.core.IfBlock.accept(IfBlock.java:48)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.MixedContent.accept(MixedContent.java:57)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.process(Environment.java:235)
      [INFO] [talledLocalContainer]   at freemarker.template.Template.process(Template.java:262)
      [INFO] [talledLocalContainer]   at info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:96)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.module.templatingkit.renderers.STKRenderer.render(STKRenderer.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:118)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:99)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:94)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$6c9284de.render(<generated>)
      [INFO] [talledLocalContainer]   at info.magnolia.templating.elements.ComponentElement.begin(ComponentElement.java:181)
      [INFO] [talledLocalContainer]   at info.magnolia.templating.freemarker.AbstractDirective.execute(AbstractDirective.java:93)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:333)
      [INFO] [talledLocalContainer]   at freemarker.core.UnifiedCall.accept(UnifiedCall.java:100)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visitByHiddingParent(Environment.java:278)
      [INFO] [talledLocalContainer]   at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:157)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visitIteratorBlock(Environment.java:501)
      [INFO] [talledLocalContainer]   at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.MixedContent.accept(MixedContent.java:57)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.process(Environment.java:235)
      [INFO] [talledLocalContainer]   at freemarker.template.Template.process(Template.java:262)
      [INFO] [talledLocalContainer]   at info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:96)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.module.templatingkit.renderers.STKRenderer.render(STKRenderer.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:118)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$6c9284de.render(<generated>)
      [INFO] [talledLocalContainer]   at info.magnolia.templating.elements.AreaElement.end(AreaElement.java:324)
      [INFO] [talledLocalContainer]   at info.magnolia.templating.freemarker.AbstractDirective.execute(AbstractDirective.java:98)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:333)
      [INFO] [talledLocalContainer]   at freemarker.core.UnifiedCall.accept(UnifiedCall.java:100)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visitByHiddingParent(Environment.java:278)
      [INFO] [talledLocalContainer]   at freemarker.core.IfBlock.accept(IfBlock.java:48)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.MixedContent.accept(MixedContent.java:57)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.process(Environment.java:235)
      [INFO] [talledLocalContainer]   at freemarker.template.Template.process(Template.java:262)
      [INFO] [talledLocalContainer]   at info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:96)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.module.templatingkit.renderers.STKRenderer.render(STKRenderer.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:118)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$6c9284de.render(<generated>)
      [INFO] [talledLocalContainer]   at info.magnolia.templating.elements.AreaElement.end(AreaElement.java:324)
      [INFO] [talledLocalContainer]   at info.magnolia.templating.freemarker.AbstractDirective.execute(AbstractDirective.java:98)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:333)
      [INFO] [talledLocalContainer]   at freemarker.core.UnifiedCall.accept(UnifiedCall.java:100)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.MixedContent.accept(MixedContent.java:57)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.visit(Environment.java:257)
      [INFO] [talledLocalContainer]   at freemarker.core.Environment.process(Environment.java:235)
      [INFO] [talledLocalContainer]   at freemarker.template.Template.process(Template.java:262)
      [INFO] [talledLocalContainer]   at info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:96)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:155)
      [INFO] [talledLocalContainer]   at info.magnolia.module.templatingkit.renderers.STKRenderer.render(STKRenderer.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:118)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$6c9284de.render(<generated>)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.RenderingFilter.render(RenderingFilter.java:195)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.RenderingFilter.handleTemplateRequest(RenderingFilter.java:140)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.engine.RenderingFilter.doFilter(RenderingFilter.java:94)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.rendering.model.ModelExecutionFilter.doFilter(ModelExecutionFilter.java:100)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.personalization.filter.VariantResolverFilter.doFilter(VariantResolverFilter.java:103)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AggregatorFilter.doFilter(AggregatorFilter.java:100)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.RepositoryMappingFilter.doFilter(RepositoryMappingFilter.java:108)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:74)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:69)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58)
      [INFO] [talledLocalContainer]   at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:67)
      [INFO] [talledLocalContainer]   at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:172)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:74)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:84)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.multisite.filters.CrossSiteSecurityFilter.doFilter(CrossSiteSecurityFilter.java:104)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:80)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.module.site.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:119)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.multisite.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:104)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.sitemesh.webapp.MagnoliaSiteMeshFilter.bufferAndPostProcess(MagnoliaSiteMeshFilter.java:74)
      [INFO] [talledLocalContainer]   at org.sitemesh.webapp.contentfilter.ContentBufferingFilter.doFilter(ContentBufferingFilter.java:126)
      [INFO] [talledLocalContainer]   at org.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:120)
      [INFO] [talledLocalContainer]   at org.sitemesh.config.ConfigurableSiteMeshFilter.doFilter(ConfigurableSiteMeshFilter.java:163)
      [INFO] [talledLocalContainer]   at info.magnolia.sitemesh.config.MagnoliaConfigurableSiteMeshFilter.doFilter(MagnoliaConfigurableSiteMeshFilter.java:86)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.FilterDecorator.doFilter(FilterDecorator.java:89)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:56)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:87)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:71)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.personalization.preview.filter.PreviewFilter.doFilter(PreviewFilter.java:92)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:61)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:61)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:61)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:112)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
      [INFO] [talledLocalContainer]   at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.Server.handle(Server.java:326)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
      [INFO] [talledLocalContainer]   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      [INFO] [talledLocalContainer]   at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
      [INFO] [talledLocalContainer]   at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)
      [INFO] [talledLocalContainer] Caused by: java.lang.reflect.InvocationTargetException
      [INFO] [talledLocalContainer]   at sun.reflect.GeneratedMethodAccessor557.invoke(Unknown Source)
      [INFO] [talledLocalContainer]   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      [INFO] [talledLocalContainer]   at java.lang.reflect.Method.invoke(Method.java:606)
      [INFO] [talledLocalContainer]   at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1385)
      [INFO] [talledLocalContainer]   at freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:254)
      [INFO] [talledLocalContainer]   at freemarker.ext.beans.BeanModel.get(BeanModel.java:158)
      [INFO] [talledLocalContainer]   ... 220 more
      [INFO] [talledLocalContainer] Caused by: java.util.ConcurrentModificationException
      [INFO] [talledLocalContainer]   at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:394)
      [INFO] [talledLocalContainer]   at java.util.LinkedHashMap$ValueIterator.next(LinkedHashMap.java:409)
      [INFO] [talledLocalContainer]   at info.magnolia.multisite.sites.MultiSiteManager.getAssignedSite(MultiSiteManager.java:102)
      [INFO] [talledLocalContainer]   at info.magnolia.multisite.CompoundLinkTransformer.transform(CompoundLinkTransformer.java:53)
      [INFO] [talledLocalContainer]   at info.magnolia.link.LinkUtil.createLink(LinkUtil.java:409)
      [INFO] [talledLocalContainer]   at info.magnolia.link.LinkUtil.createLink(LinkUtil.java:465)
      [INFO] [talledLocalContainer]   at info.magnolia.templating.functions.TemplatingFunctions.link(TemplatingFunctions.java:394)
      [INFO] [talledLocalContainer]   at info.magnolia.module.templatingkit.templates.components.AbstractTeaserModel.getTeaserLink(AbstractTeaserModel.java:105)
      

      Tasks

      • Get rid of add-methods
      • Make addition of items more consistent: only add valid/enabled entries
      • Use unmodifiable list/map for both class members

        Acceptance criteria

              pmundt Philip Mundt
              pmundt Philip Mundt
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD