Adding a label from a listener

Yagnesh Bhat
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 29, 2014

Hello,

I am working on a custom blueprint that should force the users to add labels to their page, before saving the page. The approach for this that I took is that when the user tries to save the blank page thats created by the blueprint, the code below listening for the PageCreateEvent and its during this time that I am currently trying to add an hardcoded label. But as of now I am not sure why the label is not getting added to the page. I do see those sysouts on the console but am clueless why the label is not getting added to the page. Please help.

public class PageCreatedListener implements DisposableBean {
	
	 protected EventPublisher eventPublisher;
	 private final LabelManager labelManager;
	 private final PageManager pageManager;
	 private final Logger log;

	 
	 public PageCreatedListener(EventPublisher eventPublisher, LabelManager labelManager, PageManager pageManager) {
	        this.eventPublisher = eventPublisher;
	        eventPublisher.register(this);
	        this.labelManager = labelManager;
	        this.pageManager = pageManager;
	        log = LoggerFactory.getLogger(PageCreatedListener.class);
	 }
	 
	 @EventListener
	 public void pageCreateFromTemplateEvent(PageCreateEvent event) {
		 Page page= pageManager.getPage(event.getPage().getId());
		 
		
		System.out.println("PAGE ID " + page.getId());
		
		labelManager.addLabel((Labelable) page, new Label("timesheet"));
		System.out.println("LABEL 1 ADDED");
        labelManager.addLabel((Labelable) page, new Label("timesheettwo"));
        System.out.println("LABEL 2 ADDED");

		 
	 }

	@Override
	public void destroy() throws Exception {
		eventPublisher.unregister(this);
		
	}
}

1 answer

1 accepted

0 votes
Answer accepted
Robin Peters
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 6, 2014

To add a label to a page, try to use the LabelUtil.addLabel("label", labelManager, page)- method.
This works fine for me:
for(String i : labels)LabelUtil.addLabel(i, labelManager, event.getPage());

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events