001 /*
002 * Copyright 2005-2008 The Kuali Foundation
003 *
004 *
005 * Licensed under the Educational Community License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.opensource.org/licenses/ecl2.php
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.kuali.rice.kew.quicklinks.web;
018
019 import java.util.ArrayList;
020 import java.util.List;
021
022 import javax.servlet.http.HttpServletRequest;
023 import javax.servlet.http.HttpServletResponse;
024
025 import org.apache.struts.action.ActionForm;
026 import org.apache.struts.action.ActionForward;
027 import org.apache.struts.action.ActionMapping;
028 import org.kuali.rice.kew.quicklinks.service.QuickLinksService;
029 import org.kuali.rice.kew.service.KEWServiceLocator;
030 import org.kuali.rice.kew.web.KewKualiAction;
031 import org.kuali.rice.krad.UserSession;
032 import org.kuali.rice.krad.util.GlobalVariables;
033
034
035 /**
036 * A Struts Action for interfacing with the Quick Links system
037 *
038 * @author Kuali Rice Team (rice.collab@kuali.org)
039 */
040 public class QuickLinksAction extends KewKualiAction {
041
042 private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(QuickLinksAction.class);
043
044 @Override
045 public ActionForward execute(ActionMapping mapping, ActionForm form,
046 HttpServletRequest request, HttpServletResponse response)
047 throws Exception {
048 initForm(request, form);
049 return super.execute(mapping, form, request, response);
050 }
051
052 public void initForm(HttpServletRequest request, ActionForm form) throws Exception {
053 QuickLinksForm quickLinksForm = (QuickLinksForm)form;
054 String principalId = getUserSession().getPrincipalId();
055 LOG.debug("getting Action List Stats");
056 quickLinksForm.setActionListStats(getQuickLinksService().getActionListStats(principalId));
057 LOG.debug("finished getting Action List Stats");
058
059 LOG.debug("getting Initiated Document Types");
060 quickLinksForm.setInitiatedDocumentTypes(getQuickLinksService().getInitiatedDocumentTypesList(principalId));
061 LOG.debug("finished getting Initiated Document Types");
062
063 LOG.debug("getting Named Searches");
064 List namedSearches = new ArrayList();
065 namedSearches.addAll(getQuickLinksService().getNamedSearches(principalId));
066 quickLinksForm.setNamedSearches(namedSearches);
067 request.setAttribute("namedSearches",namedSearches);
068 LOG.debug("finished getting Named Searches");
069
070 LOG.debug("getting Recent Searches");
071 quickLinksForm.setRecentSearches(getQuickLinksService().getRecentSearches(principalId));
072 LOG.debug("finished getting Recent Searches");
073
074 LOG.debug("getting Watched Documents");
075 quickLinksForm.setWatchedDocuments(getQuickLinksService().getWatchedDocuments(principalId));
076 LOG.debug("finished getting Watched Documents");
077 }
078
079
080
081 private QuickLinksService getQuickLinksService() {
082 return ((QuickLinksService)KEWServiceLocator.getService(KEWServiceLocator.QUICK_LINKS_SERVICE));
083 }
084 private static UserSession getUserSession() {
085 return GlobalVariables.getUserSession();
086 }
087
088 }