Author: ate Date: Sun Dec 6 15:15:47 2009 New Revision: 887690 URL: http://svn.apache.org/viewvc?rev=887690&view=rev Log: Adding lookup of ContentFragment by underlying PSML Fragment id to support decorators actively pulling in specific fragments at a specific place within the markup
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java?rev=887690&r1=887689&r2=887690&view=diff ============================================================================== --- portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java (original) +++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java Sun Dec 6 15:15:47 2009 @@ -745,6 +745,31 @@ } /** + * Get content fragment by underlying PSML Fragment id. + * + * @param id PSML fragment id + * @return content fragment + */ + public ContentFragmentImpl getFragmentByFragmentId(String id) + { + if (fragment != null && fragment.getId().equals(id)) + { + return this; + } + Iterator fragmentIter = getFragments().iterator(); + while (fragmentIter.hasNext()) + { + ContentFragmentImpl childFragment = (ContentFragmentImpl)fragmentIter.next(); + ContentFragmentImpl fragment = childFragment.getFragmentByFragmentId(id); + if (fragment != null) + { + return fragment; + } + } + return null; + } + + /** * Get content fragment nesting level. * * @param fragmentId fragment id to find Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java?rev=887690&r1=887689&r2=887690&view=diff ============================================================================== --- portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java (original) +++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java Sun Dec 6 15:15:47 2009 @@ -154,6 +154,18 @@ } /* (non-Javadoc) + * @see org.apache.jetspeed.om.page.ContentPage#getFragmentByFragmentId(java.lang.String) + */ + public ContentFragment getFragmentByFragmentId(String id) + { + if (rootContentFragment != null) + { + return rootContentFragment.getFragmentByFragmentId(id); + } + return null; + } + + /* (non-Javadoc) * @see org.apache.jetspeed.om.page.ContentPage#getFragmentsByName(java.lang.String) */ public List getFragmentsByName(String name) Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java?rev=887690&r1=887689&r2=887690&view=diff ============================================================================== --- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java (original) +++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java Sun Dec 6 15:15:47 2009 @@ -159,6 +159,13 @@ ContentFragment getFragmentById(String id); /** + * Returns a ContentFragment represented by the underlying PSML Fragment fragment id argument. + * @param id unique id of the ContentFragment we want to retrieve. + * @return + */ + ContentFragment getFragmentByFragmentId(String id); + + /** * Returns a list of ContentFragment fragments represented by the name argument. * @param name name of the ContentFragments we want to retrieve. * @return list of ContentFragment --------------------------------------------------------------------- To unsubscribe, e-mail: jetspeed-dev-unsubscr...@portals.apache.org For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org