Author: mfortun Date: 2011-08-10 14:24:11 +0200 (Wed, 10 Aug 2011) New Revision: 1117 Url: http://nuiton.org/repositories/revision/wikitty/1117 Log: *context handling for login/register action Added: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp Removed: trunk/wikitty-publication/src/main/webapp/login.jsp trunk/wikitty-publication/src/main/webapp/register.jsp Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java trunk/wikitty-publication/src/main/resources/struts.xml trunk/wikitty-publication/src/main/webapp/index.jsp Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-10 12:24:11 UTC (rev 1117) @@ -24,8 +24,12 @@ protected String securityToken = null; transient protected WikittyUser user; transient protected WikittyPublicationProxy proxy = null; + transient protected String context; + + public WikittyPublicationSession(String context) { + this.context=context; proxy = WikittyPublicationProxy.getInstance(null, context); } @@ -68,7 +72,6 @@ } public void login(String context ,String login, String password) { - WikittyPublicationProxy proxy = getProxy(context); proxy.login(login, password); securityToken = proxy.getSecurityToken(); @@ -93,4 +96,13 @@ this.user = user; } + public String getContext() { + return context; + } + + public void setContext(String context) { + this.context = context; + } + + } Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java 2011-08-10 12:24:11 UTC (rev 1117) @@ -26,7 +26,9 @@ import org.nuiton.util.StringUtil; +import com.opensymphony.xwork2.ActionContext; + /** * Class used as an action login, call the login method on the proxy with * login/password pass threw the login form @@ -42,8 +44,12 @@ protected String error; protected String success; - static public String DEFAULT_ERROR = "login.jsp"; - static public String DEFAULT_SUCCESS = "index.jsp"; + + static public PublicationActionLogin getAction() { + return (PublicationActionLogin) ActionContext.getContext().get( + CONTEXT_ACTION_KEY); + } + public String getLogin() { return login; @@ -82,7 +88,7 @@ * this class */ public String execute() { - String result = ERROR; + String result = INPUT; if (login != null) { login = login.trim(); Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java 2011-08-10 12:24:11 UTC (rev 1117) @@ -19,16 +19,11 @@ protected String login; protected String password; protected String repeatPassword; - protected String context; - - public String getContext() { - return context; - } - public void setContext(String context) { - this.context = context; - } + + + public String getLogin() { return login; } @@ -73,7 +68,7 @@ */ public String execute() { String result = INPUT; - context=getContextArgs(); + try { if (login != null) { login = login.trim(); @@ -116,7 +111,7 @@ // TODO mfortun-2011-05-13 really handle exception e.printStackTrace(); } - - return INPUT; + + return result; } } Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java 2011-08-10 12:24:11 UTC (rev 1117) @@ -112,6 +112,8 @@ List<String> argsString = new ArrayList<String>(); String args = ActionContext.getContext().getParameters().get(ARGS_KEY) .toString(); + + String[] argsTab = StringUtil.split(args, SEPARATOR); for (String arg : argsTab) { Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java 2011-08-10 12:24:11 UTC (rev 1117) @@ -40,8 +40,20 @@ protected Map<String, Object> session; + protected String context; + + public String getContext() { + return context; + } + + public void setContext(String context) { + this.context = context; + } + + + public WikittyPublicationSession getWikittyPublicationSession() { WikittyPublicationSession result = WikittyPublicationSession .getWikittyPublicationSession(session, getContextArgs()); @@ -64,7 +76,7 @@ * nom du critere doit etre convenablement positionné avec la chaine qui a * permit la recherche * - * @param context + * @param contextvar * @return */ protected Criteria searchCriteria(List<String> subContext) { Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-10 12:24:11 UTC (rev 1117) @@ -72,10 +72,10 @@ // If the user isn't logged in if (user == null) { ServletActionContext.getResponse().sendRedirect(redirect); + } else { result = invocation.invoke(); } - result = invocation.invoke(); return result; } Modified: trunk/wikitty-publication/src/main/resources/struts.xml =================================================================== --- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-10 12:24:11 UTC (rev 1117) @@ -61,13 +61,13 @@ <action name="*/register_*" method="{2}" class="org.nuiton.wikitty.publication.action.PublicationActionRegister"> <param name="context">{1}</param> - <result name="input">/register.jsp</result> + <result name="input">/WEB-INF/jsp/register.jsp</result> <result type="redirect">${context}/view/.action</result> </action> - <action name="*/login_*" method="{1}" + <action name="*/login_*" method="{2}" class="org.nuiton.wikitty.publication.action.PublicationActionLogin"> - <param name="context">{2}</param> - <result name="input">login.jsp</result> + <param name="context">{1}</param> + <result name="input">/WEB-INF/jsp/login.jsp</result> <result name="success" type="redirect">${success}</result> <result name="error" type="redirect">${error}</result> </action> Copied: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp (from rev 1111, trunk/wikitty-publication/src/main/webapp/login.jsp) =================================================================== --- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp (rev 0) +++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp 2011-08-10 12:24:11 UTC (rev 1117) @@ -0,0 +1,48 @@ +<%@page + import="org.nuiton.wikitty.publication.action.PublicationActionLogin"%> + +<%@ taglib prefix="s" uri="/struts-tags"%> + +<% + String successValue = request.getParameter("success"); + String errorValue = request.getParameter("error"); + + + + + if (successValue == null || successValue == "") { + successValue = PublicationActionLogin.getAction().getContext()+"/view/.action"; + } + + //TODO mfortun-2011-05-13 find how to have default value configured by struts + if (errorValue == null || errorValue == "") { + errorValue = "login_input.action" + "?success=" + + request.getParameter("success"); + } +%> + + <s:url var="urlLogin" action="login" namespace="/%{context}" /> +<s:form action="%{urlLogin}"> + <p> + <s:set id="publication.login.login"> + <s:text name="publication.login.login" /> + </s:set> + <s:set id="publication.login.password"> + <s:text name="publication.login.password" /> + </s:set> + <s:set id="publication.login.submit"> + <s:text name="publication.login.submit" /> + </s:set> + + <input type="hidden" name="success" value="<%=successValue%>" /> <input + type="hidden" name="error" value="<%=errorValue%>" /> + <s:textfield key="login" name="login" labelposition="top" + labelSeparator=" :" label="%{publication.login.login}" /> + <br /> <br /> + <s:password key="password" name="password" labelposition="top" + labelSeparator=" :" label="%{publication.login.password}" /> + <br /> <br /> + <s:submit key="publication.login.submit" name="submit" + value="%{publication.login.submit}" /> + </p> +</s:form> \ No newline at end of file Copied: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp (from rev 1111, trunk/wikitty-publication/src/main/webapp/register.jsp) =================================================================== --- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp (rev 0) +++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp 2011-08-10 12:24:11 UTC (rev 1117) @@ -0,0 +1,44 @@ + +<%@taglib prefix="s" uri="/struts-tags"%> +<div id="content"> + <div id="formFrame" class="fond"> + <h1> + <s:text name="Register" /> + </h1> + <s:url var="urlRegister" action="register" namespace="/%{context}" /> + + <s:form action="%{urlRegister}"> + <s:actionerror /> + <p> + <s:set id="publication.login.login"> + <s:text name="publication.login.login" /> + </s:set> + <s:set id="publication.login.password"> + <s:text name="publication.login.password" /> + </s:set> + <s:set id="publication.login.repeatPassword"> + <s:text name="publication.login.repeatPassword" /> + </s:set> + <s:set id="publication.register.submit"> + <s:text name="publication.register.submit" /> + </s:set> + + <s:textfield key="publication.login.login" name="login" + label="%{publication.login.login}" labelposition="top" + labelSeparator=" :" /> + <s:password key="publication.login.password" name="password" + label="%{publication.login.password}" labelposition="top" + labelSeparator=" :" /> + <s:password key="publication.login.repeatPassword" + label="%{publication.login.repeatPassword}" name="repeatPassword" + labelposition="top" labelSeparator=" :" /> + <s:submit key="publication.register.submit" name="submit" + value="%{publication.register.submit}" /> + </p> + </s:form> + <s:a action="login_input" id="loginLink"> + <s:text name="login" /> + </s:a> + </div> + +</div> \ No newline at end of file Modified: trunk/wikitty-publication/src/main/webapp/index.jsp =================================================================== --- trunk/wikitty-publication/src/main/webapp/index.jsp 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/webapp/index.jsp 2011-08-10 12:24:11 UTC (rev 1117) @@ -1,14 +1,8 @@ - - -<%@page - import="org.nuiton.wikitty.publication.WikittyPublicationSession"%> <%@ taglib prefix="s" uri="/struts-tags"%> <% out.println("hello !"); - WikittyPublicationSession wpSession = WikittyPublicationSession - .getWikittyPublicationSession(session); %> <s:url var="urlviewpage" action="wiki/view/" /> @@ -24,18 +18,5 @@ -<!-- - <s:url var="regenPermToken" action="regenPermToken"/> - <s:a href="%{regenPermToken}" id="regenPermToken"> - <s:text name="bow.preferences.regenPermToken"/> - </s:a> -(17:06:03) blabla@conference.im.codelutin.com/sletellier: - <s:url var="homeToken" action="home"> - <s:param name="token"><s:property value="%{#session.BowSession.getPermanentToken()}" /></s:param> - </s:url> - - --> - - Deleted: trunk/wikitty-publication/src/main/webapp/login.jsp =================================================================== --- trunk/wikitty-publication/src/main/webapp/login.jsp 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/webapp/login.jsp 2011-08-10 12:24:11 UTC (rev 1117) @@ -1,49 +0,0 @@ - - - -<%@page - import="org.nuiton.wikitty.publication.action.PublicationActionLogin"%> -<%@page - import="org.nuiton.wikitty.publication.WikittyPublicationSession"%> -<%@ taglib prefix="s" uri="/struts-tags"%> - -<% - String successValue = request.getParameter("success"); - String errorValue = request.getParameter("error"); - - if (successValue == null || successValue == "") { - successValue = PublicationActionLogin.DEFAULT_SUCCESS; - } - - //TODO mfortun-2011-05-13 find how to have default value configured by struts - if (errorValue == null || errorValue == "") { - errorValue = "login_input.action" + "?success=" - + request.getParameter("success"); - } -%> - - -<s:form action="login"> - <p> - <s:set id="publication.login.login"> - <s:text name="publication.login.login" /> - </s:set> - <s:set id="publication.login.password"> - <s:text name="publication.login.password" /> - </s:set> - <s:set id="publication.login.submit"> - <s:text name="publication.login.submit" /> - </s:set> - - <input type="hidden" name="success" value="<%=successValue%>" /> <input - type="hidden" name="error" value="<%=errorValue%>" /> - <s:textfield key="login" name="login" labelposition="top" - labelSeparator=" :" label="%{publication.login.login}" /> - <br /> <br /> - <s:password key="password" name="password" labelposition="top" - labelSeparator=" :" label="%{publication.login.password}" /> - <br /> <br /> - <s:submit key="publication.login.submit" name="submit" - value="%{publication.login.submit}" /> - </p> -</s:form> \ No newline at end of file Deleted: trunk/wikitty-publication/src/main/webapp/register.jsp =================================================================== --- trunk/wikitty-publication/src/main/webapp/register.jsp 2011-08-09 15:51:42 UTC (rev 1116) +++ trunk/wikitty-publication/src/main/webapp/register.jsp 2011-08-10 12:24:11 UTC (rev 1117) @@ -1,42 +0,0 @@ - -<%@taglib prefix="s" uri="/struts-tags"%> -<div id="content"> - <div id="formFrame" class="fond"> - <h1> - <s:text name="Register" /> - </h1> - <s:form action="register"> - <s:actionerror /> - <p> - <s:set id="publication.login.login"> - <s:text name="publication.login.login" /> - </s:set> - <s:set id="publication.login.password"> - <s:text name="publication.login.password" /> - </s:set> - <s:set id="publication.login.repeatPassword"> - <s:text name="publication.login.repeatPassword" /> - </s:set> - <s:set id="publication.register.submit"> - <s:text name="publication.register.submit" /> - </s:set> - - <s:textfield key="publication.login.login" name="login" - label="%{publication.login.login}" labelposition="top" - labelSeparator=" :" /> - <s:password key="publication.login.password" name="password" - label="%{publication.login.password}" labelposition="top" - labelSeparator=" :" /> - <s:password key="publication.login.repeatPassword" - label="%{publication.login.repeatPassword}" name="repeatPassword" - labelposition="top" labelSeparator=" :" /> - <s:submit key="publication.register.submit" name="submit" - value="%{publication.register.submit}" /> - </p> - </s:form> - <s:a action="login_input" id="loginLink"> - <s:text name="login" /> - </s:a> - </div> - -</div> \ No newline at end of file