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

org.owasp.webgoat.session.ECSFactory Maven / Gradle / Ivy

There is a newer version: 7.1
Show newest version

package org.owasp.webgoat.session;

import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;
import java.util.Vector;
import org.apache.ecs.Element;
import org.apache.ecs.ElementContainer;
import org.apache.ecs.StringElement;
import org.apache.ecs.html.A;
import org.apache.ecs.html.BR;
import org.apache.ecs.html.H3;
import org.apache.ecs.html.Input;
import org.apache.ecs.html.Label;
import org.apache.ecs.html.Option;
import org.apache.ecs.html.P;
import org.apache.ecs.html.Select;
import org.apache.ecs.html.TD;
import org.apache.ecs.html.TH;
import org.apache.ecs.html.TR;
import org.apache.ecs.html.U;


/**
 *************************************************************************************************
 *
 *
 * This file is part of WebGoat, an Open Web Application Security Project utility. For details,
 * please see http://www.owasp.org/
 *
 * Copyright (c) 2002 - 20014 Bruce Mayhew
 *
 * This program is free software; you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program; if
 * not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 * 02111-1307, USA.
 *
 * Getting Source ==============
 *
 * Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software
 * projects.
 *
 * @author Jeff Williams ([email protected])
 * @since October 29, 2003
 * @version $Id: $Id
 */
public class ECSFactory
{

	/**
	 * Description of the Field
	 */

	public final static String ON = "On";

	/**
	 * Description of the Field
	 */

	public final static String PASSWORD = "Password";

	/**
	 * Don't let anyone instantiate this class
	 */

	private ECSFactory()
	{
	}

	/**
	 * Description of the Method
	 *
	 * @param name
	 *            Description of the Parameter
	 * @param value
	 *            Description of the Parameter
	 * @return Description of the Return Value
	 */
	public static Element makeBox(String name, String value)
	{

		Input i = new Input(Input.CHECKBOX, name, ON);

		i.setChecked(value.equals(ON));

		return (i);
	}

	/**
	 * Description of the Method
	 *
	 * @param text
	 *            Description of the Parameter
	 * @return Description of the Return Value
	 */
	public static Element makeButton(String text)
	{

		Input b = new Input();

		b.setType(Input.SUBMIT);
		b.setValue(text);
		b.setName(Input.SUBMIT);

		return (b);
	}

	/**
	 * 

makeButton.

* * @param text a {@link java.lang.String} object. * @param onClickFunction a {@link java.lang.String} object. * @return a {@link org.apache.ecs.Element} object. */ public static Element makeButton(String text, String onClickFunction) { Input b = (Input) makeButton(text); b.setOnClick(onClickFunction); return (b); } /** * Description of the Method * * @param labeltext * Description of the Parameter * @param value * Description of the Parameter * @param e * Description of the Parameter * @return Description of the Return Value */ public static TR makeField(String labeltext, String value, Element e) { TD left = new TD().setAlign("right"); Label label = new Label().addElement(labeltext); left.addElement(label); TD right = new TD().setAlign("left"); right.addElement(e); TR row = new TR(); row.addElement(left); row.addElement(right); return (row); } /** * Description of the Method * * @param labeltext * Description of the Parameter * @param name * Description of the Parameter * @param value * Description of the Parameter * @param size * Description of the Parameter * @return Description of the Return Value */ public static TR makeField(String labeltext, String name, String value, int size) { Input field = new Input().setName(name).setValue(value).setSize(size).setMaxlength(size); // double check in case someone means to make a * starred out password field if (name.equals(PASSWORD)) { field.setType(Input.PASSWORD); } return (makeField(labeltext, value, field)); } /** * Description of the Method * * @param label * Description of the Parameter * @param type * Description of the Parameter * @param name * Description of the Parameter * @param value * Description of the Parameter * @param alignment * Description of the Parameter * @param selected * Description of the Parameter * @return Description of the Return Value */ public static Element makeInput(String label, String type, String name, boolean value, boolean selected, String alignment) { return makeInput(label, type, name, new Boolean(value).toString(), selected, alignment); } /** * Description of the Method * * @param label * Description of the Parameter * @param type * Description of the Parameter * @param name * Description of the Parameter * @param value * Description of the Parameter * @return Description of the Return Value */ public static Element makeInput(String label, String type, String name, String value) { return makeInput(label, type, name, value, new Boolean(value).booleanValue(), "RIGHT"); } /** * Description of the Method * * @param label * Description of the Parameter * @param type * Description of the Parameter * @param name * Description of the Parameter * @param value * Description of the Parameter * @param alignment * Description of the Parameter * @param selected * Description of the Parameter * @return Description of the Return Value */ public static Element makeInput(String label, String type, String name, String value, boolean selected, String alignment) { ElementContainer ec = new ElementContainer(); if (!alignment.equalsIgnoreCase("LEFT")) { ec.addElement(new StringElement(label)); } Input input = new Input(type, name, value); ec.addElement(input); if (alignment.equalsIgnoreCase("LEFT")) { ec.addElement(new StringElement(label)); } if (type.equalsIgnoreCase("CHECKBOX")) { input.setChecked(selected); } return (ec); } /** * Description of the Method * * @param text * Description of the Parameter * @param name * Description of the Parameter * @param value * Description of the Parameter * @return Description of the Return Value */ public static A makeLink(String text, String name, String value) { String href = "attack?" + name; if (value.length() > 0) { href = href + "=" + value; } A a = new A(href); a.addElement(new U().addElement(text)); a.addAttribute("style", "cursor:hand"); return (a); } /** * Description of the Method * * @param text * Description of the Parameter * @param name * Description of the Parameter * @param value * Description of the Parameter * @return Description of the Return Value */ public static A makeLink(String text, String name, int value) { return (makeLink(text, name, Integer.toString(value))); } /** * Description of the Method * * @param text * Description of the Parameter * @param name * Description of the Parameter * @param value * Description of the Parameter * @return Description of the Return Value */ public static A makeLink(String text, String name, boolean value) { return (makeLink(text, name, new Boolean(value).toString())); } /** * Description of the Method * * @param text * Description of the Parameter * @param clickAction * Description of the Parameter * @param type * Description of the Parameter * @return Description of the Return Value */ public static Input makeOnClickInput(String text, String clickAction, String type) { Input b = new Input(); b.setType(type); b.setValue(text); b.setOnClick(clickAction); return (b); } /** * Description of the Method * * @param labeltext * Description of the Parameter * @param value * Description of the Parameter * @param e * Description of the Parameter * @return Description of the Return Value */ public static TR makeOption(String labeltext, String value, Element e) { TD left = new TD().setAlign("left").setWidth("10%"); left.addElement(e); TD right = new TD().setAlign("right"); Label label = new Label().addElement(labeltext); right.addElement(label); TR row = new TR(); row.addElement(right); row.addElement(left); return (row); } /** * Description of the Method * * @param label * Description of the Parameter * @param value * Description of the Parameter * @return Description of the Return Value */ public static Option makeOption(String label, boolean value) { Option option = new Option(label, new Boolean(value).toString()); option.setSelected(value); return option; } /** * Description of the Method * * @param line * Description of the Parameter * @return Description of the Return Value */ private static org.apache.ecs.html.Option makeOption(String line) { StringTokenizer st = new StringTokenizer(line, "|"); org.apache.ecs.html.Option o = new org.apache.ecs.html.Option(); String token = ""; if (st.hasMoreTokens()) { token = st.nextToken(); } o.addElement(token); return (o); } /** * Description of the Method * * @param name * Description of the Parameter * @param options * Description of the Parameter * @return Description of the Return Value */ public static Element makePulldown(String name, List options) { Select s = new Select(name); s.addElement(options.toArray(new String[options.size()])); return (s); } /** * Description of the Method * * @param results * Description of the Parameter * @return Description of the Return Value * @param name a {@link java.lang.String} object. */ public static Element makePulldown(String name, String results) { Select select = new Select(name); StringTokenizer st = new StringTokenizer(results, "\n"); if (!st.hasMoreTokens()) { return (new StringElement("")); } while (st.hasMoreTokens()) { String line = st.nextToken(); select.addElement(makeOption(line)); } select.addElement("-------------------------"); return (select); } /** * Description of the Method * * @param name * Description of the Parameter * @param list * Description of the Parameter * @param selected * Description of the Parameter * @param rowsShowing * Description of the Parameter * @return Description of the Return Value */ public static Select makePulldown(String name, Object[] list, String selected, int rowsShowing) { Select select = new Select(name); for (int loop = 0; loop < list.length; loop++) { String value = list[loop].toString(); org.apache.ecs.html.Option o = new org.apache.ecs.html.Option(value, value, value); if (value.equals(selected)) { o.setSelected(true); } select.addElement(o); } select.setSize(rowsShowing); return select; } /** * Default size of 1 for rows showing in select box. * * @param diffNames * Description of the Parameter * @param select * Description of the Parameter * @param selected * Description of the Parameter * @param selected * Description of the Parameter * @param selected * Description of the Parameter * @param selected * Description of the Parameter * @param name * Description of the Parameter * @param options * Description of the Parameter * @param list * Description of the Parameter * @param selected * Description of the Parameter * @param selected * Description of the Parameter * @return Description of the Return Value */ public static Element makeSelect(boolean diffNames, Select select, String name, Vector




© 2015 - 2024 Weber Informatics LLC | Privacy Policy