All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.struts2.components.DoubleListUIBean Maven / Gradle / Ivy

There is a newer version: 6.4.0
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.
 */
package org.apache.struts2.components;

import com.opensymphony.xwork2.util.ValueStack;
import org.apache.struts2.views.annotations.StrutsTagAttribute;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

/**
 * 

* DoubleListUIBean is the standard superclass of all Struts double list handling components. *

* * *

* Note that the doublelistkey and doublelistvalue attribute will default to "key" and "value" * respectively only when the doublelist attribute is evaluated to a Map or its descendant. * Other thing else, will result in doublelistkey and doublelistvalue to be null and not used. *

* * * */ public abstract class DoubleListUIBean extends ListUIBean { protected String emptyOption; protected String headerKey; protected String headerValue; protected String multiple; protected String size; protected String doubleList; protected String doubleListKey; protected String doubleListValue; protected String doubleListCssClass; protected String doubleListCssStyle; protected String doubleListTitle; protected String doubleName; protected String doubleValue; protected String formName; protected String doubleId; protected String doubleDisabled; protected String doubleMultiple; protected String doubleSize; protected String doubleHeaderKey; protected String doubleHeaderValue; protected String doubleEmptyOption; protected String doubleCssClass; protected String doubleCssStyle; protected String doubleOnclick; protected String doubleOndblclick; protected String doubleOnmousedown; protected String doubleOnmouseup; protected String doubleOnmouseover; protected String doubleOnmousemove; protected String doubleOnmouseout; protected String doubleOnfocus; protected String doubleOnblur; protected String doubleOnkeypress; protected String doubleOnkeydown; protected String doubleOnkeyup; protected String doubleOnselect; protected String doubleOnchange; protected String doubleAccesskey; public DoubleListUIBean(ValueStack stack, HttpServletRequest request, HttpServletResponse response) { super(stack, request, response); } public void evaluateExtraParams() { super.evaluateExtraParams(); //Object doubleName = null; if (emptyOption != null) { addParameter("emptyOption", findValue(emptyOption, Boolean.class)); } if (multiple != null) { addParameter("multiple", findValue(multiple, Boolean.class)); } if (size != null) { addParameter("size", findString(size)); } if ((headerKey != null) && (headerValue != null)) { addParameter("headerKey", findString(headerKey)); addParameter("headerValue", findString(headerValue)); } if (doubleMultiple != null) { addParameter("doubleMultiple", findValue(doubleMultiple, Boolean.class)); } if (doubleSize != null) { addParameter("doubleSize", findString(doubleSize)); } if (doubleDisabled != null) { addParameter("doubleDisabled", findValue(doubleDisabled, Boolean.class)); } if (doubleName != null) { addParameter("doubleName", findString(this.doubleName)); } if (doubleList != null) { addParameter("doubleList", doubleList); } Object tmpDoubleList = findValue(doubleList); if (doubleListKey != null) { addParameter("doubleListKey", doubleListKey); }else if (tmpDoubleList instanceof Map) { addParameter("doubleListKey", "key"); } if (doubleListValue != null) { doubleListValue = stripExpressionIfAltSyntax(doubleListValue); addParameter("doubleListValue", doubleListValue); }else if (tmpDoubleList instanceof Map) { addParameter("doubleListValue", "value"); } if (doubleListCssClass != null) { addParameter("doubleListCssClass", findString(doubleListCssClass)); } if (doubleListCssStyle!= null) { addParameter("doubleListCssStyle", findString(doubleListCssStyle)); } if (doubleListTitle != null) { addParameter("doubleListTitle", findString(doubleListTitle)); } if (formName != null) { addParameter("formName", findString(formName)); } else { // ok, let's look it up Component form = findAncestor(Form.class); if (form != null) { addParameter("formName", form.getParameters().get("name")); } } Class valueClazz = getValueClassType(); if (valueClazz != null) { if (doubleValue != null) { addParameter("doubleNameValue", findValue(doubleValue, valueClazz)); } else if (doubleName != null) { addParameter("doubleNameValue", findValue(doubleName, valueClazz)); } } else { if (doubleValue != null) { addParameter("doubleNameValue", findValue(doubleValue)); } else if (doubleName != null) { addParameter("doubleNameValue", findValue(doubleName)); } } Form form = (Form) findAncestor(Form.class); if (doubleId != null) { // this check is needed for backwards compatibility with 2.1.x addParameter("doubleId", findStringIfAltSyntax(doubleId)); } else if (form != null) { addParameter("doubleId", form.getParameters().get("id") + "_" +escape(doubleName !=null ? findString(doubleName) : null)); } else { addParameter("doubleId", escape(doubleName != null ? findString(doubleName) : null)); } if (doubleOnclick != null) { addParameter("doubleOnclick", findString(doubleOnclick)); } if (doubleOndblclick != null) { addParameter("doubleOndblclick", findString(doubleOndblclick)); } if (doubleOnmousedown != null) { addParameter("doubleOnmousedown", findString(doubleOnmousedown)); } if (doubleOnmouseup != null) { addParameter("doubleOnmouseup", findString(doubleOnmouseup)); } if (doubleOnmouseover != null) { addParameter("doubleOnmouseover", findString(doubleOnmouseover)); } if (doubleOnmousemove != null) { addParameter("doubleOnmousemove", findString(doubleOnmousemove)); } if (doubleOnmouseout != null) { addParameter("doubleOnmouseout", findString(doubleOnmouseout)); } if (doubleOnfocus != null) { addParameter("doubleOnfocus", findString(doubleOnfocus)); } if (doubleOnblur != null) { addParameter("doubleOnblur", findString(doubleOnblur)); } if (doubleOnkeypress != null) { addParameter("doubleOnkeypress", findString(doubleOnkeypress)); } if (doubleOnkeydown != null) { addParameter("doubleOnkeydown", findString(doubleOnkeydown)); } if (doubleOnselect != null) { addParameter("doubleOnselect", findString(doubleOnselect)); } if (doubleOnchange != null) { addParameter("doubleOnchange", findString(doubleOnchange)); } if (doubleCssClass != null) { addParameter("doubleCss", findString(doubleCssClass)); } if (doubleCssStyle != null) { addParameter("doubleStyle", findString(doubleCssStyle)); } if (doubleHeaderKey != null && doubleHeaderValue != null) { addParameter("doubleHeaderKey", findString(doubleHeaderKey)); addParameter("doubleHeaderValue", findString(doubleHeaderValue)); } if (doubleEmptyOption != null) { addParameter("doubleEmptyOption", findValue(doubleEmptyOption, Boolean.class)); } if (doubleAccesskey != null) { addParameter("doubleAccesskey", findString(doubleAccesskey)); } } @StrutsTagAttribute(description="The second iterable source to populate from.", required=true) public void setDoubleList(String doubleList) { this.doubleList = doubleList; } @StrutsTagAttribute(description="The key expression to use for second list") public void setDoubleListKey(String doubleListKey) { this.doubleListKey = doubleListKey; } @StrutsTagAttribute(description="The value expression to use for second list") public void setDoubleListValue(String doubleListValue) { this.doubleListValue = doubleListValue; } @StrutsTagAttribute(description = "Property of second list objects to get css class from") public void setDoubleListCssClass(String doubleListCssClass) { this.doubleListCssClass = doubleListCssClass; } @StrutsTagAttribute(description = "Property of second list objects to get css style from") public void setDoubleListCssStyle(String doubleListCssStyle) { this.doubleListCssStyle = doubleListCssStyle; } @StrutsTagAttribute(description = "Property of second list objects to get title from") public void setDoubleListTitle(String doubleListTitle) { this.doubleListTitle = doubleListTitle; } @StrutsTagAttribute(description="The name for complete component", required=true) public void setDoubleName(String doubleName) { this.doubleName = doubleName; } @StrutsTagAttribute(description="The value expression for complete component") public void setDoubleValue(String doubleValue) { this.doubleValue = doubleValue; } @StrutsTagAttribute(description="The form name this component resides in and populates to") public void setFormName(String formName) { this.formName = formName; } public String getFormName() { return formName; } @StrutsTagAttribute(description="The css class for the second list") public void setDoubleCssClass(String doubleCssClass) { this.doubleCssClass = doubleCssClass; } public String getDoubleCssClass() { return doubleCssClass; } @StrutsTagAttribute(description="The css style for the second list") public void setDoubleCssStyle(String doubleCssStyle) { this.doubleCssStyle = doubleCssStyle; } public String getDoubleCssStyle() { return doubleCssStyle; } @StrutsTagAttribute(description="The header key for the second list") public void setDoubleHeaderKey(String doubleHeaderKey) { this.doubleHeaderKey = doubleHeaderKey; } public String getDoubleHeaderKey() { return doubleHeaderKey; } @StrutsTagAttribute(description="The header value for the second list") public void setDoubleHeaderValue(String doubleHeaderValue) { this.doubleHeaderValue = doubleHeaderValue; } public String getDoubleHeaderValue() { return doubleHeaderValue; } @StrutsTagAttribute(description="Decides if the second list will add an empty option") public void setDoubleEmptyOption(String doubleEmptyOption) { this.doubleEmptyOption = doubleEmptyOption; } public String getDoubleEmptyOption() { return this.doubleEmptyOption; } public String getDoubleDisabled() { return doubleDisabled; } @StrutsTagAttribute(description="Decides if a disable attribute should be added to the second list") public void setDoubleDisabled(String doubleDisabled) { this.doubleDisabled = doubleDisabled; } public String getDoubleId() { return doubleId; } @StrutsTagAttribute(description="The id of the second list") public void setDoubleId(String doubleId) { this.doubleId = doubleId; } public String getDoubleMultiple() { return doubleMultiple; } @StrutsTagAttribute(description=" Decides if multiple attribute should be set on the second list") public void setDoubleMultiple(String doubleMultiple) { this.doubleMultiple = doubleMultiple; } public String getDoubleOnblur() { return doubleOnblur; } @StrutsTagAttribute(description="Set the onblur attribute of the second list") public void setDoubleOnblur(String doubleOnblur) { this.doubleOnblur = doubleOnblur; } public String getDoubleOnchange() { return doubleOnchange; } @StrutsTagAttribute(description="Set the onchange attribute of the second list") public void setDoubleOnchange(String doubleOnchange) { this.doubleOnchange = doubleOnchange; } public String getDoubleOnclick() { return doubleOnclick; } @StrutsTagAttribute(description="Set the onclick attribute of the second list") public void setDoubleOnclick(String doubleOnclick) { this.doubleOnclick = doubleOnclick; } public String getDoubleOndblclick() { return doubleOndblclick; } @StrutsTagAttribute(description="Set the ondbclick attribute of the second list") public void setDoubleOndblclick(String doubleOndblclick) { this.doubleOndblclick = doubleOndblclick; } public String getDoubleOnfocus() { return doubleOnfocus; } @StrutsTagAttribute(description="Set the onfocus attribute of the second list") public void setDoubleOnfocus(String doubleOnfocus) { this.doubleOnfocus = doubleOnfocus; } public String getDoubleOnkeydown() { return doubleOnkeydown; } @StrutsTagAttribute(description="Set the onkeydown attribute of the second list") public void setDoubleOnkeydown(String doubleOnkeydown) { this.doubleOnkeydown = doubleOnkeydown; } public String getDoubleOnkeypress() { return doubleOnkeypress; } @StrutsTagAttribute(description="Set the onkeypress attribute of the second list") public void setDoubleOnkeypress(String doubleOnkeypress) { this.doubleOnkeypress = doubleOnkeypress; } public String getDoubleOnkeyup() { return doubleOnkeyup; } @StrutsTagAttribute(description="Set the onkeyup attribute of the second list") public void setDoubleOnkeyup(String doubleOnkeyup) { this.doubleOnkeyup = doubleOnkeyup; } public String getDoubleOnmousedown() { return doubleOnmousedown; } @StrutsTagAttribute(description="Set the onmousedown attribute of the second list") public void setDoubleOnmousedown(String doubleOnmousedown) { this.doubleOnmousedown = doubleOnmousedown; } public String getDoubleOnmousemove() { return doubleOnmousemove; } @StrutsTagAttribute(description="Set the onmousemove attribute of the second list") public void setDoubleOnmousemove(String doubleOnmousemove) { this.doubleOnmousemove = doubleOnmousemove; } public String getDoubleOnmouseout() { return doubleOnmouseout; } @StrutsTagAttribute(description="Set the onmouseout attribute of the second list") public void setDoubleOnmouseout(String doubleOnmouseout) { this.doubleOnmouseout = doubleOnmouseout; } public String getDoubleOnmouseover() { return doubleOnmouseover; } @StrutsTagAttribute(description="Set the onmouseover attribute of the second list") public void setDoubleOnmouseover(String doubleOnmouseover) { this.doubleOnmouseover = doubleOnmouseover; } public String getDoubleOnmouseup() { return doubleOnmouseup; } @StrutsTagAttribute(description="Set the onmouseup attribute of the second list") public void setDoubleOnmouseup(String doubleOnmouseup) { this.doubleOnmouseup = doubleOnmouseup; } public String getDoubleOnselect() { return doubleOnselect; } @StrutsTagAttribute(description="Set the onselect attribute of the second list") public void setDoubleOnselect(String doubleOnselect) { this.doubleOnselect = doubleOnselect; } public String getDoubleSize() { return doubleSize; } @StrutsTagAttribute(description="Set the size attribute of the second list") public void setDoubleSize(String doubleSize) { this.doubleSize = doubleSize; } public String getDoubleList() { return doubleList; } public String getDoubleListKey() { return doubleListKey; } public String getDoubleListValue() { return doubleListValue; } public String getDoubleName() { return doubleName; } public String getDoubleValue() { return doubleValue; } @StrutsTagAttribute(description="Decides of an empty option is to be inserted in the second list", type="Boolean", defaultValue="false") public void setEmptyOption(String emptyOption) { this.emptyOption = emptyOption; } @StrutsTagAttribute(description="Set the header key of the second list. Must not be empty! " + "'-1' and '' is correct, '' is bad.") public void setHeaderKey(String headerKey) { this.headerKey = headerKey; } @StrutsTagAttribute(description=" Set the header value of the second list") public void setHeaderValue(String headerValue) { this.headerValue = headerValue; } @StrutsTagAttribute(description="Creates a multiple select. " + "The tag will pre-select multiple values if the values are passed as an Array " + "(of appropriate types) via the value attribute.") public void setMultiple(String multiple) { // TODO: Passing a Collection may work too? this.multiple = multiple; } @StrutsTagAttribute(description="Size of the element box (# of elements to show)", type="Integer") public void setSize(String size) { this.size = size; } @StrutsTagAttribute(description="Set the html accesskey attribute.") public void setDoubleAccesskey(String doubleAccesskey) { this.doubleAccesskey = doubleAccesskey; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy