DSAMEFormTag.java revision 79ebe0418407731c2d9f2d92aca13e5af9009819
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff/**
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff *
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff *
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * The contents of this file are subject to the terms
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * of the Common Development and Distribution License
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * (the License). You may not use this file except in
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * compliance with the License.
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac *
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * You can obtain a copy of the License at
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * https://opensso.dev.java.net/public/CDDLv1.0.html or
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * opensso/legal/CDDLv1.0.txt
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * See the License for the specific language governing
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * permission and limitations under the License.
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac *
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * When distributing Covered Code, include this CDDL
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * Header Notice in each file and include the License file
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * at opensso/legal/CDDLv1.0.txt.
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * If applicable, add the following below the CDDL Header,
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * with the fields enclosed by brackets [] replaced by
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * your own identifying information:
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * "Portions Copyrighted [year] [name of copyright owner]"
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff *
4323400c50c6c6f278c473544883e91ac4c0e781ludo * $Id: DSAMEFormTag.java,v 1.2 2008/06/25 05:41:50 qcheng Exp $
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff *
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * Portions Copyrighted 2011-2014 ForgeRock AS.
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff */
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffpackage com.sun.identity.authentication.UI.taglib;
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport javax.servlet.jsp.JspException;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport com.iplanet.am.util.SystemProperties;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport com.iplanet.jato.taglib.html.FormTag;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport com.iplanet.jato.util.NonSyncStringBuffer;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport com.sun.identity.authentication.UI.AuthViewBeanBase;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport com.iplanet.jato.view.ViewBean;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport com.sun.identity.shared.Constants;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport java.util.Map;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffimport java.util.Iterator;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift/**
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * Form tag extends form JATO Form tag. It adds a content encoding
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * hidden field element. This element helps web server to figure
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * out the encoding used.
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff */
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoffpublic class DSAMEFormTag extends FormTag
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff{
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff private boolean autoCompleteEnabled = true;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff /** constructs a form tag */
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff public DSAMEFormTag() {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff super();
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff autoCompleteEnabled = SystemProperties.getAsBoolean(Constants.AUTOCOMPLETE_ENABLED, true);
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff /**
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift * performs start tag
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift *
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * @return EVAL_BODY_INCLUDE always
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff * @throws JspException if request context is null
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff */
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff public int doStartTag()
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff throws JspException
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff reset();
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff Map m = getValueMap();
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift NonSyncStringBuffer buffer =
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift new NonSyncStringBuffer("<form ");
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff for (Iterator it=m.keySet().iterator(); it.hasNext();) {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff String key= (String) it.next();
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff String val = (String) m.get(key);
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift buffer.append (" "+key+"=\""+val+"\"");
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff if (!autoCompleteEnabled) {
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift buffer.append (" autocomplete=\"off\"");
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff buffer.append( ">");
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift writeOutput(buffer);
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff return EVAL_BODY_INCLUDE;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff }
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff public int doEndTag ()
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff throws JspException {
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift ViewBean vb = getParentViewBean();
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift NonSyncStringBuffer buffer =new NonSyncStringBuffer();
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff buffer.append( "<input type=\"hidden\" name=\"");
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff buffer.append(AuthViewBeanBase.PAGE_ENCODING)
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift .append("\" value=\"")
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift .append(vb.getDisplayFieldValue("gx_charset"))
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff .append("\"/>")
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff .append("</form>");
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff writeOutput(buffer);
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff return EVAL_PAGE;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff public void setName(String name) {
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift setValue("name",name);
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift public void setAction(String name) {
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift setValue("action",name);
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff public void setTilePrefix (String name) throws JspException {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff ViewBean vb = getParentViewBean();
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff if (vb instanceof AuthViewBeanBase) {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff AuthViewBeanBase ab = (AuthViewBeanBase) vb;
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff setValue("name", name+ab.getTileIndex());
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff } else {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff setValue ("name", name);
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff }
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift public void setDefaultCommandChild (String name) {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff try {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff ViewBean vb = getParentViewBean();
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift String value = (String) vb.getDisplayFieldValue(name);
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff setValue ("action", value);
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff } catch (JspException ex) {
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff setValue ("action",name);
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff }
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff }
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff}
9448ac32f12d59ed3d29eaf65703f4abe866c3eblutoff