You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2004/09/26 08:10:05 UTC

cvs commit: jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl CastorXmlPageManager.java

taylor      2004/09/25 23:10:05

  Modified:    components/page-manager/src/java/org/apache/jetspeed/page/impl
                        CastorXmlPageManager.java
  Log:
  patch from Randy Watler to fix nav links (tabs, folders) when using role-based fallback profiling rule
  
  Revision  Changes    Path
  1.13      +31 -10    jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl/CastorXmlPageManager.java
  
  Index: CastorXmlPageManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl/CastorXmlPageManager.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- CastorXmlPageManager.java	17 Sep 2004 20:01:03 -0000	1.12
  +++ CastorXmlPageManager.java	26 Sep 2004 06:10:05 -0000	1.13
  @@ -420,22 +420,43 @@
                       // set page path with page/path properties, assumes
                       // page names and relative paths are relative to
                       // request path and that any page paths with no url
  -                    // separator should have the page extension appended;
  -                    // better rules might be applied with differentiation
  -                    // between control, page, and path properties
  +                    // separator should have the page extension appended
                       if (locatorProperties[i].getValue() != null)
                       {
  +                        // get locator path property
                           pagePath = locatorProperties[i].getValue();
  +                        if (pagePath == null)
  +                            pagePath = "";
  +                        // append page extension if required
                           if ((pagePath.indexOf("/") == -1) && ! pagePath.endsWith(Page.DOCUMENT_TYPE))
                               pagePath = pagePath + Page.DOCUMENT_TYPE;
  +                        // remove default page and let folder perform defaulting
  +                        // if request path is probably referencing a folder, (i.e.
  +                        // not a page)
  +                        if (pagePath.equals(FolderImpl.FALLBACK_DEFAULT_PAGE))
  +                            pagePath = "";
  +                        // relative path: append to request path if page path is specified
  +                        // or if request path is probably referencing a folder, (i.e.
  +                        // not a page); the empty page path here forces a folder path
  +                        // to be created with a trailing slash... the folder then will
  +                        // choose its default page name according to its own rules.
                           if (! pagePath.startsWith("/"))
  -                        {
  -                            int lastSlashIndex = requestPath.lastIndexOf('/');
  -                            if (lastSlashIndex > 0)
  -                                pagePath = requestPath.substring(0, lastSlashIndex) + "/" + pagePath;
  +                            if ((pagePath.length() > 0) || ! requestPath.endsWith(Page.DOCUMENT_TYPE))
  +                            {
  +                                // append page path to request path
  +                                int lastSlashIndex = requestPath.lastIndexOf('/');
  +                                if (lastSlashIndex > 0)
  +                                    pagePath = requestPath.substring(0, lastSlashIndex) + "/" + pagePath;
  +                                else if (requestPath.length() > 1)
  +                                    pagePath = requestPath + "/" + pagePath;
  +                                else
  +                                    pagePath = "/" + pagePath;
  +                            }
                               else
  -                                pagePath = "/" + pagePath;
  -                        }
  +                            {
  +                                // default page path to page request path
  +                                pagePath = requestPath;
  +                            }
                       }
                       else
                           pagePath = requestPath;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org