public void incrementInDocumentOrder(ContentPage contentPage) { log.debug("PageLayoutComponentImpl.incrementInDocumentOrder() invoked"); try { // retrieve current page or template and parent folder from page manager ContentPageImpl contentPageImpl = (ContentPageImpl)contentPage; BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentPageImpl.getPageOrTemplate().getPath()); Folder documentOrderingFolder = (Folder)pageOrTemplate.getParent(); // check for edit permission documentOrderingFolder.checkAccess(JetspeedActions.EDIT); // shift document order and update document ordering in page manager boolean update = shiftDocumentOrder(documentOrderingFolder, pageOrTemplate.getName(), pageOrTemplate.getType(), false); if (update) { pageManager.updateFolder(documentOrderingFolder); } } catch (Exception e) { throw new PageLayoutComponentException("Unexpected exception: "+e, e); } }
/** * Copy shared fragments attributes. * * @param source source fragments * @param copyIds flag indicating whether to copy or preserve fragment ids * @param dest destination fragments * @throws NodeException on error creating fragments */ protected void copyFragmentsAttributes(BaseFragmentsElement source, boolean copyIds, BaseFragmentsElement dest) throws NodeException { // create the new page and copy attributes dest.setTitle(source.getTitle()); dest.setShortTitle(source.getShortTitle()); dest.setVersion(source.getVersion()); // copy locale specific metadata dest.getMetadata().copyFields(source.getMetadata().getFields()); // copy security constraints SecurityConstraints srcSecurity = source.getSecurityConstraints(); if ((srcSecurity != null) && !srcSecurity.isEmpty()) { SecurityConstraints copiedSecurity = copySecurityConstraints(PAGE_NODE_TYPE, srcSecurity); dest.setSecurityConstraints(copiedSecurity); } // copy fragments BaseFragmentElement root = copyFragment(source.getRootFragment(), null, copyIds); dest.setRootFragment(root); }
BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentPageImpl.getPageOrTemplate().getPath()); pageOrTemplate.checkAccess(JetspeedActions.EDIT); if (!Utils.isNull(title)) if (!title.equals(pageOrTemplate.getTitle())) pageOrTemplate.setTitle(title); update = true; if (!shortTitle.equals(pageOrTemplate.getShortTitle())) pageOrTemplate.setShortTitle(shortTitle); update = true;
protected int removeFragment(RequestContext requestContext, Map<String,Object> resultMap, BaseFragmentsElement page, String fragmentId) { int count = 0; BaseFragmentElement fragment = page.getFragmentById(fragmentId); if (fragment != null) { page.removeFragmentById(fragment.getId()); count++; } return count; }
public void incrementFolderInDocumentOrder(ContentPage contentPage) { log.debug("PageLayoutComponentImpl.incrementFolderInDocumentOrder() invoked"); try { // retrieve current page or template and parent folders from page manager ContentPageImpl contentPageImpl = (ContentPageImpl)contentPage; BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentPageImpl.getPageOrTemplate().getPath()); Folder pageFolder = (Folder)pageOrTemplate.getParent(); Folder documentOrderingFolder = (Folder)pageFolder.getParent(); if (documentOrderingFolder != null) { // check for edit permission documentOrderingFolder.checkAccess(JetspeedActions.EDIT); // shift document order and update document ordering in page manager boolean update = shiftDocumentOrder(documentOrderingFolder, pageFolder.getName(), null, false); if (update) { pageManager.updateFolder(documentOrderingFolder); } } } catch (Exception e) { throw new PageLayoutComponentException("Unexpected exception: "+e, e); } }
DynamicPage dynamicPage = ((pageOrTemplate instanceof DynamicPage) ? (DynamicPage)pageOrTemplate : null); FragmentDefinition fragmentDefinition = (((concretePage == null) && (pageOrTemplate instanceof FragmentDefinition)) ? (FragmentDefinition)pageOrTemplate : null); String contentPageId = pageOrTemplate.getId(); ContentPageImpl contentPageImpl = new ContentPageImpl(this, contentPageId, pageOrTemplate, pageTemplate, fragmentDefinitions); contentPageImpl.setName(pageOrTemplate.getName()); contentPageImpl.setPath(pageOrTemplate.getPath()); contentPageImpl.setUrl(pageOrTemplate.getUrl()); contentPageImpl.setHidden(pageOrTemplate.isHidden()); else if (pageOrTemplate.getParent() != null) effectiveLayoutDefaultDecorator = ((Folder)pageOrTemplate.getParent()).getEffectiveDefaultDecorator(Fragment.LAYOUT); else if (pageOrTemplate.getParent() != null) effectiveLayoutDefaultDecorator = ((Folder)pageOrTemplate.getParent()).getEffectiveDefaultDecorator(Fragment.PORTLET); rootFragment = definition.getRootFragment(); rootTemplate = true; rootFragment = definition.getRootFragment();
throw new IllegalArgumentException("Locked content fragment is not mutable"); if (!contentFragmentImpl.getDefinition().getPath().equals(contentFragmentImpl.getPageOrTemplate().getPath())) { throw new IllegalArgumentException("Only page fragments can be modified"); BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentFragmentImpl.getPageOrTemplate().getPath()); BaseFragmentElement parentFragment = pageOrTemplate.getFragmentById(contentFragmentImpl.getFragment().getId()); if (!(parentFragment instanceof Fragment)) { throw new IllegalArgumentException("New fragment cannot be added to parent fragment");
public void remove(ContentPage contentPage) { log.debug("PageLayoutComponentImpl.remove() invoked"); try { // retrieve current page or template and document ordering folder from page manager ContentPageImpl contentPageImpl = (ContentPageImpl)contentPage; BaseFragmentsElement pageOrTemplates = getPageOrTemplate(contentPageImpl.getPageOrTemplate().getPath()); String documentName = pageOrTemplates.getName(); Folder documentOrderingFolder = (Folder)pageOrTemplates.getParent(); // check for edit permission pageOrTemplates.checkAccess(JetspeedActions.EDIT); // remove in page manager removePage(pageOrTemplates); // check for ordering folder edit permission documentOrderingFolder.checkAccess(JetspeedActions.EDIT); // remove document from ordering folder and // update document ordering folder in page manager boolean update = removeDocumentOrder(documentOrderingFolder, documentName); if (update) { pageManager.updateFolder(documentOrderingFolder); } } catch (Exception e) { throw new PageLayoutComponentException("Unexpected exception: "+e, e); } }
if (!fragmentsElementImpl.validateFragments()) throw new PageNotUpdatedException("Fragments hierarchy invalid for fragments/page: " + fragmentsElement.getPath() + ", not updated."); FolderImpl parent = (FolderImpl)fragmentsElement.getParent(); if (parent == null) String pageElementPath = fragmentsElement.getPath(); String parentPath = pageElementPath.substring(0, pageElementPath.lastIndexOf(Folder.PATH_SEPARATOR)); if (parentPath.length() == 0) fragmentsElement.setParent(parent); storeEntity(fragmentsElement, pageElementPath, true); fragmentsElement.checkAccess(JetspeedActions.EDIT); storeEntity(fragmentsElement, fragmentsElement.getPath(), false); throw new PageNotUpdatedException("Fragments/page element " + fragmentsElement.getPath() + " not updated.", e);
BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentPage.getPageOrTemplate().getPath()); BaseFragmentElement rootFragment = pageOrTemplate.getRootFragment(); if (!(rootFragment instanceof Fragment))
fragmentsElement.checkAccess(JetspeedActions.EDIT); FolderImpl parent = (FolderImpl)ProxyHelper.getRealObject(fragmentsElement.getParent()); throw new PageNotRemovedException("Fragments/page element " + fragmentsElement.getPath() + " not removed.", e);
page.setTitle(getActionParameter(requestContext, TITLE)); String s = getActionParameter(requestContext, SHORT_TITLE ); if (!isBlank(s)) page.setShortTitle(s); String l = getActionParameter(requestContext, DEFAULT_LAYOUT); if (!isBlank(l) && (page.getRootFragment() instanceof Fragment)) Fragment rootFragment = (Fragment)page.getRootFragment(); rootFragment.setName(getActionParameter(requestContext, DEFAULT_LAYOUT));
if ((contentFragmentImpl == null) || !contentFragmentImpl.getDefinition().getPath().equals(contentPageImpl.getPath())) if ((parentContentFragmentImpl[0] != null) && (!parentContentFragmentImpl[0].getDefinition().getPath().equals(contentPageImpl.getPageOrTemplate().getPath()) || parentContentFragmentImpl[0].isLocked())) BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentPageImpl.getPageOrTemplate().getPath()); String pageFragmentId = (contentFragmentIsReference ? contentFragmentImpl.getReference().getId() : contentFragmentImpl.getFragment().getId()); BaseFragmentElement fragment = pageOrTemplate.getFragmentById(pageFragmentId); if (fragment == null) boolean update = (pageOrTemplate.removeFragmentById(pageFragmentId) != null); if (update)
if (!fromContentFragmentImpl.getDefinition().getPath().equals(contentPageImpl.getPath()) || !contentFragmentImpl.getDefinition().getPath().equals(contentPageImpl.getPath()) || !toContentFragmentImpl.getDefinition().getPath().equals(contentPageImpl.getPath())) BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentPageImpl.getPageOrTemplate().getPath()); BaseFragmentElement fromFragmentElement = pageOrTemplate.getFragmentById(fromContentFragmentImpl.getFragment().getId()); if (!(fromFragmentElement instanceof Fragment)) BaseFragmentElement toFragmentElement = pageOrTemplate.getFragmentById(toContentFragmentImpl.getFragment().getId()); if (!(toFragmentElement instanceof Fragment)) pageOrTemplate.checkAccess(JetspeedActions.EDIT);
if ((pageOrTemplate.getMetadata() != null) && (pageOrTemplate.getMetadata().getFields() != null)) Iterator fieldIter = pageOrTemplate.getMetadata().getFields().iterator(); while (fieldIter.hasNext()) contentPageImpl.setShortTitle(pageOrTemplate.getShortTitle()); contentPageImpl.setTitle(pageOrTemplate.getTitle());
BaseFragmentsElement pageOrTemplate = getPageOrTemplate(contentPageImpl.getPageOrTemplate().getPath()); if (!(pageOrTemplate instanceof BasePageElement))
List<BaseFragmentElement> requestPageFragmentReferences = pageOrTemplate.getFragmentsByInterface(FragmentReference.class); mergeFragmentDefinitionRefIds(requestPageFragmentReferences, refIds); List<BaseFragmentElement> requestPageTemplateFragmentReferences = ((pageTemplate != null) ? pageTemplate.getFragmentsByInterface(FragmentReference.class) : null); Folder folder = (Folder)pageOrTemplate.getParent(); while ((folder != null) && (requestFragmentDefinition == null))
/** * getFolder - get folder view relative to request profiled page * * @return page folder view * @throws NodeNotFoundException if page not found * @throws SecurityException if page view access not granted */ public Folder getFolder() throws NodeNotFoundException { // return parent folder of request page or template BaseFragmentsElement pageOrTemplate = getPageOrTemplate(); if (pageOrTemplate != null) { return (Folder)pageOrTemplate.getParent(); } return null; }
protected int updatePortletDecorator(RequestContext requestContext, Map<String,Object> resultMap, BaseFragmentsElement page, String fragmentId, String portletDecorator) { int count = 0; BaseFragmentElement fragment = page.getFragmentById(fragmentId); if (fragment != null) { fragment.setDecorator( portletDecorator ); count++; } return count; }
BaseFragmentElement pageRootFragment = pageOrTemplate.getRootFragment(); if (pageRootFragment instanceof FragmentReference)