taylor      2004/10/15 00:07:50

  Modified:    jetspeed-api/src/java/org/apache/jetspeed/profiler
                        ProfiledPageContext.java ProfileLocator.java
                        Profiler.java
               jetspeed-api/src/java/org/apache/jetspeed/page/document
                        NodeSet.java FolderHandler.java
               jetspeed-api/src/java/org/apache/jetspeed/request
                        RequestContext.java
               jetspeed-api/src/java/org/apache/jetspeed/page
                        PageManager.java
               jetspeed-api/src/java/org/apache/jetspeed/om/folder
                        Folder.java
               jetspeed-api/src/java/org/apache/jetspeed/mockobjects/request
                        MockRequestContext.java
  Added:       jetspeed-api/src/java/org/apache/jetspeed/om/folder
                        DocumentSet.java DocumentSetPath.java
  Log:
  patch from Randy Watler
  additions to the api to support 1 or more locators when profiling, and docset model
  
  Revision  Changes    Path
  1.2       +50 -6     
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/profiler/ProfiledPageContext.java
  
  Index: ProfiledPageContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/profiler/ProfiledPageContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ProfiledPageContext.java  17 Sep 2004 20:06:53 -0000      1.1
  +++ ProfiledPageContext.java  15 Oct 2004 07:07:49 -0000      1.2
  @@ -15,6 +15,10 @@
    */
   package org.apache.jetspeed.profiler;
   
  +import java.util.Iterator;
  +import java.util.Map;
  +
  +import org.apache.jetspeed.om.folder.DocumentSet;
   import org.apache.jetspeed.om.folder.Folder;
   import org.apache.jetspeed.om.page.Page;
   import org.apache.jetspeed.page.document.NodeSet;
  @@ -33,16 +37,17 @@
        * Initialize this page context.
        *
        * @param profiler The profiler initializing this page context.
  -     * @param locator The profile locator used to create this page context.
  +     * @param locators The map of profile locators by locator name
  +     *                 used to create this page context.
        */
  -    void init(Profiler profiler, ProfileLocator locator);
  +    void init(Profiler profiler, Map locators);
   
       /**
  -     * Return ProfileLocator used to generate this page context.
  +     * Return Map of ProfileLocator instances used to generate this page context.
        *  
  -     * @return The ProfileLocator instance.
  +     * @return The Map of ProfileLocator instances by locator name.
        */
  -    ProfileLocator getLocator();
  +    Map getLocators();
   
       /**
        * Return profiled Page.
  @@ -141,4 +146,43 @@
        * @param links The root Link set.
        */
       void setRootLinks(NodeSet links);
  +
  +    /**
  +     * Return profiled document set used for menu navigation. The
  +     * returned value may or may not be equivalent to the result of
  +     * accessing documents relative to other documents returned as part
  +     * of this profiled context.
  +     *  
  +     * @param name The name of the document set.
  +     * @return The document set.
  +     */
  +    DocumentSet getDocumentSet(String name);
  +
  +    /**
  +     * Return profiled document set used for menu navigation. This is
  +     * a set of folders and documents defined by the document set
  +     * related to the profiled page. The returned values may or may not
  +     * be equivalent to the result of accessing documents relative to
  +     * other documents returned as part of this profiled context.
  +     *  
  +     * @param name The name of the document set.
  +     * @return The expanded document set nodes.
  +     */
  +    NodeSet getDocumentSetNodes(String name);
  +
  +    /**
  +     * Return profiled document set names.
  +     *  
  +     * @return An iterator over document set names.
  +     */
  +    Iterator getDocumentSetNames();
  +
  +    /**
  +     * Set a named document set and expanded nodes.
  +     *  
  +     * @param name The name of the document set.
  +     * @param documentSet The document set.
  +     * @param nodes The expanded document set nodes.
  +     */
  +    void setDocumentSet(String name, DocumentSet documentSet, NodeSet nodes);
   }
  
  
  
  1.5       +1 -9      
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/profiler/ProfileLocator.java
  
  Index: ProfileLocator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/profiler/ProfileLocator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ProfileLocator.java       8 Oct 2004 06:49:37 -0000       1.4
  +++ ProfileLocator.java       15 Oct 2004 07:07:49 -0000      1.5
  @@ -153,12 +153,4 @@
        * @return The request path.
        */
       String getRequestPath();
  -
  -    /**
  -      * Creates a new ProfiledPageContext object that can be
  -      * managed by the current Profiler implementation
  -      *
  -      * @return A new ProfiledPageContext object
  -      */
  -    ProfiledPageContext createProfiledPageContext();
   }
  
  
  
  1.10      +3 -3      
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/profiler/Profiler.java
  
  Index: Profiler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/profiler/Profiler.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Profiler.java     9 Oct 2004 05:23:43 -0000       1.9
  +++ Profiler.java     15 Oct 2004 07:07:49 -0000      1.10
  @@ -73,10 +73,10 @@
         * the specified locator and can be managed by the current
         * Profiler implementation
         *
  -      * @param locator ProfileLocator object used to select page
  +      * @param locators Map of ProfileLocator objects used to select page
         * @return A new ProfiledPageContext object
         */
  -    ProfiledPageContext createProfiledPageContext(ProfileLocator locator);
  +    ProfiledPageContext createProfiledPageContext(Map locators);
           
       /**
        * For a given principal, lookup the associated profiling rule to that 
principal name.
  
  
  
  1.3       +2 -2      
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/document/NodeSet.java
  
  Index: NodeSet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/document/NodeSet.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NodeSet.java      9 Sep 2004 19:04:02 -0000       1.2
  +++ NodeSet.java      15 Oct 2004 07:07:49 -0000      1.3
  @@ -50,7 +50,7 @@
       Iterator iterator();
       
       NodeSet subset(String type);
  -    
  +
       NodeSet inclusiveSubset(String regex);
       
       NodeSet exclusiveSubset(String regex);
  
  
  
  1.2       +23 -1     
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/document/FolderHandler.java
  
  Index: FolderHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/document/FolderHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FolderHandler.java        3 Sep 2004 13:24:05 -0000       1.1
  +++ FolderHandler.java        15 Oct 2004 07:07:49 -0000      1.2
  @@ -107,4 +107,26 @@
       
       String[] listAll(String folderPath) throws FolderNotFoundException;
   
  +    /**
  +     * <p>
  +     * getNodes
  +     * </p>
  +     * <p>
  +     * Returns a set of nodes relative to the <code>folder</code> argument of the 
type
  +     * indicated by the <code>documentType</code> argument. The <code>folder</code> 
argument
  +     * may include regular expressions if indicated by the <code>regex</code> 
argument. The
  +     * returned set is unordered.
  +     * </p>
  +     *
  +     * @param path Path from which to locate documents
  +     * @param regexp Flag indicating whether regexp should be expanded in path
  +     * @param documentType document type to filter on.
  +     * @return NodeSet of documents and folders located under the <code>path</code> 
argument.
  +     * @throws FolderNotFoundException if folder under the <code>path</code> does 
not actually exist.
  +     * @throws DocumentException if an error is encountered reading the folders.
  +     * @throws InvalidFolderException
  +     * @throws NodeException
  +     */
  +    NodeSet getNodes(String path, boolean regexp, String documentType) throws 
