You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrp4j-dev@portals.apache.org by "Julie MacNaught (JIRA)" <ws...@ws.apache.org> on 2005/04/11 21:16:25 UTC
[jira] Resolved: (WSRP4J-54) PortletURLProviderImpl incorrectly assumes current mode is always view mode and current state is always normal
[ http://issues.apache.org/jira/browse/WSRP4J-54?page=history ]
Julie MacNaught resolved WSRP4J-54:
-----------------------------------
Assign To: Julie MacNaught
Resolution: Fixed
Fix Version: current (nightly)
Fixed per suggested patch.
> PortletURLProviderImpl incorrectly assumes current mode is always view mode and current state is always normal
> --------------------------------------------------------------------------------------------------------------
>
> Key: WSRP4J-54
> URL: http://issues.apache.org/jira/browse/WSRP4J-54
> Project: WSRP4J
> Type: Bug
> Components: Producer
> Environment: windows xp
> Reporter: Claire Chang
> Assignee: Julie MacNaught
> Priority: Critical
> Fix For: current (nightly)
>
> as a result of this bug, all urls generated by PortletURLProviderImpl.toString() will have the effect of setting the mode to view and state to normal overriding the current state and current mode.
> I fixed this by changing a few lines in toString method
> public String toString()
> {
> if (logger.isLogging(Logger.TRACE_HIGH))
> {
> logger.entry(Logger.TRACE_HIGH, "toString()");
> }
> if (mode == null)
> {
> //***Comment out this line***
> //mode = PortletMode.VIEW;
> if (logger.isLogging(Logger.TRACE_HIGH))
> {
> logger.text(Logger.TRACE_HIGH, "toString()", "PortletMode is null. Setting portlet mode to 'view'");
> }
> }
> if (state == null)
> {
> //***Comment out this line***
> //state = WindowState.NORMAL;
> if (logger.isLogging(Logger.TRACE_HIGH))
> {
> logger.text(Logger.TRACE_HIGH, "toString()", "WindowState is null. Setting window state to 'normal'");
> }
> }
> String url = "";
> URLComposer urlComposer = provider.getURLComposer();
> // create urls
> if (action)
> {
> String actionStateStr = null;
> try
> {
> actionStateStr = Base64.encode(MapSerializer.serialize(parameters));
> } catch (IOException iox)
> {
> //TODO: pass exception to consumer
>
> logger.stackTrace(
> Logger.ERROR,
> "toString()",
> "IOException occured during serialization of parameter map to interaction state.");
> }
> //TBD: introduce mode / state mapping class instead of string appending...
> //***add a condition to check if mode/state is null or not***
> url =
> urlComposer.createBlockingActionURL(
> (mode != null) ? "wsrp:" + mode.toString() : null,
> //"wsrp:" + mode.toString(),
> actionStateStr,
> (state != null) ? "wsrp:" + state.toString() : null,
> //"wsrp:" + state.toString(),
> this.secure,
> this.runtimeContext,
> this.portletContext,
> this.userContext);
> } else
> {
> String naviStateStr = null;
> try
> {
> naviStateStr = Base64.encode(MapSerializer.serialize(parameters));
> } catch (IOException iox)
> {
> //TODO: pass exception to consumer
> logger.stackTrace(
> Logger.ERROR,
> "toString()",
> "IOException occured during serialization of parameter map to navigational state.");
> }
>
> //***add a condition to check if mode/state is null or not***
> url =
> urlComposer.createRenderURL(
> (mode != null) ? "wsrp:" + mode.toString() : null,
> //"wsrp:" + mode.toString(),
> naviStateStr,
> (state != null) ? "wsrp:" + state.toString() : null,
> //"wsrp:" + state.toString(),
> this.secure,
> this.runtimeContext,
> this.portletContext,
> this.userContext);
> }
> if (logger.isLogging(Logger.TRACE_HIGH))
> {
> logger.exit(Logger.TRACE_HIGH, "toString()", url);
> }
> return url;
> }
--
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
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira