Author: rwatler Date: Thu Dec 24 07:50:41 2009 New Revision: 893705 URL: http://svn.apache.org/viewvc?rev=893705&view=rev Log: integrating PageManager.updateFragmentProperty() into PortalLayoutComponent update properties methods, (updateDecorator, updatePosition, updateProperty, updateRowColumn, and updateStateMode)
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java?rev=893705&r1=893704&r2=893705&view=diff ============================================================================== --- portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java (original) +++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java Thu Dec 24 07:50:41 2009 @@ -896,16 +896,10 @@ try { // validate content fragment and lookup current fragment - // and page or page template from page manager + // of page or page template from page manager and check + // edit or view access requirements ContentFragmentImpl contentFragmentImpl = (ContentFragmentImpl)contentFragment; - BaseConcretePageElement [] targetPage = new BaseConcretePageElement[]{null}; - PageTemplate [] targetPageTemplate = new PageTemplate[]{null}; - BaseFragmentElement [] targetFragment = new BaseFragmentElement[]{null}; - lookupPageOrPageTemplateFragment(contentFragmentImpl, scope, targetPage, targetPageTemplate, targetFragment); - BaseFragmentElement fragment = targetFragment[0]; - - // check for edit permission - fragment.checkAccess(JetspeedActions.EDIT); + BaseFragmentElement fragment = lookupPageOrPageTemplateFragment(contentFragmentImpl, scope); // update fragment decorator and page or page template in // page manager @@ -919,7 +913,7 @@ } if (update) { - updatePageOrPageTemplate(targetPage, targetPageTemplate); + updatePageOrPageTemplateFragmentProperties(fragment, scope); } // update content context @@ -1099,17 +1093,11 @@ try { // validate content fragment and lookup current fragment - // and page or page template from page manager + // of page or page template from page manager and check + // edit or view access requirements ContentFragmentImpl contentFragmentImpl = (ContentFragmentImpl)contentFragment; - BaseConcretePageElement [] targetPage = new BaseConcretePageElement[]{null}; - PageTemplate [] targetPageTemplate = new PageTemplate[]{null}; - BaseFragmentElement [] targetFragment = new BaseFragmentElement[]{null}; - lookupPageOrPageTemplateFragment(contentFragmentImpl, scope, targetPage, targetPageTemplate, targetFragment); - BaseFragmentElement fragment = targetFragment[0]; + BaseFragmentElement fragment = lookupPageOrPageTemplateFragment(contentFragmentImpl, scope); - // check for edit permission - fragment.checkAccess(JetspeedActions.EDIT); - // update fragment position and page or page template // in page manager boolean update = false; @@ -1155,7 +1143,7 @@ } if (update) { - updatePageOrPageTemplate(targetPage, targetPageTemplate); + updatePageOrPageTemplateFragmentProperties(fragment, scope); } // update content context @@ -1280,17 +1268,11 @@ try { // validate content fragment and lookup current fragment - // and page or page template from page manager + // of page or page template from page manager and check + // edit or view access requirements ContentFragmentImpl contentFragmentImpl = (ContentFragmentImpl)contentFragment; - BaseConcretePageElement [] targetPage = new BaseConcretePageElement[]{null}; - PageTemplate [] targetPageTemplate = new PageTemplate[]{null}; - BaseFragmentElement [] targetFragment = new BaseFragmentElement[]{null}; - lookupPageOrPageTemplateFragment(contentFragmentImpl, scope, targetPage, targetPageTemplate, targetFragment); - BaseFragmentElement fragment = targetFragment[0]; + BaseFragmentElement fragment = lookupPageOrPageTemplateFragment(contentFragmentImpl, scope); - // check for edit permission - fragment.checkAccess(JetspeedActions.EDIT); - // update fragment property and page or page template // in page manager propValue = (!Utils.isNull(propValue) ? propValue : null); @@ -1298,7 +1280,7 @@ if (((propValue == null) && (currentPropValue != null)) || ((propValue != null) && !propValue.equals(currentPropValue))) { fragment.setProperty(propName, scope, scopeValue, propValue); - updatePageOrPageTemplate(targetPage, targetPageTemplate); + updatePageOrPageTemplateFragmentProperties(fragment, scope); } // update content context @@ -1327,17 +1309,11 @@ try { // validate content fragment and lookup current fragment - // and page or page template from page manager + // of page or page template from page manager and check + // edit or view access requirements ContentFragmentImpl contentFragmentImpl = (ContentFragmentImpl)contentFragment; - BaseConcretePageElement [] targetPage = new BaseConcretePageElement[]{null}; - PageTemplate [] targetPageTemplate = new PageTemplate[]{null}; - BaseFragmentElement [] targetFragment = new BaseFragmentElement[]{null}; - lookupPageOrPageTemplateFragment(contentFragmentImpl, scope, targetPage, targetPageTemplate, targetFragment); - BaseFragmentElement fragment = targetFragment[0]; + BaseFragmentElement fragment = lookupPageOrPageTemplateFragment(contentFragmentImpl, scope); - // check for edit permission - fragment.checkAccess(JetspeedActions.EDIT); - // update fragment row and column and page or page // template in page manager boolean update = false; @@ -1359,7 +1335,7 @@ } if (update) { - updatePageOrPageTemplate(targetPage, targetPageTemplate); + updatePageOrPageTemplateFragmentProperties(fragment, scope); } // update content context @@ -1395,16 +1371,10 @@ try { // validate content fragment and lookup current fragment - // and page or page template from page manager + // of page or page template from page manager and check + // edit or view access requirements ContentFragmentImpl contentFragmentImpl = (ContentFragmentImpl)contentFragment; - BaseConcretePageElement [] targetPage = new BaseConcretePageElement[]{null}; - PageTemplate [] targetPageTemplate = new PageTemplate[]{null}; - BaseFragmentElement [] targetFragment = new BaseFragmentElement[]{null}; - lookupPageOrPageTemplateFragment(contentFragmentImpl, scope, targetPage, targetPageTemplate, targetFragment); - BaseFragmentElement fragment = targetFragment[0]; - - // check for edit permission - fragment.checkAccess(JetspeedActions.EDIT); + BaseFragmentElement fragment = lookupPageOrPageTemplateFragment(contentFragmentImpl, scope); // update fragment portlet state and mode and page or page // template in page manager @@ -1427,7 +1397,7 @@ } if (update) { - updatePageOrPageTemplate(targetPage, targetPageTemplate); + updatePageOrPageTemplateFragmentProperties(fragment, scope); } // update content context @@ -1959,21 +1929,18 @@ } return false; } - - + /** * Lookup page or page template fragment to be updated via * scoped fragment property based edits. * * @param contentFragmentImpl target content fragment * @param scope target fragment property scope - * @param page returned page - * @param pageTemplate returned page template - * @param fragment returned fragment + * @return fragment * @throws PageNotFoundException * @throws NodeException */ - private void lookupPageOrPageTemplateFragment(ContentFragmentImpl contentFragmentImpl, String scope, BaseConcretePageElement [] page, PageTemplate [] pageTemplate, BaseFragmentElement [] fragment) throws PageNotFoundException, NodeException + private BaseFragmentElement lookupPageOrPageTemplateFragment(ContentFragmentImpl contentFragmentImpl, String scope) throws PageNotFoundException, NodeException { // validate content fragment boolean contentFragmentDefinitionIsPage = ((contentFragmentImpl.getDefinition() instanceof BaseConcretePageElement) && contentFragmentImpl.getDefinition().getPath().equals(contentFragmentImpl.getPage().getPath())); @@ -1993,46 +1960,46 @@ } } - // retrieve current fragment and page or page template from page manager + // retrieve current fragment using page or page template from page manager + BaseFragmentElement fragment = null; if (contentFragmentDefinitionIsPage || contentFragmentDefinitionIsPageReference) { - page[0] = getPage(contentFragmentImpl.getPage().getPath()); + BaseConcretePageElement page = getPage(contentFragmentImpl.getPage().getPath()); String pageFragmentId = (contentFragmentDefinitionIsPage ? contentFragmentImpl.getFragment().getId() : contentFragmentImpl.getReference().getId()); - fragment[0] = page[0].getFragmentById(pageFragmentId); + fragment = page.getFragmentById(pageFragmentId); } else if (contentFragmentDefinitionIsTemplate || contentFragmentDefinitionIsTemplateReference) { String pageTemplatePath = (contentFragmentDefinitionIsTemplate ? contentFragmentImpl.getDefinition().getPath() : contentFragmentImpl.getReferenceDefinition().getPath()); - pageTemplate[0] = pageManager.getPageTemplate(pageTemplatePath); + PageTemplate pageTemplate = pageManager.getPageTemplate(pageTemplatePath); String pageTemplateFragmentId = (contentFragmentDefinitionIsTemplate ? contentFragmentImpl.getFragment().getId() : contentFragmentImpl.getReference().getId()); - fragment[0] = pageTemplate[0].getFragmentById(pageTemplateFragmentId); + fragment = pageTemplate.getFragmentById(pageTemplateFragmentId); } - if (fragment[0] == null) + if (fragment == null) { throw new IllegalArgumentException("Fragment and page not consistent"); } + + // check for edit or view permission + boolean checkEditAccess = ((scope == null) || !scope.equals(FragmentProperty.USER_PROPERTY_SCOPE)); + fragment.checkAccess(checkEditAccess ? JetspeedActions.EDIT : JetspeedActions.VIEW); + + return fragment; } /** * Update page or page template fragment to save scoped * fragment property based edits. * - * @param page edited fragment page - * @param pageTemplate edited fragment page template + * @param fragment edited fragment + * @param scope edited fragment property scope * @throws PageNotUpdatedException * @throws NodeException */ - private void updatePageOrPageTemplate(BaseConcretePageElement [] page, PageTemplate [] pageTemplate) throws PageNotUpdatedException, NodeException + private void updatePageOrPageTemplateFragmentProperties(BaseFragmentElement fragment, String scope) throws PageNotUpdatedException, NodeException { - // update fragment page or page template - if (page[0] != null) - { - updatePage(page[0]); - } - else if (pageTemplate[0] != null) - { - pageManager.updatePageTemplate(pageTemplate[0]); - } + // update page or page template fragment properties + pageManager.updateFragmentProperties(fragment, scope); } /** --------------------------------------------------------------------- To unsubscribe, e-mail: jetspeed-dev-unsubscr...@portals.apache.org For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org