/* * RHQ Management Platform * Copyright (C) 2005-2008 Red Hat, Inc. * All rights reserved. * * 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 version 2 of the License. * * 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ package org.rhq.enterprise.gui.legacy.action.resource.hub; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionMapping; import org.apache.struts.util.LabelValueBean; import org.jetbrains.annotations.Nullable; import org.rhq.enterprise.gui.legacy.action.BaseValidatorForm; /** * A common extension for hub pages */ public abstract class HubForm extends BaseValidatorForm { /** * The view style - either "chart" or "list". The value corresponds to {@link HubView#name()} - either "CHART" or * "LIST". */ protected String view; /** * Resource type filter (null indicates all types within the current category). For compatible groups, this field * indicates the group's resource type. */ protected String resourceType; protected String plugin; protected List<LabelValueBean> functions; protected List<LabelValueBean> types; protected List<LabelValueBean> plugins; protected String keywords; protected String[] resources; public HubForm() { super(); setDefaults(); } @Nullable public String getResourceType() { return resourceType; } public void setResourceType(String resourceType) { this.resourceType = resourceType; } public String getPlugin() { return plugin; } public void setPlugin(String plugin) { this.plugin = plugin; } public List<LabelValueBean> getFunctions() { return this.functions; } public void setFunctions(List<LabelValueBean> functions) { this.functions = functions; } public void addFunction(LabelValueBean function) { if (this.functions == null) { this.functions = new ArrayList<LabelValueBean>(); } this.functions.add(function); } public List<LabelValueBean> getTypes() { return this.types; } public void setTypes(List<LabelValueBean> types) { this.types = types; } public void addType(LabelValueBean type) { if (this.types == null) { this.types = new ArrayList<LabelValueBean>(); } this.types.add(type); } public void addTypeFirst(LabelValueBean type) { if ((this.types != null) && (type != null)) { this.types.add(0, type); } } public List<LabelValueBean> getPlugins() { return this.plugins; } public void setPlugins(List<LabelValueBean> plugins) { this.plugins = plugins; } public void addPlugin(LabelValueBean plugin) { if (this.plugins == null) { this.plugins = new ArrayList<LabelValueBean>(); } this.plugins.add(plugin); } public void setKeywords(String keywords) { if (keywords==null) { this.keywords=null; return; } this.keywords = keywords.replaceAll("<","<") .replaceAll("\"",""") .replaceAll(">",">") .replaceAll("&","&") .replaceAll("'","'") .replaceAll("/","/"); } public String getKeywords() { return keywords; } public String getView() { return view; } public void setView(String view) { this.view = view; } @Override public void reset(ActionMapping mapping, HttpServletRequest request) { super.reset(mapping, request); setDefaults(); } protected void setDefaults() { functions = new ArrayList<LabelValueBean>(); types = new ArrayList<LabelValueBean>(); view = HubView.LIST.name(); resources = new String[0]; } public String[] getResources() { return resources; } public void setResources(String[] resources) { this.resources = resources; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder(super.toString()); stringBuilder.append(" resourceType=").append(resourceType); stringBuilder.append(" plugin=").append(plugin); stringBuilder.append(" functions=").append(functions); stringBuilder.append(" types=").append(types); stringBuilder.append(" view=").append(view); stringBuilder.append(" resources="); if (resources != null) { for (int i = 0; i < resources.length; i++) { if (i != 0) { stringBuilder.append(","); } stringBuilder.append(resources[i]); } } return stringBuilder.toString(); } }