Author: sletellier Date: 2011-05-27 15:22:52 +0200 (Fri, 27 May 2011) New Revision: 66 Url: http://chorem.org/repositories/revision/vradi/66 Log: #379 Cr?\195?\169ation de la sauvegarde des requ?\195?\170tes jou?\195?\169s + combo pour afficher les anci?\195?\168nes Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/VradiWebConfig.java trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SearchAction.java trunk/vradi-web/src/main/java/org/chorem/vradi/actions/VradiBaseAction.java trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/VradiWebConfig.java =================================================================== --- trunk/vradi-web/src/main/java/org/chorem/vradi/VradiWebConfig.java 2011-05-27 13:16:34 UTC (rev 65) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/VradiWebConfig.java 2011-05-27 13:22:52 UTC (rev 66) @@ -7,6 +7,7 @@ import org.nuiton.util.Version; import org.nuiton.util.VersionUtil; import org.nuiton.wikitty.WikittyConfigOption; +import sun.security.jca.GetInstance; import java.util.Locale; @@ -82,6 +83,10 @@ return config; } + public static String getVradiVersion() { + return getConfig().getOption(VradiWebOption.VRADI_VERSION.getKey()); + } + /** Vradi option enum. */ public enum VradiWebOption implements ApplicationConfig.OptionDef { Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SearchAction.java =================================================================== --- trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SearchAction.java 2011-05-27 13:16:34 UTC (rev 65) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SearchAction.java 2011-05-27 13:22:52 UTC (rev 66) @@ -1,13 +1,17 @@ package org.chorem.vradi.actions; +import org.apache.commons.lang.StringUtils; import org.apache.struts2.interceptor.ServletRequestAware; import org.chorem.vradi.FormPaginatedList; import org.chorem.vradi.beans.FormPagedResult; import org.chorem.vradi.beans.QueryParameters; +import org.chorem.vradi.entities.VradiUser; import org.chorem.vradi.services.VradiException; import org.chorem.vradi.services.search.UnsupportedQueryException; import javax.servlet.http.HttpServletRequest; +import java.util.Collections; +import java.util.Set; /** * Search action @@ -21,6 +25,7 @@ protected String query; protected HttpServletRequest request; + protected Set<String> lastQueries; public String getQuery() { return query; @@ -30,6 +35,13 @@ this.query = query; } + public Set<String> getLastQueries() { + if (lastQueries == null || lastQueries.isEmpty()) { + lastQueries = Collections.EMPTY_SET; + } + return lastQueries; + } + @Override public void setServletRequest(HttpServletRequest request) { this.request = request; @@ -42,10 +54,13 @@ FormPaginatedList paginatedList = new FormPaginatedList(getProxy()); + // Retrive paginatedList and fill by request params paginatedList.fromRequest(request); + // Build search QueryParameters queryParameters = new QueryParameters(query); + // Do search try { FormPagedResult result = paginatedList.getResult(); FormPagedResult forms = getDataService().findForms(queryParameters, result); @@ -56,6 +71,17 @@ log.error("Unsuported query", eee); } + // Save request played + if (!StringUtils.isEmpty(query)) { + VradiUser user = getUser(); + user.addRequests(query); + user = getProxy().store(user); + setUser(user); + } + + // Retrieve last requests + this.lastQueries = getUser().getRequests(); + request.setAttribute(REQUEST_ATTRIBUTE_FORMS, paginatedList); return SUCCESS; Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/actions/VradiBaseAction.java =================================================================== --- trunk/vradi-web/src/main/java/org/chorem/vradi/actions/VradiBaseAction.java 2011-05-27 13:16:34 UTC (rev 65) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/actions/VradiBaseAction.java 2011-05-27 13:22:52 UTC (rev 66) @@ -10,6 +10,7 @@ import org.apache.struts2.interceptor.SessionAware; import org.chorem.vradi.VradiSession; import org.chorem.vradi.VradiWebConfig; +import org.chorem.vradi.entities.VradiUser; import org.chorem.vradi.services.VradiDataService; import org.nuiton.util.ApplicationConfig; import org.nuiton.wikitty.WikittyProxy; @@ -47,6 +48,14 @@ return result; } + public VradiUser getUser() { + return getVradiSession().getUser(); + } + + public void setUser(VradiUser user) { + getVradiSession().setUser(user); + } + public WikittyProxy getProxy() { WikittyProxy result = getVradiSession().getProxy(); return result; Modified: trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp =================================================================== --- trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp 2011-05-27 13:16:34 UTC (rev 65) +++ trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp 2011-05-27 13:22:52 UTC (rev 66) @@ -4,6 +4,7 @@ <%@page import="org.chorem.vradi.decorators.DateFormatColumnDecorator" %> <%@page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags"%> +<%@taglib prefix="sj" uri="/struts-jquery-tags"%> <%@taglib prefix="displaytag" uri="http://displaytag.sf.net"%> <html> @@ -14,8 +15,13 @@ <s:head /> </head> <body> + <s:select id="lastQueries" + list="lastQueries" + emptyOption="true" + onchange="$('#searchArea')[0].innerHTML = this.options[this.selectedIndex].value"/> + <s:form id="searchForm" action="search" method="post" theme="simple"> - <s:textarea id="searchArea" name="query"/><br/> + <s:textarea id="searchArea" name="query"/> <s:submit key="vradi.search.submit" name="submit"/> </s:form> <displaytag:table name="forms"