Author: dolander Date: Wed Jan 26 13:50:27 2005 New Revision: 126541 URL: http://svn.apache.org/viewcvs?view=rev&rev=126541 Log: Move the getJavaScriptUtils method to ScriptContainer.
Added: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/RequestUtils.java Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlBaseTag.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/JavaScriptUtils.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/ScriptContainer.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java Added: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/RequestUtils.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/RequestUtils.java?view=auto&rev=126541 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/RequestUtils.java Wed Jan 26 13:50:27 2005 @@ -0,0 +1,56 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * $Header:$ + */ +package org.apache.beehive.netui.tags; + +import org.apache.beehive.netui.pageflow.PageFlowUtils; +import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils; + +import javax.servlet.ServletRequest; +import javax.servlet.http.HttpServletRequest; + +/** + * This class contains utility methods that deal with requests. The primary features + * are the ability to set/get attributes on the outer request (or real request). + */ +public class RequestUtils + { + + /** + * + * @param req + * @param name + * @param value + */ + static void setOuterAttribute(HttpServletRequest req,String name,Object value) + { + ServletRequest realReq = ScopedServletUtils.getOuterRequest(req); + realReq.setAttribute(name,value); + } + + /** + * + * @param req + * @param name + * @return + */ + static Object getOuterAttribute(HttpServletRequest req,String name) + { + ServletRequest realReq = ScopedServletUtils.getOuterRequest(req); + return realReq.getAttribute(name); + } +} Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java Wed Jan 26 13:50:27 2005 @@ -6,6 +6,7 @@ import org.apache.beehive.netui.tags.HtmlUtils; import org.apache.beehive.netui.tags.javascript.IScriptReporter; import org.apache.beehive.netui.tags.javascript.JavaScriptUtils; +import org.apache.beehive.netui.tags.javascript.ScriptContainer; import org.apache.beehive.netui.tags.internal.PageFlowTagUtils; import org.apache.beehive.netui.tags.rendering.*; import org.apache.beehive.netui.util.Bundle; @@ -307,7 +308,7 @@ if (_formSubmit) _form = getNearestForm(); - JavaScriptUtils jsu = getJavaScriptUtils(request); + JavaScriptUtils jsu = ScriptContainer.getJavaScriptUtils(request); // check the parameters that the user provided if (_href != null) have++; Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java Wed Jan 26 13:50:27 2005 @@ -29,6 +29,7 @@ import org.apache.beehive.netui.tags.TagConfig; import org.apache.beehive.netui.tags.javascript.IScriptReporter; import org.apache.beehive.netui.tags.javascript.JavaScriptUtils; +import org.apache.beehive.netui.tags.javascript.ScriptContainer; import org.apache.beehive.netui.tags.internal.PageFlowTagUtils; import org.apache.beehive.netui.tags.rendering.*; import org.apache.beehive.netui.util.Bundle; @@ -843,7 +844,7 @@ } if (_formSubmit) { - JavaScriptUtils jsu = getJavaScriptUtils(request); + JavaScriptUtils jsu = ScriptContainer.getJavaScriptUtils(request); jsu.writeAnchorFormSubmit(getScriptReporter(), writer); } Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlBaseTag.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlBaseTag.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlBaseTag.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlBaseTag.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlBaseTag.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlBaseTag.java Wed Jan 26 13:50:27 2005 @@ -20,6 +20,7 @@ import org.apache.beehive.netui.tags.*; import org.apache.beehive.netui.tags.javascript.JavaScriptUtils; import org.apache.beehive.netui.tags.javascript.IScriptReporter; +import org.apache.beehive.netui.tags.javascript.ScriptContainer; import org.apache.beehive.netui.tags.rendering.AbstractHtmlControlState; import org.apache.beehive.netui.tags.rendering.AbstractHtmlState; import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender; @@ -43,11 +44,6 @@ abstract public class HtmlBaseTag extends AbstractClassicTag implements HtmlConstants, IAttributeConsumer, IHtmlAttrs { - /** - * This is the name of a request scoped attribute that contains the status of what JavaScript processing - * has taken place. - */ - public static final String JAVASCRIPT_STATUS = "netui.javascript.status"; /** * This method will return the state associated with the tag. This is used by this @@ -568,7 +564,7 @@ return null; // without a scripRepoter we need to create the actual JavaScript that will be written out - JavaScriptUtils jsu = getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); + JavaScriptUtils jsu = ScriptContainer.getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); StringBuilder sb = new StringBuilder(64); StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb); jsu.getTagIdMapping(tagId, value, writer); @@ -584,30 +580,11 @@ } // without a scripRepoter we need to create the actual JavaScript that will be written out - JavaScriptUtils jsu = getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); + JavaScriptUtils jsu = ScriptContainer.getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); StringBuilder sb = new StringBuilder(128); StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb); jsu.getTagIdMapping(tagId, realId, realName, writer); return sb.toString(); - } - - /** - * This method will return the <code>javaScriptUtils</code> that is assocated - * with this request. If this doesn't exist, it will be created before it is - * returned. - * @param request the HttpServletRequest associated with this request - * @return a <code>JavaScriptUtils</code> assocated with the request - */ - static public JavaScriptUtils getJavaScriptUtils(ServletRequest request) - { - assert (request != null); - JavaScriptUtils jsu = (JavaScriptUtils) request.getAttribute(JAVASCRIPT_STATUS); - if (jsu == null) { - jsu = new JavaScriptUtils(); - request.setAttribute(JAVASCRIPT_STATUS, jsu); - } - assert (jsu != null); - return jsu; } /** Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java Wed Jan 26 13:50:27 2005 @@ -21,6 +21,7 @@ import org.apache.beehive.netui.tags.ByRef; import org.apache.beehive.netui.tags.IHtmlAccessable; import org.apache.beehive.netui.tags.javascript.JavaScriptUtils; +import org.apache.beehive.netui.tags.javascript.ScriptContainer; import org.apache.beehive.netui.tags.internal.PageFlowTagUtils; import org.apache.beehive.netui.tags.rendering.AbstractHtmlState; import org.apache.beehive.netui.tags.rendering.ImageTag; @@ -373,7 +374,7 @@ if (_rolloverImage != null && getJavaScriptAttribute(ONMOUSEOVER) == null) { // cause the roll over script to be inserted WriteRenderAppender writer = new WriteRenderAppender(pageContext); - JavaScriptUtils jsu = getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); + JavaScriptUtils jsu = ScriptContainer.getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); jsu.writeRollover(getScriptReporter(), writer); } Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java Wed Jan 26 13:50:27 2005 @@ -20,6 +20,7 @@ import org.apache.beehive.netui.core.urls.MutableURI; import org.apache.beehive.netui.tags.IHtmlAccessable; import org.apache.beehive.netui.tags.javascript.JavaScriptUtils; +import org.apache.beehive.netui.tags.javascript.ScriptContainer; import org.apache.beehive.netui.tags.internal.PageFlowTagUtils; import org.apache.beehive.netui.tags.rendering.AbstractHtmlState; import org.apache.beehive.netui.tags.rendering.InputImageTag; @@ -263,7 +264,7 @@ if (_rolloverImage != null && getJavaScriptAttribute(ONMOUSEOVER) == null) { // cause the roll over script to be inserted - JavaScriptUtils jsu = getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); + JavaScriptUtils jsu = ScriptContainer.getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); WriteRenderAppender writer = new WriteRenderAppender(pageContext); jsu.writeRollover(getScriptReporter(), writer); } Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/JavaScriptUtils.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/JavaScriptUtils.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/JavaScriptUtils.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/JavaScriptUtils.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/JavaScriptUtils.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/JavaScriptUtils.java Wed Jan 26 13:50:27 2005 @@ -31,6 +31,8 @@ */ public class JavaScriptUtils implements Serializable { + private static final String BUNDLE_NAME = "org.apache.beehive.netui.tags.javascript.javaScript"; + // bit positions for the JavaScript features that can be written out. private static final int LEGACY_LOOKUP = 0x0001; private static final int ID_LOOKUP = 0x0002; @@ -43,14 +45,9 @@ private static final int ALLOCATE_ID = 0x0100; private static final int ALLOCATE_NAME = 0x0200; private static final int LEGACY_SCOPE_LOOKUP = 0x0400; - - private static final String BUNDLE_NAME = "org.apache.beehive.netui.tags.javascript.javaScript"; - - // this is a integer bitmap indicating various feature have been written out or not - private int _javaScriptFeatures; - - // This points to the bundle - private static ResourceBundle _bundle; + + private int _javaScriptFeatures; // this is a integer bitmap indicating various feature have been written out or not + private static ResourceBundle _bundle; // This points to the bundle /** * @param scriptReporter Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/ScriptContainer.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/ScriptContainer.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/ScriptContainer.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/ScriptContainer.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/ScriptContainer.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/javascript/ScriptContainer.java Wed Jan 26 13:50:27 2005 @@ -27,6 +27,7 @@ import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.Tag; import javax.servlet.jsp.tagext.SimpleTagSupport; +import javax.servlet.ServletRequest; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; @@ -80,6 +81,11 @@ private boolean _writeScript = false; private boolean _writeInitScript = false; private boolean _writeId = false; + /** + * This is the name of a request scoped attribute that contains the status of what JavaScript processing + * has taken place. + */ + public static final String JAVASCRIPT_STATUS = "netui.javascript.status"; /** * Returns the name of the Tag. @@ -459,7 +465,7 @@ protected void writeScriptBlock(AbstractRenderAppender sb) { boolean script = false; - JavaScriptUtils jsu = HtmlBaseTag.getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); + JavaScriptUtils jsu = getJavaScriptUtils((HttpServletRequest) pageContext.getRequest()); boolean writeLegacy = false; boolean writeName = false; @@ -601,5 +607,24 @@ _idMap.clear(); if (_idToNameMap != null) _idToNameMap.clear(); + } + + /** + * This method will return the <code>javaScriptUtils</code> that is assocated + * with this request. If this doesn't exist, it will be created before it is + * returned. + * @param request the HttpServletRequest associated with this request + * @return a <code>JavaScriptUtils</code> assocated with the request + */ + static public JavaScriptUtils getJavaScriptUtils(ServletRequest request) + { + assert (request != null); + JavaScriptUtils jsu = (JavaScriptUtils) request.getAttribute(JAVASCRIPT_STATUS); + if (jsu == null) { + jsu = new JavaScriptUtils(); + request.setAttribute(JAVASCRIPT_STATUS, jsu); + } + assert (jsu != null); + return jsu; } } Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java?view=diff&rev=126541&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java&r1=126540&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java&r2=126541 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java Wed Jan 26 13:50:27 2005 @@ -31,6 +31,7 @@ import org.apache.beehive.netui.tags.html.HtmlConstants; import org.apache.beehive.netui.tags.javascript.JavaScriptUtils; import org.apache.beehive.netui.tags.javascript.IScriptReporter; +import org.apache.beehive.netui.tags.javascript.ScriptContainer; import org.apache.beehive.netui.tags.html.HtmlBaseTag; import org.apache.beehive.netui.tags.internal.PageFlowTagUtils; import org.apache.beehive.netui.tags.rendering.*; @@ -1260,10 +1261,10 @@ static JavaScriptUtils getJavaScriptUtils(ServletRequest request) { assert (request != null); - JavaScriptUtils jsu = (JavaScriptUtils) request.getAttribute(HtmlBaseTag.JAVASCRIPT_STATUS); + JavaScriptUtils jsu = (JavaScriptUtils) request.getAttribute(ScriptContainer.JAVASCRIPT_STATUS); if (jsu == null) { jsu = new JavaScriptUtils(); - request.setAttribute(HtmlBaseTag.JAVASCRIPT_STATUS, jsu); + request.setAttribute(ScriptContainer.JAVASCRIPT_STATUS, jsu); } assert (jsu != null); return jsu;