FolderNotFoundException, InvalidFolderException, NodeException;
  +    
   }
  
  
  
  1.10      +7 -8      
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/request/RequestContext.java
  
  Index: RequestContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/request/RequestContext.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- RequestContext.java       24 Aug 2004 14:17:48 -0000      1.9
  +++ RequestContext.java       15 Oct 2004 07:07:49 -0000      1.10
  @@ -27,7 +27,6 @@
   import org.apache.jetspeed.capabilities.CapabilityMap;
   import org.apache.jetspeed.container.session.NavigationalState;
   import org.apache.jetspeed.container.url.PortalURL;
  -import org.apache.jetspeed.profiler.ProfileLocator;
   import org.apache.jetspeed.om.page.Page;
   
   import org.apache.pluto.om.common.Language;
  @@ -75,18 +74,18 @@
       public ServletConfig getConfig();
   
       /**
  -     * Gets the profile locator for this request
  +     * Gets the profile locators for this request
        *
  -     * @return Profile
  +     * @return Profile locators by locator name
        */
  -    public ProfileLocator getProfileLocator();
  +    public Map getProfileLocators();
   
       /**
  -     * Sets the target page profile for this request
  +     * Sets the target page profile locators for this request
        *
  -     * @param profile The target profile
  +     * @param locators The target profile locators by locator name
        */
  -    public void setProfileLocator(ProfileLocator locator);
  +    public void setProfileLocators(Map locators);
   
       /**
        * Gets the target page for this request
  
  
  
  1.8       +41 -29    
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/PageManager.java
  
  Index: PageManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/PageManager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PageManager.java  17 Sep 2004 20:06:53 -0000      1.7
  +++ PageManager.java  15 Oct 2004 07:07:49 -0000      1.8
  @@ -16,7 +16,10 @@
   
   package org.apache.jetspeed.page;
   
  +import java.util.Map;
  +
   import org.apache.jetspeed.exception.JetspeedException;
  +import org.apache.jetspeed.om.folder.DocumentSet;
   import org.apache.jetspeed.om.folder.Folder;
   import org.apache.jetspeed.om.folder.FolderNotFoundException;
   import org.apache.jetspeed.om.folder.InvalidFolderException;
  @@ -26,6 +29,7 @@
   import org.apache.jetspeed.om.page.Property;
   import org.apache.jetspeed.page.document.DocumentException;
   import org.apache.jetspeed.page.document.DocumentNotFoundException;
  +import org.apache.jetspeed.page.document.FailedToDeleteDocumentException;
   import org.apache.jetspeed.page.document.NodeException;
   import org.apache.jetspeed.page.document.UnsupportedDocumentTypeException;
   import org.apache.jetspeed.profiler.ProfiledPageContext;
  @@ -42,7 +46,6 @@
       /** The name of the service */
       public String SERVICE_NAME = "PageManager";
       
  -
       /**
        * Creates a new empty Page instance
        *
  @@ -78,7 +81,33 @@
       */
       public Page getPage(String id) throws PageNotFoundException, NodeException;
       
  +   /**
  +    * 
  +    * <p>
  +    * getLink
  +    * </p>
  +    *
  +    * Returns a Link document for the given path
  +    *
  +    * @param name The path of the document to be retrieved.
  +    * @throws PageNotFoundException if the page cannot be found
  +    * @throws NodeException
  +    */
       public Link getLink(String name) throws DocumentNotFoundException, 
UnsupportedDocumentTypeException, FolderNotFoundException, NodeException;
  +
  +   /**
  +    * 
  +    * <p>
  +    * getDocumentSet
  +    * </p>
  +    *
  +    * Returns a DocumentSet document for the given path
  +    *
  +    * @param name The path of the document to be retrieved.
  +    * @throws PageNotFoundException if the page cannot be found
  +    * @throws NodeException
  +    */
  +    public DocumentSet getDocumentSet(String name) throws 
DocumentNotFoundException, UnsupportedDocumentTypeException, FolderNotFoundException, 
NodeException;
       
       /**
        * 
  @@ -97,53 +126,36 @@
       Folder getFolder(String folderPath) throws FolderNotFoundException, 
InvalidFolderException, NodeException;
   
       /**
  -     * 
  -     * <p>
  -     * getProfiledPageContext
  -     * </p>
  -     *
  -     * @param locator
  -     * @return profiled page context
  -     * @throws PageNotFoundException if the page cannot be found.
  -     * @throws DocumentException
  -     * @throws NodeException
  -     */
  -    public ProfiledPageContext getProfiledPageContext(ProfileLocator locator) 
throws PageNotFoundException, DocumentException, NodeException;
  -
  -    /**
  -     * 
        * <p>
  -     * getPage
  +     * Compute profiled page context elements based on named profile
  +     * locators associated with a session/principal in supplied
  +     * context instance.
        * </p>
        *
  -     * @param locator
  -     * @return located Page instance
  +     * @param page
        * @throws PageNotFoundException if the page cannot be found.
        * @throws DocumentException
        * @throws NodeException
        */
  -    public Page getPage(ProfileLocator locator) throws PageNotFoundException, 
DocumentException, NodeException;
  +    public void computeProfiledPageContext(ProfiledPageContext pageContext) throws 
PageNotFoundException, DocumentException, NodeException;
   
  -    /** Store the PSML document on disk, using its locator
  +    /** Store the page on disk
        *
  -     * @param profile the profile locator description.
  -     * @return true if the operation succeeded
  +     * @param page The page to be stored.
        */
       public void registerPage(Page page) throws JetspeedException;
   
       /** Update a page in persistent storage
        *
  -     * @param locator The description of the profile to be removed.
  +     * @param page The page to be updated.
        */
       public void updatePage(Page page) throws JetspeedException, 
PageNotUpdatedException;
   
       /** Remove a document.
        *
  -     * @param locator The description of the profile to be removed.
  -     * @throws UnsupportedDocumentTypeException
  -     * @throws FailedToDeleteDocumentException
  -     * @throws DocumentNotFoundException
  +     * @param page The page to be removed.
        */
  +    public void removePage(Page page) throws JetspeedException, 
