r113 - in trunk: . vradi-services/src/main/java/org/chorem/vradi/services vradi-web/src/main/java/org/chorem/vradi vradi-web/src/main/java/org/chorem/vradi/actions vradi-web/src/main/webapp/WEB-INF/jsp
Author: sletellier Date: 2011-07-01 10:11:30 +0200 (Fri, 01 Jul 2011) New Revision: 113 Url: http://chorem.org/repositories/revision/vradi/113 Log: - Do search after query selection - Keep selected query in session - Prefere use onSuccessTopic than onCompleteTopic Modified: trunk/pom.xml trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataService.java trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataServiceImpl.java trunk/vradi-web/src/main/java/org/chorem/vradi/VradiSession.java trunk/vradi-web/src/main/java/org/chorem/vradi/actions/FormGridAction.java trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SavedQueriesAction.java trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SearchAction.java trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SendInvitationAction.java trunk/vradi-web/src/main/java/org/chorem/vradi/actions/VradiBaseAction.java trunk/vradi-web/src/main/webapp/WEB-INF/jsp/formNote.jsp trunk/vradi-web/src/main/webapp/WEB-INF/jsp/savedQueries.jsp trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp trunk/vradi-web/src/main/webapp/WEB-INF/jsp/searchPanel.jsp Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/pom.xml 2011-07-01 08:11:30 UTC (rev 113) @@ -115,12 +115,12 @@ <nuitonWidgetVersion>1.1.1</nuitonWidgetVersion> <generatorPluginVersion>2.3.5</generatorPluginVersion> <wikittyVersion>3.1.3-SNAPSHOT</wikittyVersion> - <jrstVersion>1.3.1-SNAPSHOT</jrstVersion> + <jrstVersion>1.4-SNAPSHOT</jrstVersion> <oooVersion>3.2.1</oooVersion> <javamailVersion>1.4.3</javamailVersion> <slf4jVersion>1.6.1</slf4jVersion> <struts2Version>2.2.3</struts2Version> - <struts2jqueryVersion>3.0.2</struts2jqueryVersion> + <struts2jqueryVersion>3.1.0</struts2jqueryVersion> <servletApiVersion>2.5</servletApiVersion> <jspApiVersion>2.0</jspApiVersion> @@ -284,7 +284,7 @@ <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> - <version>0.8</version> + <version>0.9</version> </dependency> <dependency> Modified: trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataService.java =================================================================== --- trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataService.java 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataService.java 2011-07-01 08:11:30 UTC (rev 113) @@ -558,30 +558,30 @@ /** * Used to check if user have activate this query or not * - * @param user of query + * @param userId of query * @param queryName to check * @return true if request is active */ - boolean checkRequestIsActive(VradiUser user, String queryName); + boolean checkRequestIsActive(String userId, String queryName); /** * Activate or not query for user, if it's the first one, user and client will * be created to add request. It will be automaticly added to email binding. * - * @param user concerned + * @param userId concerned * @param queryName to switch * @param queryContent to switch * @return if is active */ - boolean switchUserQueryActivation(VradiUser user, String queryName, String queryContent); + boolean switchUserQueryActivation(String userId, String queryName, String queryContent); /** * Save query on vradi user * - * @param user concerned + * @param userId concerned * @param queryName name of query to save * @param query content - * @return user updated + * @return query saved */ - VradiUser saveQuery(VradiUser user, String queryName, String query); + Query saveQuery(String userId, String queryName, String query); } Modified: trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataServiceImpl.java =================================================================== --- trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataServiceImpl.java 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-services/src/main/java/org/chorem/vradi/services/VradiDataServiceImpl.java 2011-07-01 08:11:30 UTC (rev 113) @@ -757,20 +757,25 @@ return formTypeManager.getFormTypeTemplateName(extension); } + protected VradiUser getVradiUser(String userId) { + return wikittyProxy.restore(VradiUser.class, userId); + } + @Override - public boolean checkRequestIsActive(VradiUser user, String queryName) { - return clientManager.checkRequestIsActive(user, queryName); + public boolean checkRequestIsActive(String userId, String queryName) { + return clientManager.checkRequestIsActive(getVradiUser(userId), queryName); } @Override - public boolean switchUserQueryActivation(VradiUser user, String queryName, String queryContent) { - return clientManager.switchUserQueryActivation(user, queryName, queryContent); + public boolean switchUserQueryActivation(String userId, String queryName, String queryContent) { + return clientManager.switchUserQueryActivation(getVradiUser(userId), queryName, queryContent); } @Override - public VradiUser saveQuery(VradiUser user, String queryName, String content) { + public Query saveQuery(String userId, String queryName, String content) { - Set<String> queries = user.getQueries(); + VradiUser vradiUser = getVradiUser(userId); + Set<String> queries = vradiUser.getQueries(); Query query = null; @@ -788,10 +793,11 @@ } query.setContent(content); - user.addQueries(query.getWikittyId()); - wikittyProxy.store(query); + vradiUser.addQueries(query.getWikittyId()); + wikittyProxy.store(vradiUser); + query = wikittyProxy.store(query); - return wikittyProxy.store(user); + return query; } } Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/VradiSession.java =================================================================== --- trunk/vradi-web/src/main/java/org/chorem/vradi/VradiSession.java 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/VradiSession.java 2011-07-01 08:11:30 UTC (rev 113) @@ -29,6 +29,7 @@ protected String securityToken = null; protected VradiUser user = null; + protected String selectedRequestId = null; transient protected VradiProxy proxy = null; transient protected VradiDataService dataService; @@ -69,6 +70,7 @@ choremSession.getProxy().logout(); session.remove(VRADI_SESSION_KEY); user = null; + selectedRequestId = null; } static public VradiSession getVradiSession(HttpServletRequest request) { @@ -127,4 +129,12 @@ public void setUser(VradiUser user) { this.user = user; } + + public String getSelectedRequest() { + return selectedRequestId; + } + + public void setSelectedRequest(String selectedRequestId) { + this.selectedRequestId = selectedRequestId; + } } Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/actions/FormGridAction.java =================================================================== --- trunk/vradi-web/src/main/java/org/chorem/vradi/actions/FormGridAction.java 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/actions/FormGridAction.java 2011-07-01 08:11:30 UTC (rev 113) @@ -134,14 +134,7 @@ } public String getJSON() { - return execute(); - } - /** - * Initializes everything before displaying the home page - */ - public String execute() { - // Build search String query = getQuery(); QueryParameters queryParameters = new QueryParameters(query); Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SavedQueriesAction.java =================================================================== --- trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SavedQueriesAction.java 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SavedQueriesAction.java 2011-07-01 08:11:30 UTC (rev 113) @@ -2,7 +2,9 @@ import com.opensymphony.xwork2.ActionContext; import org.apache.struts2.interceptor.ServletRequestAware; +import org.chorem.vradi.VradiSession; import org.chorem.vradi.entities.Query; +import org.chorem.vradi.entities.VradiUser; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; @@ -30,6 +32,12 @@ this.request = request; } + public String getSelectedQuery() { + String selectedQuery = VradiSession.getVradiSession(request).getSelectedRequest(); + + return selectedQuery; + } + public List<Query> getLastQueries() { if (lastQueries == null || lastQueries.isEmpty()) { lastQueries = Collections.EMPTY_LIST; @@ -50,8 +58,12 @@ */ public String execute() { + // Update user to prevent wikitty obselete + VradiUser user = getProxy().restore(VradiUser.class, getUser().getWikittyId()); + setUser(user); + // Retrieve last requests - Set<String> queriesId = getUser().getQueries(); + Set<String> queriesId = user.getQueries(); if (queriesId != null) { this.lastQueries = getProxy().restore(Query.class, new ArrayList<String>(queriesId)); } 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-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SearchAction.java 2011-07-01 08:11:30 UTC (rev 113) @@ -3,6 +3,7 @@ import com.opensymphony.xwork2.ActionContext; import org.apache.commons.lang.StringUtils; import org.apache.struts2.interceptor.ServletRequestAware; +import org.chorem.vradi.VradiSession; import org.chorem.vradi.entities.Query; import org.chorem.vradi.entities.VradiUser; @@ -40,10 +41,12 @@ } public String getSelectedQuery() { + selectedQuery = VradiSession.getVradiSession(request).getSelectedRequest(); return selectedQuery; } public void setSelectedQuery(String selectedQuery) { + VradiSession.getVradiSession(request).setSelectedRequest(selectedQuery); this.selectedQuery = selectedQuery; } @@ -80,7 +83,13 @@ this.request = request; } + @Override + public String execute() throws Exception { + return refreshForm(); + } + public String refreshForm() { + String selectedQuery = getSelectedQuery(); if (!StringUtils.isEmpty(selectedQuery)) { Query query = getProxy().restore(Query.class, selectedQuery); @@ -90,7 +99,7 @@ VradiUser user = getUser(); // Check if request is active / inactive - this.queryActive = getVradiSession().getDataService().checkRequestIsActive(user, queryName); + this.queryActive = getVradiSession().getDataService().checkRequestIsActive(user.getWikittyId(), queryName); } else { setQuery(StringUtils.EMPTY); setQueryName(StringUtils.EMPTY); @@ -104,9 +113,8 @@ if (!StringUtils.isEmpty(queryName) && !StringUtils.isEmpty(query)) { VradiUser user = getUser(); - user = getVradiSession().getDataService().saveQuery(user, queryName, query); - - setUser(user); + Query queryUpdated = getVradiSession().getDataService().saveQuery(user.getWikittyId(), queryName, query); + setSelectedQuery(queryUpdated.getWikittyId()); } return SUCCESS; } @@ -119,7 +127,7 @@ // Activate or not query for user, if it's the first one, user and client will // be created to add request. It will be automaticly added to email binding. VradiUser user = getUser(); - queryActive = getVradiSession().getDataService().switchUserQueryActivation(user, queryName, query); + queryActive = getVradiSession().getDataService().switchUserQueryActivation(user.getWikittyId(), queryName, query); return SUCCESS; } Modified: trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SendInvitationAction.java =================================================================== --- trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SendInvitationAction.java 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/actions/SendInvitationAction.java 2011-07-01 08:11:30 UTC (rev 113) @@ -1,7 +1,6 @@ package org.chorem.vradi.actions; import com.opensymphony.xwork2.ActionContext; -import freemarker.template.utility.Collections12; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -14,7 +13,6 @@ import org.chorem.vradi.VradiWebHelper; import org.chorem.vradi.entities.FormNote; import org.chorem.vradi.entities.VradiUser; -import org.nuiton.util.CollectionUtil; import org.nuiton.wikitty.WikittyProxy; import org.nuiton.wikitty.search.Criteria; import org.nuiton.wikitty.search.PagedResult; @@ -182,7 +180,9 @@ log.error(String.format("Url forged for invitation is to long for some navigator '%s'", url)); } - EmailType.REQUEST.sendEmail(recipient, sender, message, url, sender.getInfo()); + if (EmailType.REQUEST.sendEmail(recipient, sender, message, url, sender.getInfo())) { + sendCount = recipient.size(); + } return result; } 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-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/java/org/chorem/vradi/actions/VradiBaseAction.java 2011-07-01 08:11:30 UTC (rev 113) @@ -39,6 +39,8 @@ * </pre> */ protected static final String CONTEXT_ACTION_KEY = "action"; + + protected static final String CONTEXT_SELECTED_QUERY_KEY = "selectedQuery"; public static final String UNTRANSLATED_MARKER = "???"; protected Map<String, Object> session; Modified: trunk/vradi-web/src/main/webapp/WEB-INF/jsp/formNote.jsp =================================================================== --- trunk/vradi-web/src/main/webapp/WEB-INF/jsp/formNote.jsp 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/webapp/WEB-INF/jsp/formNote.jsp 2011-07-01 08:11:30 UTC (rev 113) @@ -112,7 +112,7 @@ <sj:submit id="htmlSummaryEditSubmit" value="%{saveText}" targets="result" - onCompleteTopics="updateHtmlSummary" + onSuccessTopics="updateHtmlSummary" indicator="indicator-htmlSummary" button="true" buttonIcon="ui-icon-gear"/> </form> @@ -171,7 +171,7 @@ <s:file name="content" key="vradi.addfiles.content" required="true"/> <sj:submit id="addFilesSubmit" formIds="addFilesForm" value="%{saveText}" - targets="files" onCompleteTopics="" + targets="files" onSuccessTopics="" indicator="indicator-addFiles" button="true" buttonIcon="ui-icon-gear"/> </s:form> Modified: trunk/vradi-web/src/main/webapp/WEB-INF/jsp/savedQueries.jsp =================================================================== --- trunk/vradi-web/src/main/webapp/WEB-INF/jsp/savedQueries.jsp 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/webapp/WEB-INF/jsp/savedQueries.jsp 2011-07-01 08:11:30 UTC (rev 113) @@ -27,6 +27,7 @@ <sj:submit id="doUpdateFormSubmit" cssClass="hidden" listenTopics="doUpdateForm" + onSuccessTopics="updateGrid" targets="searchPanel" button="true"/> </form> \ No newline at end of file Modified: trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp =================================================================== --- trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/webapp/WEB-INF/jsp/search.jsp 2011-07-01 08:11:30 UTC (rev 113) @@ -41,7 +41,6 @@ } $('#searchArea')[0].value += finalName.trim(); }); - </script> </head> <body> @@ -82,10 +81,13 @@ <sj:div id="searchPanel" href="/fragment/searchPanel.action" listenTopics="updateForm" + onSuccessTopics="updateGrid" indicator="indicator-searchPanel"> <img id="indicator-searchPanel" src="/img/indicator.gif" alt="Loading..." style="display:none"/> </sj:div> - <sj:div id="resultPanel" href="/fragment/search.action" indicator="indicator-grid"> + <sj:div id="resultPanel" + href="/fragment/search.action" + indicator="indicator-grid"> <img id="indicator-grid" src="/img/indicator.gif" alt="Loading..." style="display:none"/> </sj:div> </div> Modified: trunk/vradi-web/src/main/webapp/WEB-INF/jsp/searchPanel.jsp =================================================================== --- trunk/vradi-web/src/main/webapp/WEB-INF/jsp/searchPanel.jsp 2011-06-30 14:22:30 UTC (rev 112) +++ trunk/vradi-web/src/main/webapp/WEB-INF/jsp/searchPanel.jsp 2011-07-01 08:11:30 UTC (rev 113) @@ -43,7 +43,7 @@ href="%{saveQueryUrl}" value="%{saveQueryText}" targets="empty" - onCompleteTopics="updateQueries" + onSuccessTopics="updateQueries" button="true"/> <s:url id="switchQueryUrl" value="/fragment/switchQueryActivation.action"/> @@ -61,7 +61,7 @@ href="%{switchQueryUrl}" value="%{queryActiveText}" targets="empty" - onCompleteTopics="doUpdateForm" + onSuccessTopics="doUpdateForm" button="true"/> <s:set id="searchText"> @@ -72,6 +72,7 @@ value="%{searchText}" indicator="indicator-grid" targets="resultPanel" + listenTopics="updateGrid" button="true"/> </div>
participants (1)
-
sletellier@users.chorem.org