private void updateProperties(PageTemplate source, JpaPageTemplate converted) { converted.setEntityId(source.getId() == null ? null : Long.parseLong(source.getId())); converted.setName(source.getName()); converted.setDescription(source.getDescription()); converted.setPageType(source.getPageType()); converted.setParentPageTemplate(source.getParentPageTemplate()); converted.setSubPageTemplates(source.getSubPageTemplates()); converted.setPageLayout(source.getPageLayout()); converted.setPageTemplateRegions(source.getPageTemplateRegions()); converted.setRenderSequence(source.getRenderSequence()); converted.setDefaultTemplate(source.isDefaultTemplate()); } }
@Override public void setSubPageTemplates(List<PageTemplate> subPageTemplates) { if(this.subPageTemplates == null) { this.subPageTemplates = new ArrayList<JpaPageTemplate>(); } this.getSubPageTemplates().clear(); if(subPageTemplates != null) { for(PageTemplate subPageTemplate : subPageTemplates) { subPageTemplate.setParentPageTemplate(this); this.getSubPageTemplates().add(subPageTemplate); } } }
public PageTemplate(org.apache.rave.model.PageTemplate source) { this.id = source.getId(); this.name = source.getName(); this.description = source.getDescription(); this.pageType = source.getPageType(); this.pageLayoutCode = source.getPageLayout().getCode(); this.defaultTemplate = source.isDefaultTemplate(); }
@Override public JpaPageTemplate convert(PageTemplate source) { if (source != null) { //Enforce consistent casing for page types source.setPageType(source.getPageType() == null ? null : source.getPageType().toUpperCase()); return source instanceof JpaPageTemplate ? (JpaPageTemplate) source : createEntity(source); } return null; }
for(PageTemplate pt : pageTemplates){ Page lPage = new JpaPage(); lPage.setName(pt.getName()); lPage.setPageType(pt.getPageType()); lPage.setOwnerId(page.getOwnerId()); lPage.setPageLayout(pt.getPageLayout()); lPage.setParentPage(page); lPage.setRegions(convertRegions(pt.getPageTemplateRegions(), lPage)); PageUser pageUser = new JpaPageUser(lPage.getOwnerId(), lPage, pt.getRenderSequence()); pageUser.setPageStatus(PageInvitationStatus.OWNER); pageUser.setEditor(true); lPage.setSubPages((pt.getSubPageTemplates() == null || pt.getSubPageTemplates().isEmpty()) ? null : convertPages(pt.getSubPageTemplates(), lPage)); lPage = save(lPage); pages.add(lPage);
private void saveTemplates(ModelWrapper wrapper, Map<String, Widget> widgetsById) { for (PageTemplate template : wrapper.getPageTemplates()) { updateTemplate(widgetsById, template); for (PageTemplate sub : template.getSubPageTemplates()) { sub.setParentPageTemplate(template); updateTemplate(widgetsById, sub); } pageTemplateRepository.save(template); } }
private JpaPageTemplate createEntity(PageTemplate source) { JpaPageTemplate converted = source.getId() == null ? new JpaPageTemplate() : manager.find(JpaPageTemplate.class, Long.parseLong(source.getId())); if (converted == null) { converted = new JpaPageTemplate(); } updateProperties(source, converted); return converted; }
private void updateTemplate(Map<String, Widget> widgetsById, PageTemplate template) { setIdViaReflection(template, null); for (PageTemplateRegion region : template.getPageTemplateRegions()) { setIdViaReflection(region, null); region.setPageTemplate(template); for (PageTemplateWidget widget : region.getPageTemplateWidgets()) { Widget fromDb = widgetsById.get(widget.getWidgetId()); if (fromDb != null) { widget.setWidgetId(fromDb.getId()); } setIdViaReflection(widget, null); widget.setPageTemplateRegion(region); } } }
lPage.setId(String.valueOf(--idx)); lPage.setName(pt.getName()); lPage.setPageType(pt.getPageType()); lPage.setOwnerId(page.getOwnerId()); lPage.setPageLayout(pt.getPageLayout()); lPage.setParentPage(page); lPage.setRegions(convertRegions(pt.getPageTemplateRegions(), lPage, createIds)); PageUser pageUser = new PageUserImpl(lPage.getOwnerId(), lPage, pt.getRenderSequence()); pageUser.setPageStatus(PageInvitationStatus.OWNER); pageUser.setEditor(true); lPage.setMembers(members); lPage.setSubPages((pt.getSubPageTemplates() == null || pt.getSubPageTemplates().isEmpty()) ? null : convertPages(pt.getSubPageTemplates(), lPage, createIds)); pages.add(lPage);
@Override public PageTemplate save(PageTemplate template) { return (PageTemplate) saveOrUpdate(template.getId(), manager, JpaConverter.getInstance().convert(template, PageTemplate.class)); }
/** * Converts a PageTemplate to an instance of a Page * * @param template template * @param owner owner of the new page * @param createIds optionally set a negative ID as a relative reference * @return */ public static Page convert(PageTemplate template, User owner, boolean createIds) { Page p = new PageImpl(); if(createIds) { p.setId(String.valueOf(-1L)); } p.setName(template.getName()); p.setPageType(template.getPageType()); p.setOwnerId(owner.getId()); PageUser pageUser = new PageUserImpl(owner.getId(), p, template.getRenderSequence()); pageUser.setPageStatus(PageInvitationStatus.OWNER); pageUser.setEditor(true); List<PageUser> members = new ArrayList<PageUser>(); members.add(pageUser); p.setMembers(members); p.setPageLayout(template.getPageLayout()); p.setRegions(convertRegions(template.getPageTemplateRegions(), p, createIds)); p.setSubPages(convertPages(template.getSubPageTemplates(), p, createIds)); return p; }
/** * convert: PageTemplate, User -> Page * Converts the PageTemplate for Person Profiles into a Person Profile Page * @param pt PageTemplate * @param user User * @return Page */ private Page convert(PageTemplate pt, User user) { Page p = new JpaPage(); p.setName(pt.getName()); p.setPageType(pt.getPageType()); p.setOwnerId(user.getId()); PageUser pageUser = new JpaPageUser(user, p, pt.getRenderSequence()); pageUser.setPageStatus(PageInvitationStatus.OWNER); pageUser.setEditor(true); List<PageUser> members = new ArrayList<PageUser>(); members.add(pageUser); p.setMembers(members); p.setPageLayout(pt.getPageLayout()); p.setRegions(convertRegions(pt.getPageTemplateRegions(), p)); //Workaround for an issue with OpenJPA where the transaction is applied in order of save methods and if //the parent page doesn't have an id yet, it will throw a referential integrity error p = save(p); p.setSubPages(convertPages(pt.getSubPageTemplates(), p)); p = save(p); return p; }