001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.kfs.sys.web.struts;
017
018 import java.util.Map;
019
020 import javax.servlet.http.HttpServletRequest;
021 import javax.servlet.http.HttpServletResponse;
022
023 import org.apache.struts.action.ActionForm;
024 import org.apache.struts.action.ActionForward;
025 import org.apache.struts.action.ActionMapping;
026 import org.kuali.kfs.sys.context.SpringContext;
027 import org.kuali.kfs.sys.service.ElectronicFundTransferActionHelper;
028 import org.kuali.kfs.sys.service.ElectronicPaymentClaimingService;
029 import org.kuali.rice.kns.util.GlobalVariables;
030 import org.kuali.rice.kns.web.struts.action.KualiAction;
031
032 public class ElectronicFundTransferAction extends KualiAction {
033 private final static String START_BEAN = "electronicFundTransferStartAction";
034 private final static String REFRESH_BEAN = "electronicFundTransferRefreshAction";
035 private final static String CLAIM_BEAN = "electronicFundTransferClaimAction";
036 private final static String CANCEL_BEAN = "electronicFundTransferCancelAction";
037
038 /**
039 * @see org.kuali.rice.kns.web.struts.action.KualiAction#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
040 */
041 @Override
042 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
043 ElectronicFundTransferForm eftForm = (ElectronicFundTransferForm)form;
044 eftForm.setAvailableClaimingDocumentStrategies(SpringContext.getBean(ElectronicPaymentClaimingService.class).getClaimingDocumentChoices(GlobalVariables.getUserSession().getPerson()));
045 return super.execute(mapping, form, request, response);
046 }
047
048 /**
049 * The action that sends the user to the correct lookup for them
050 * @param mapping
051 * @param form
052 * @param request
053 * @param response
054 * @return
055 * @throws Exception
056 */
057 public ActionForward start(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
058 return getActionHelpers().get(ElectronicFundTransferAction.START_BEAN).performAction((ElectronicFundTransferForm)form, mapping, request.getParameterMap(), getBasePath(request));
059 }
060
061 /**
062 * The action that is called when a document is loaded, after returning from the multivalue select
063 * @param mapping
064 * @param form
065 * @param request
066 * @param response
067 * @return
068 * @throws Exception
069 */
070 public ActionForward refresh(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
071 return getActionHelpers().get(ElectronicFundTransferAction.REFRESH_BEAN).performAction((ElectronicFundTransferForm)form, mapping, request.getParameterMap(), getBasePath(request));
072 }
073
074 /**
075 * The response to the "claim" request
076 * @param mapping
077 * @param form
078 * @param request
079 * @param response
080 * @return
081 * @throws Exception
082 */
083 public ActionForward claim(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
084 return getActionHelpers().get(ElectronicFundTransferAction.CLAIM_BEAN).performAction((ElectronicFundTransferForm)form, mapping, request.getParameterMap(), getBasePath(request));
085 }
086
087 /**
088 * The response to the "cancel" request
089 * @param mapping
090 * @param form
091 * @param request
092 * @param response
093 * @return
094 * @throws Exception
095 */
096 public ActionForward cancel(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
097 return getActionHelpers().get(ElectronicFundTransferAction.CANCEL_BEAN).performAction((ElectronicFundTransferForm)form, mapping, request.getParameterMap(), getBasePath(request));
098 }
099
100 /**
101 * @return all of the beans that act as ElectronicFundTransferActionHelper
102 */
103 private Map<String, ElectronicFundTransferActionHelper> getActionHelpers() {
104 return SpringContext.getBeansOfType(ElectronicFundTransferActionHelper.class);
105 }
106 }
107