package org.onehippo.forge.konakart.hst.tags; import org.apache.commons.lang.StringUtils; import org.hippoecm.hst.core.component.HstURL; import org.hippoecm.hst.tag.HstActionURLTag; import org.onehippo.forge.konakart.hst.utils.KKActionsConstants; import javax.servlet.jsp.tagext.TagData; import javax.servlet.jsp.tagext.TagExtraInfo; import javax.servlet.jsp.tagext.VariableInfo; public class CheckoutActivityProcessActionURLTag extends HstActionURLTag { private String action = KKActionsConstants.ACTIONS.SELECT.name(); private String state = null; public void setAction(String action) { this.action = action; } public void setState(String state) { this.state = state; } @Override protected void setUrlParameters(HstURL url) { super.setUrlParameters(url); url.setParameter(KKActionsConstants.ACTION, action); String currentState = (String) pageContext.getRequest().getAttribute(KKActionsConstants.STATE); if (StringUtils.isEmpty(state)) { state = currentState; } url.setParameter(KKActionsConstants.STATE, state); String dontHaveAccount = (String) pageContext.getRequest().getAttribute(KKActionsConstants.DONT_HAVE_ACCOUNT); if (StringUtils.isEmpty(dontHaveAccount)) { dontHaveAccount = pageContext.getRequest().getParameter(KKActionsConstants.DONT_HAVE_ACCOUNT); } url.setParameter(KKActionsConstants.DONT_HAVE_ACCOUNT, dontHaveAccount); } /** * TagExtraInfo class for HstURLTag. */ public static class TEI extends TagExtraInfo { public VariableInfo[] getVariableInfo(TagData tagData) { VariableInfo vi[] = null; String var = tagData.getAttributeString("var"); if (var != null) { vi = new VariableInfo[1]; vi[0] = new VariableInfo(var, "java.lang.String", true, VariableInfo.AT_BEGIN); } return vi; } } }