vgritsenko 2002/10/21 19:10:31 Modified: . changes.xml src/java/org/apache/cocoon/acting SessionStateAction.java Log: Sync and fix: Local parameters in SessionStateAction still do override global parameters, but do NOT change global parameters. Revision Changes Path 1.269 +5 -1 xml-cocoon2/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/xml-cocoon2/changes.xml,v retrieving revision 1.268 retrieving revision 1.269 diff -u -r1.268 -r1.269 --- changes.xml 22 Oct 2002 01:52:59 -0000 1.268 +++ changes.xml 22 Oct 2002 02:10:30 -0000 1.269 @@ -41,6 +41,10 @@ <release version="@version@" date="@date@"> <action dev="VG" type="update"> + Local parameters in SessionStateAction still do override global parameters, + but do NOT change global parameters. + </action> + <action dev="VG" type="update"> Src attribute can be used now with ResourceExistsAction. Old parameter syntax preserved. </action> 1.9 +26 -35 xml-cocoon2/src/java/org/apache/cocoon/acting/SessionStateAction.java Index: SessionStateAction.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/acting/SessionStateAction.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SessionStateAction.java 11 Sep 2002 08:26:44 -0000 1.8 +++ SessionStateAction.java 22 Oct 2002 02:10:31 -0000 1.9 @@ -81,7 +81,7 @@ * several times with different attribute names rather than sub * levels. </p> * - * <p><b>Global and local paramters:</b></p> + * <p><b>Global and local parameters:</b></p> * * <table border="1"> * <tr> @@ -130,31 +130,33 @@ public void configure(Configuration conf) throws ConfigurationException { super.configure(conf); - if (settings.containsKey("state-key-prefix")) + if (settings.containsKey("state-key-prefix")) { statekey = (String) settings.get("state-key-prefix"); - if (settings.containsKey("new-state")) + } + if (settings.containsKey("new-state")) { newstate = (String) settings.get("new-state"); - if (settings.containsKey("sub-levels")) + } + if (settings.containsKey("sub-levels")) { sublevels = Integer.parseInt((String) settings.get("sub-levels")); - if (settings.containsKey("state-level")) + } + if (settings.containsKey("state-level")) { mylevel = Integer.parseInt((String) settings.get("state-level")); + } } - public Map act( - Redirector redirector, - SourceResolver resolver, - Map objectModel, - String src, - Parameters par) - throws Exception { - + public Map act(Redirector redirector, + SourceResolver resolver, + Map objectModel, + String src, + Parameters par) throws Exception { + Request request = ObjectModelHelper.getRequest(objectModel); // read local settings - newstate = par.getParameter("new-state", newstate); - statekey = par.getParameter("state-key", statekey); - sublevels = par.getParameterAsInteger("sublevels", sublevels); - mylevel = par.getParameterAsInteger("state-level", mylevel); + String newstate = par.getParameter("new-state", this.newstate); + String statekey = par.getParameter("state-key", this.statekey); + int sublevels = par.getParameterAsInteger("sublevels", this.sublevels); + int mylevel = par.getParameterAsInteger("state-level", this.mylevel); if (newstate == null) { if (this.getLogger().isDebugEnabled()) { @@ -176,32 +178,25 @@ } } else { // sublevels != 0 - oldstate = - (String) session.getAttribute( - statekey + Integer.toString(mylevel)); + oldstate = (String)session.getAttribute(statekey + mylevel); for (int i = mylevel + 1; i <= sublevels; i++) { - session.removeAttribute(statekey + Integer.toString(i)); + session.removeAttribute(statekey + i); if (this.getLogger().isDebugEnabled()) { - getLogger().debug( - "remove " + statekey + Integer.toString(i)); + getLogger().debug("Remove " + statekey + i); } } - session.setAttribute( - statekey + Integer.toString(mylevel), - newstate); + session.setAttribute(statekey + mylevel, newstate); if (this.getLogger().isDebugEnabled()) { - getLogger().debug( - statekey + Integer.toString(mylevel) + "=" + newstate); + getLogger().debug(statekey + mylevel + "=" + newstate); } } if (this.getLogger().isDebugEnabled()) { - getLogger().debug("transition " + oldstate + " -> " + newstate); + getLogger().debug("Transition " + oldstate + " -> " + newstate); } HashMap map = new HashMap(1); map.put("newstate", newstate); return map; - } else { getLogger().warn( "A session object was not present or no longer valid"); @@ -211,9 +206,5 @@ getLogger().warn("No request object"); return null; } - } } - - -
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]