PageNotRemovedException;
   
   }
   
  
  
  
  1.6       +13 -1     
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/om/folder/Folder.java
  
  Index: Folder.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/om/folder/Folder.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Folder.java       3 Sep 2004 13:24:05 -0000       1.5
  +++ Folder.java       15 Oct 2004 07:07:49 -0000      1.6
  @@ -128,6 +128,18 @@
       /**
        * 
        * <p>
  +     * getDocumentSets
  +     * </p>
  +     *
  +     * @return
  +     * @throws DocumentException
  +     * @throws NodeException
  +     */    
  +    NodeSet getDocumentSets() throws NodeException;
  +    
  +    /**
  +     * 
  +     * <p>
        * getAllNodes
        * </p>
        *
  
  
  
  1.1                  
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/om/folder/DocumentSet.java
  
  Index: DocumentSet.java
  ===================================================================
  /*
   * Copyright 2000-2001,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.om.folder;
  
  import java.util.Vector;
  
  import org.apache.jetspeed.om.page.Document;
  
  /**
   * <p>
   * DocumentSet objects used to specify unstructured/logical navigation folders.
   * </p>
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Randy Watler</a>
   * @version $Id: DocumentSet.java,v 1.1 2004/10/15 07:07:49 taylor Exp $
   *
   */
  public interface DocumentSet extends Document
  {
      String DOCUMENT_TYPE = ".ds";
      
      String getDocumentSetName();
      
      void setDocumentSetName(String setName);
  
      String getProfileLocatorName();
      
      void setProfileLocatorName(String locatorName);
  
      Vector getDocumentPaths();
      
      void setDocumentPaths(Vector paths);
  
      Vector getDefaultedDocumentPaths();
  }
  
  
  
  1.1                  
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/om/folder/DocumentSetPath.java
  
  Index: DocumentSetPath.java
  ===================================================================
  /*
   * Copyright 2000-2001,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.om.folder;
  
  /**
   * <p>
   * DocumentSetPath objects used to specify paths within DocumentSet.
   * </p>
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Randy Watler</a>
   * @version $Id: DocumentSetPath.java,v 1.1 2004/10/15 07:07:49 taylor Exp $
   *
   */
  public interface DocumentSetPath
  {
      String getPath();
      
      void setPath(String path);
  
      boolean isRegexp();
      
      void setRegexp(boolean regexp);
  }
  
  
  
  1.4       +8 -9      
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java
  
  Index: MockRequestContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MockRequestContext.java   18 Aug 2004 13:55:57 -0000      1.3
  +++ MockRequestContext.java   15 Oct 2004 07:07:49 -0000      1.4
  @@ -30,7 +30,6 @@
   import org.apache.jetspeed.container.url.PortalURL;
   import org.apache.jetspeed.mockobjects.MockHttpServletRequest;
   import org.apache.jetspeed.om.page.Page;
  -import org.apache.jetspeed.profiler.ProfileLocator;
   import org.apache.jetspeed.request.RequestContext;
   import org.apache.pluto.om.common.Language;
   import org.apache.pluto.om.common.ObjectID;
  @@ -52,7 +51,7 @@
       private Map requestAttributes = new HashMap();
       private Map sessionAttributes = new HashMap();
       private String path;
  -    private ProfileLocator locator;
  +    private Map locators;
       private Subject subject;
       private Locale locale;
       private String mediaType;
  @@ -214,11 +213,11 @@
       /*
        * (non-Javadoc)
        * 
  -     * @see org.apache.jetspeed.request.RequestContext#getProfileLocator()
  +     * @see org.apache.jetspeed.request.RequestContext#getProfileLocators()
        */
  -    public ProfileLocator getProfileLocator()
  +    public Map getProfileLocators()
       {
  -        return locator;
  +        return locators;
       }
   
       /*
  @@ -366,11 +365,11 @@
       /*
        * (non-Javadoc)
        * 
  -     * @see 
org.apache.jetspeed.request.RequestContext#setProfileLocator(org.apache.jetspeed.profiler.ProfileLocator)
  +     * @see 
org.apache.jetspeed.request.RequestContext#setProfileLocators(java.util.Map)
        */
  -    public void setProfileLocator( ProfileLocator locator )
  +    public void setProfileLocators( Map locators )
       {
  -        this.locator = locator;
  +        this.locators = locators;
   
       }
   
  @@ -485,4 +484,4 @@
           // TODO Auto-generated method stub
   
       }
  -}
  \ No newline at end of file
  +}
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to