taylor      2004/09/17 13:04:35

  Modified:    portal/src/java/org/apache/jetspeed/profiler/impl
                        ProfilerValveImpl.java
  Log:
  enable real profiling
  implemented by Randy Watler
  
  CVS: ----------------------------------------------------------------------
  CVS: PR:
  CVS:   If this change addresses a PR in the problem report tracking
  CVS:   database, then enter the PR number(s) here.
  CVS: Obtained from:
  CVS:   If this change has been taken from another system, such as NCSA,
  CVS:   then name the system in this line, otherwise delete it.
  CVS: Submitted by:
  CVS:   If this code has been contributed to Apache by someone else; i.e.,
  CVS:   they sent us a patch or a new module, then include their name/email
  CVS:   address here. If this is your work then delete this line.
  CVS: Reviewed by:
  CVS:   If we are doing pre-commit code reviews and someone else has
  CVS:   reviewed your changes, include their name(s) here.
  CVS:   If you have not had it reviewed then delete this line.
  
  Revision  Changes    Path
  1.13      +20 -95    
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/profiler/impl/ProfilerValveImpl.java
  
  Index: ProfilerValveImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/profiler/impl/ProfilerValveImpl.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ProfilerValveImpl.java    3 Sep 2004 19:47:54 -0000       1.12
  +++ ProfilerValveImpl.java    17 Sep 2004 20:04:35 -0000      1.13
  @@ -21,8 +21,6 @@
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  -import org.apache.jetspeed.om.folder.Folder;
  -import org.apache.jetspeed.om.folder.FolderNotFoundException;
   import org.apache.jetspeed.om.page.Page;
   import org.apache.jetspeed.page.PageManager;
   import org.apache.jetspeed.page.document.NodeException;
  @@ -32,6 +30,7 @@
   import org.apache.jetspeed.pipeline.valve.PageProfilerValve;
   import org.apache.jetspeed.pipeline.valve.ValveContext;
   import org.apache.jetspeed.profiler.ProfileLocator;
  +import org.apache.jetspeed.profiler.ProfiledPageContext;
   import org.apache.jetspeed.profiler.Profiler;
   import org.apache.jetspeed.request.RequestContext;
   
  @@ -43,11 +42,11 @@
    */
   public class ProfilerValveImpl extends AbstractValve implements PageProfilerValve
   {
  -    public static final String SLASH = "/";
       protected Log log = LogFactory.getLog(ProfilerValveImpl.class);
  +
  +    public static final String PROFILED_PAGE_CONTEXT_ATTR_KEY = 
"org.apache.jetspeed.profiledPageContext";
  +
       private Profiler profiler;
  -    static final String LOCATOR_KEY = "org.apache.jetpeed.profileLocator";
  -    public static final String FOLDER_ATTR_KEY = "org.apache.jetspeed.folder";
       private PageManager pageManager;
   
       public ProfilerValveImpl( Profiler profiler, PageManager pageManager )
  @@ -66,18 +65,23 @@
       {
           try
           {
  +            // perform profiling to get profiled page context using
  +            // the profiler and page manager
  +            ProfileLocator locator = profiler.getProfile(request);
  +            ProfiledPageContext profiledPageContext = 
pageManager.getProfiledPageContext(locator);
  +            if ((profiledPageContext == null) || (profiledPageContext.getPage() == 
null) || (profiledPageContext.getLocator() == null)) 
  +                throw new NodeNotFoundException("Unable to profile request: " + 
request.getPath());
  +
  +            // set request page and profile locator
  +            request.setPage(profiledPageContext.getPage());
  +            request.setProfileLocator(profiledPageContext.getLocator());
   
  +            // return profiled page context in request attribute
               HttpServletRequest httpRequest = request.getRequest();
  -            ProfileLocator locator = null;
  -            Folder folder = getFolder(request);
  -            httpRequest.setAttribute(FOLDER_ATTR_KEY, folder);
  -            request.setPage(folder.getPage(getPageName(request, folder)));
  -
  -            locator = profiler.getProfile(request);
  -            request.setProfileLocator(locator);
  -            // request.setPage(profiler.getPage(locator));
  -            context.invokeNext(request);
  +            httpRequest.setAttribute(PROFILED_PAGE_CONTEXT_ATTR_KEY, 
profiledPageContext);
   
  +            // continue
  +            context.invokeNext(request);
           }
           catch (NodeNotFoundException e)
           {
  @@ -97,88 +101,9 @@
           }
       }
   
  -    protected Folder getFolder( RequestContext request ) throws 
FolderNotFoundException, NodeException
  -    {
  -        HttpServletRequest httpRequest = request.getRequest();
  -        String folderInRequest = getFolderPath(request);
  -        Folder selectedFolder = null;
  -
  -        if (folderInRequest != null)
  -        {
  -            selectedFolder = pageManager.getFolder(folderInRequest);
  -        }
  -
  -        if (selectedFolder != null)
  -        {
  -            httpRequest.getSession().setAttribute(FOLDER_ATTR_KEY, selectedFolder);
  -        }
  -        else
  -        {
  -            selectedFolder = (Folder) httpRequest.getAttribute(FOLDER_ATTR_KEY);
  -            if (selectedFolder == null)
  -            {
  -                selectedFolder = pageManager.getFolder(SLASH);
  -            }
  -        }
  -
  -        return selectedFolder;
  -
  -    }
  -
  -    protected String getFolderPath( RequestContext request )
  -    {
  -        String pathInfo = request.getPath();
  -
  -        String folder = null;
  -        if (pathInfo != null)
  -        {
  -            if (pathInfo.endsWith(Page.DOCUMENT_TYPE))
  -            {
  -                int lastSlash = pathInfo.lastIndexOf(SLASH);
  -                if (lastSlash > -1)
  -                {
  -                    String folderPath = pathInfo.substring(0, lastSlash);
  -                    if (folderPath.length() > 0)
  -                    {
  -                        return folderPath;
  -                    }
  -                    else
  -                    {
  -                        return SLASH;
  -                    }
  -                }
  -                else
  -                {
  -                    return SLASH;
  -                }
  -            }
  -            else
  -            {
  -                return pathInfo;
  -            }
  -        }
  -        else
  -        {
  -            return SLASH;
  -        }
  -    }
  -
  -    protected String getPageName( RequestContext request, Folder currentFolder )
  -    {
  -        String pathInfo = request.getPath();
  -        if (pathInfo == null || !pathInfo.endsWith(".psml"))
  -        {
  -            return currentFolder.getDefaultPage();
  -        }
  -        else
  -        {
  -            return pathInfo;
  -        }
  -    }
  -
       public String toString()
       {
           return "ProfilerValve";
       }
   
  -}
  \ No newline at end of file
  +}
  
  
  

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

Reply via email to