[BLOSSOM-145] Support for areas with class inheritance Created: 16/Oct/13  Updated: 17/Oct/13  Resolved: 17/Oct/13

Status: Closed
Project: Blossom
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Neutral
Reporter: TLN Assignee: Tobias Mattsson
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
duplicate
duplicates BLOSSOM-104 Support for inheriting areas from sup... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)

 Description   

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.


Generated at Sun Feb 11 23:30:35 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.