geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul McMahan (JIRA)" <...@geronimo.apache.org>
Subject [jira] Commented: (GERONIMO-1759) getConsoleFrameworkServletPath broken
Date Mon, 22 May 2006 15:02:30 GMT
    [ http://issues.apache.org/jira/browse/GERONIMO-1759?page=comments#action_12412787 ] 

Paul McMahan commented on GERONIMO-1759:
----------------------------------------

David, Aaron encountered the problem while adding images to the keystore portlet and he put
this temporary workaround in place:

            if(index == -1) { // todo: Hack!  But this doesn't always work otherwise if invoked
from a page that was invoked from another portlet instead of a page accessed by top-level
navigation
                index = contextPath.indexOf(request.getPathInfo().substring(0, 20));
            }

The problem with the workaround is that it hard codes the length of the console context and
servlet path.  The workaround will stop working if/when they change, which may happen via
GERONIMO-941.  The attached patch uses pattern matching instead of string length to determine
the console framework's servlet path.

To see the original problem remove the workaround introduced by r388236, namely the lines
shown above from PortletManager.java (395-397).   Then open the keystore portlet, click on
"New Keystore" and then "Cancel".  The portlet will no longer display due to java.lang.StringIndexOutOfBoundsException:
String index out of range: -1



> getConsoleFrameworkServletPath broken
> -------------------------------------
>
>          Key: GERONIMO-1759
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1759
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: console
>     Versions: 1.0
>     Reporter: Aaron Mulder
>     Assignee: Aaron Mulder
>      Fix For: 1.1, 1.2
>  Attachments: GERONIMO-1759.patch
>
> This function is used by the portlets to calculate the correct context path to the portal
so they can refer to images bundled with the portal WAR (as opposed to bundled with the portlet
WAR).
> It works fine on pages where you click a navigation link and land there.  It does not
seem to work if one portlet page has a form that submits to another portlet page and the destination
calls the function.
> In my case, it was looking for an occurance of:
> /Security/Security_keystores/_st_Security_keystores_row1_col1_p1/normal/_rp_Security_keystores_row1_col1_p1_mode/1_list/_ps_Security_keystores_row1_col1_p1/normal/_pm_Security_keystores_row1_col1_p1/view/_pid/Security_keystores_row1_col1_p1/_md_Security_keystores_row1_col1_p1/view
> in
> /console/portal/Security/Security_keystores/_st_Security_keystores_row1_col1_p1/normal/_ps_Security_keystores_row1_col1_p1/normal/_pm_Security_keystores_row1_col1_p1/view/_pid/Security_keystores_row1_col1_p1/_md_Security_keystores_row1_col1_p1/view
> And (if you look carefully) there is clearly none there.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message