I have been trying to write some java code which will listen for when a page is created and automatically generate a set of child pages.
I believe I need some data from the event which I have, but I also need to have a pagemanager and a labelManager.
I'm not sure where to get the data from to construct these two, any help would be much appreicated.
Snippet of the code so far:
@EventListener
public void onBlueprintCreateEvent(BlueprintPageCreateEvent event)
{
PageManager pageManager;
LabelManager labelManager;
System.out.println("made it here ...................................");
ModuleCompleteKey moduleCompleteKey = event.getBlueprintKey();
if (!MY_BLUEPRINT_KEY.equals(moduleCompleteKey)){
System.out.println("my_blueprint_key= " + MY_BLUEPRINT_KEY + "moduleCompleteKey= " + moduleCompleteKey.toString());
return;
}
Page topPage = event.getPage();
Space ourSpace = topPage.getSpace();
Map<String,Object> blueprintContext = event.getContext();
System.out.println("2ND PRINT ...................................");
if(topPage == null)
{
System.out.println("topPage EQUALS NULL");
}
if(ourSpace == null)
{
System.out.println("OURSPACE EQUALS NULL");
}
Page subPage = null;
subPage = new Page();
if(pageManager == null)
{
System.out.println("pageManager EQUALS NULL..................................");
}
subPage.setTitle("title");
subPage.setSpace(ourSpace);
subPage.setParentPage(topPage);
subPage.setBodyAsString("NewPage");
subPage.setPosition(0);
//pageManager.saveContentEntity(subPage, null);
//labelManager.addLabel((Labelable) subPage, new Label("NewPage"));
System.out.print("Done....................................................");
}