UIPage uiPage = uiPageForm.getUIPage();
if (uiPage == null)
return;
String storageId = uiPage.getStorageId();
Page page = new Page();
page.setPageId(uiPage.getPageId());
uiPageForm.invokeSetBindingBean(page);
page.setOwnerType(uiPage.getOwnerType());
List<UIPortlet> uiPortlets = new ArrayList<UIPortlet>();
findAllPortlet(uiPortlets, uiPage);
ArrayList<ModelObject> applications = new ArrayList<ModelObject>();
for (UIPortlet uiPortlet : uiPortlets)
{
applications.add(PortalDataMapper.buildModelObject(uiPortlet));
}
if (Page.DESKTOP_PAGE.equals(uiPage.getFactoryId()) && !Page.DESKTOP_PAGE.equals(page.getFactoryId()))
{
page.setShowMaxWindow(false);
uiPage.getChildren().clear();
page.setChildren(applications);
PortalDataMapper.toUIPage(uiPage, page);
// if(page.getTemplate() == null) page.setTemplate(uiPage.getTemplate()) ;
if (page.getChildren() == null)
page.setChildren(new ArrayList<ModelObject>());
// uiEditBar.setUIPage(uiPage);
// Class<?> [] childrenToRender = {UIPageEditBar.class,
// UIPageNodeSelector.class, UIPageNavigationControlBar.class};
// uiManagement.setRenderedChildrenOfTypes(childrenToRender);
pcontext.setFullRender(true);
UIWorkingWorkspace uiWorkingWS = uiPortalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID);
pcontext.addUIComponentToUpdateByAjax(uiWorkingWS);
return;
}
if (Page.DESKTOP_PAGE.equals(page.getFactoryId()))
{
uiPage.getChildren().clear();
page.setChildren(applications);
PortalDataMapper.toUIPage(uiPage, page);
// if(page.getTemplate() == null) page.setTemplate(uiPage.getTemplate()) ;
if (page.getChildren() == null)
page.setChildren(new ArrayList<ModelObject>());
UIPortalToolPanel toolPanel = Util.getUIPortalToolPanel();
toolPanel.setShowMaskLayer(true);
pcontext.setFullRender(true);
UIWorkingWorkspace uiWorkingWS = uiPortalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID);
pcontext.addUIComponentToUpdateByAjax(uiWorkingWS);
DataStorage dataService = uiPageForm.getApplicationComponent(DataStorage.class);
dataService.save(page);
return;
}
List<UIComponent> uiChildren = uiPage.getChildren();
if (uiChildren == null)
{
PortalDataMapper.toUIPage(uiPage, page);
return;
}
ArrayList<ModelObject> children = new ArrayList<ModelObject>();
for (UIComponent child : uiChildren)
{
ModelObject component = PortalDataMapper.buildModelObject(child);
if (component != null)
children.add(component);
}
page.setChildren(children);
uiPage.getChildren().clear();
try{
PortalDataMapper.toUIPage(uiPage, page);
} catch(NoSuchDataException de){
uiPortalApp.addMessage(new ApplicationMessage("UIPageForm.msg.notExistOrDeleted", null, ApplicationMessage.ERROR));
UIPortalComposer uiPortalComposer = (UIPortalComposer)uiPortalApp.findComponentById("UIPageEditor");
if(uiPortalComposer != null){
Event aboutEvent = new Event<UIPortalComposer>(uiPortalComposer, "Abort", event.getRequestContext());
uiPortalComposer.broadcast(aboutEvent, event.getExecutionPhase());
}
}
uiPage.setStorageId(storageId);
// if(page.getTemplate() == null) page.setTemplate(uiPage.getTemplate()) ;
if (page.getChildren() == null)
page.setChildren(new ArrayList<ModelObject>());
}