You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ha...@apache.org on 2002/08/09 10:29:43 UTC

cvs commit: xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp XSPRequestHelper.java

haul        2002/08/09 01:29:43

  Modified:    src/java/org/apache/cocoon/components/language/markup/xsp
                        XSPRequestHelper.java
  Log:
    <action dev="CH" type="fix">
     Request logicsheet: Fix session tags.
    </action>
  
  Revision  Changes    Path
  1.13      +38 -1     xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/XSPRequestHelper.java
  
  Index: XSPRequestHelper.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/XSPRequestHelper.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XSPRequestHelper.java	17 Jun 2002 02:27:16 -0000	1.12
  +++ XSPRequestHelper.java	9 Aug 2002 08:29:43 -0000	1.13
  @@ -53,6 +53,7 @@
   import org.apache.cocoon.Constants;
   import org.apache.cocoon.environment.ObjectModelHelper;
   import org.apache.cocoon.environment.Request;
  +import org.apache.cocoon.environment.Session;
   
   import org.xml.sax.ContentHandler;
   import org.xml.sax.SAXException;
  @@ -526,5 +527,41 @@
   
           uribuf.append(request.getRequestURI());
           return uribuf.toString();
  +    }
  +
  +    /**
  +     * Return the given session attribute value or a user-provided default if
  +     * none was specified.
  +     *
  +     * @param objectModel The Map objectModel
  +     * @param name The attribute name
  +     * @param defaultValue Value to substitute in absence of a attribute value
  +     */
  +    public static Object getSessionAttribute(Map objectModel, String name,
  +                                             Object defaultValue ) {
  +
  +        Session session = ObjectModelHelper.getRequest(objectModel).getSession();
  +        Object obj = session.getAttribute(name);
  +        return (obj != null ? obj : defaultValue );
  +    }
  +
  +    /**
  +     * Output the given session attribute value or a user-provided default if
  +     * none was specified.
  +     *
  +     * @param objectModel The Map objectModel
  +     * @param contentHandler The SAX content handler
  +     * @param name The attribute name
  +     * @param defaultValue Value to substitute in absence of an attribute value
  +     * @exception SAXException If a SAX error occurs
  +     */
  +    public static void getSessionAttribute(Map objectModel, ContentHandler contentHandler,
  +                                           String name, Object defaultValue)
  +        throws SAXException {
  +        AttributesImpl attr = new AttributesImpl();
  +        XSPObjectHelper.addAttribute(attr, "name", name);
  +
  +        XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "parameter",
  +            getSessionAttribute(objectModel, name, defaultValue).toString(), attr);
       }
   }
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org