Uploaded image for project: 'Blossom'
  1. Blossom
  2. BLOSSOM-145

Support for areas with class inheritance

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Neutral Neutral
    • None
    • None
    • None
    • None

      The issue is best explained by an example:

      @Controller
      public class FooterCapablePage
      {
      	@Area(value="footer", title="Footer Area", maxComponents="1")
      	@AvailableComponentClasses({
      		PageFooterComponent.class,
      	})
      	@Controller
      	public static class PageFooterArea
      	{
      		@RequestMapping("/footerCapablePage/footerArea")
      		public String render()
      		{
      			return "areas/componentIterator";
      		}
      	}
      }
      
      @Template(id="vwm:articlePage", title="Article Page")
      @Controller
      public class ArticlePageTemplate extends FooterCapablePage
      {
      	@RequestMapping("/articlepage")
      	public String handleRequest()
      	{
      		return "/pages/article";
      	}
      }
      

      It would be great and avoid a lot of redundant code if /pages/article.jsp could use <cms:area name="footer"/> in this scenario, but currently that doesn't work (the area isn't rendered, no components can be put in it). Only if the area is defined in ArticlePageTemplate itself, Blossom will accept it.

      Spring annotations like @ModelAttribute or some other Blossom annotations like @TabFactory support inheritance.

      Thank you.

        Acceptance criteria

              tmattsson Tobias Mattsson
              tln TLN
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Task DoD