r858 - in trunk/wikitty-publication: . src/main/java/org/nuiton/wikitty/publication src/main/resources src/main/webapp src/main/webapp/WEB-INF
Author: mfortun Date: 2011-05-05 11:55:52 +0200 (Thu, 05 May 2011) New Revision: 858 Url: http://nuiton.org/repositories/revision/wikitty/858 Log: * struts migration beginning Added: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionLogin.java trunk/wikitty-publication/src/main/webapp/WEB-INF/decorators.xml trunk/wikitty-publication/src/main/webapp/WEB-INF/sitemesh.xml trunk/wikitty-publication/src/main/webapp/index.jsp Modified: trunk/wikitty-publication/pom.xml trunk/wikitty-publication/src/main/resources/wikitty-publication.properties trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml Modified: trunk/wikitty-publication/pom.xml =================================================================== --- trunk/wikitty-publication/pom.xml 2011-05-04 15:13:33 UTC (rev 857) +++ trunk/wikitty-publication/pom.xml 2011-05-05 09:55:52 UTC (rev 858) @@ -71,11 +71,31 @@ <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> </dependency> + + <dependency> + <groupId>org.apache.struts</groupId> + <artifactId>struts2-core</artifactId> + <version>${struts2Version}</version> + </dependency> + <dependency> + <groupId>org.apache.struts</groupId> + <artifactId>struts2-sitemesh-plugin</artifactId> + <version>${struts2Version}</version> + <scope>runtime</scope> + </dependency> + + <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> </dependency> + <dependency> + <groupId>javassist</groupId> + <artifactId>javassist</artifactId> + <version>3.8.0.GA</version> + <scope>runtime</scope> + </dependency> </dependencies> <!-- ************************************************************* --> @@ -136,4 +156,7 @@ </build> + <properties> + <struts2Version>2.2.1.1</struts2Version> + </properties> </project> Added: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionLogin.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionLogin.java (rev 0) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionLogin.java 2011-05-05 09:55:52 UTC (rev 858) @@ -0,0 +1,122 @@ +package org.nuiton.wikitty.publication; + +import javax.servlet.http.Cookie; + +import org.nuiton.util.ApplicationConfig; +import org.nuiton.wikitty.WikittyProxy; +import org.nuiton.wikitty.entities.Wikitty; +import org.nuiton.wikitty.entities.WikittyUser; +import org.nuiton.wikitty.entities.WikittyUserHelper; +import org.nuiton.wikitty.search.Criteria; +import org.nuiton.wikitty.search.Search; + +/** + * Class for the login action. + * + * @author mfortun + * + */ +public class ActionLogin extends AbstractActionOnWikitty { + + static public String COOKIE_NAME = "wikittypublication"; + + static final protected String exampleUsage = ""; + + protected ApplicationConfig appConfig; + + public ActionLogin(ApplicationConfig appConfig) { + this.appConfig = appConfig; + } + + @Override + public Object doAction(WikittyPublicationContext context) { + + /* + * /login?login=moi&password=xxxx&succes=/eval/Wiki/WikiHello + + * + * /login?logout&succes=/eval/Wiki/WikiHello + */ + + String result = ""; + Wikitty w; + WikittyProxy proxy = context.getWikittyProxy(); + Cookie loginCookie = null; + + context.getRequest().getCookies(); + + + /* + *if logout option, remove our cookie. + */ + if (context.getArguments().containsKey("logout")) { + loginCookie = new Cookie(COOKIE_NAME, ""); + loginCookie.setMaxAge(0); + context.getResponse().addCookie(loginCookie); + } + + + + + if (context.getArguments().containsKey("login")) { + String login = context.getArguments().get("login"); + String password = context.getArguments().get("password"); + + String idUser = proxy.findIdByCriteria(this + .constructCriteriaOnUser(login)); + + result = login + idUser; + w = proxy.restore(idUser); + + boolean loginSucces = WikittyUserHelper.getPassword(w).equals(password); + + if (loginSucces){ + Cookie cook = new Cookie(COOKIE_NAME, "roger"); + // cook.setMaxAge(0) + + context.getResponse().addCookie(cook); + + } + + } + + + + + + + if (context.getArguments().containsKey("succes")) { + // faire un truc avec la chaine succes + } + + + /* + * verification de la présence d'un cookie si présence ok + * + * sinon proposer de loger sinon info de log on va créer cookie + * + * créer une session ? + */ + return result; + } + + @Override + protected String getExampleUsage() { + return exampleUsage; + + } + + protected Criteria constructCriteriaOnUser(String loginName) { + + Criteria criteriaOnLogin; + Search mainRequest = Search.query(); + + // wikitty user with the loginName + criteriaOnLogin = mainRequest.exteq(WikittyUser.EXT_WIKITTYUSER) + .eq(WikittyUser.FQ_FIELD_WIKITTYUSER_LOGIN, loginName) + .criteria(); + + return criteriaOnLogin; + } + +} Property changes on: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionLogin.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: trunk/wikitty-publication/src/main/resources/wikitty-publication.properties =================================================================== --- trunk/wikitty-publication/src/main/resources/wikitty-publication.properties 2011-05-04 15:13:33 UTC (rev 857) +++ trunk/wikitty-publication/src/main/resources/wikitty-publication.properties 2011-05-05 09:55:52 UTC (rev 858) @@ -27,3 +27,4 @@ wikitty.publication.action.eval=org.nuiton.wikitty.publication.ActionEval wikitty.publication.action.raw=org.nuiton.wikitty.publication.ActionRaw wikitty.publication.action.view=org.nuiton.wikitty.publication.ActionView +wikitty.publication.action.login=org.nuiton.wikitty.publication.ActionLogin Added: trunk/wikitty-publication/src/main/webapp/WEB-INF/decorators.xml =================================================================== --- trunk/wikitty-publication/src/main/webapp/WEB-INF/decorators.xml (rev 0) +++ trunk/wikitty-publication/src/main/webapp/WEB-INF/decorators.xml 2011-05-05 09:55:52 UTC (rev 858) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> + + + +<decorators defaultdir="/WEB-INF/decorators"> + <!-- Any urls that are excluded will never be decorated by Sitemesh --> + <excludes> + <pattern>/nodecorate/*</pattern> + <pattern>index.jsp</pattern> + </excludes> + + + +</decorators> Property changes on: trunk/wikitty-publication/src/main/webapp/WEB-INF/decorators.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: trunk/wikitty-publication/src/main/webapp/WEB-INF/sitemesh.xml =================================================================== --- trunk/wikitty-publication/src/main/webapp/WEB-INF/sitemesh.xml (rev 0) +++ trunk/wikitty-publication/src/main/webapp/WEB-INF/sitemesh.xml 2011-05-05 09:55:52 UTC (rev 858) @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8" ?> + + + +<sitemesh> + <property name="decorators-file" value="/WEB-INF/decorators.xml"/> + <excludes file="${decorators-file}"/> + + <page-parsers> + <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser"/> + </page-parsers> + + <decorator-mappers> + + <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper"> + <param name="property.1" value="meta.decorator"/> + <param name="property.2" value="decorator"/> + </mapper> + + <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper"> + </mapper> + + <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper"> + <param name="match.MSIE" value="ie"/> + <param name="match.Mozilla [" value="ns"/> + <param name="match.Opera" value="opera"/> + <param name="match.Lynx" value="lynx"/> + </mapper> + + <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper"> + <param name="decorator" value="printable"/> + <param name="parameter.name" value="printable"/> + <param name="parameter.value" value="true"/> + </mapper> + + <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper"> + <param name="decorator" value="robot"/> + </mapper> + + <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper"> + <param name="decorator.parameter" value="decorator"/> + <param name="parameter.name" value="confirm"/> + <param name="parameter.value" value="true"/> + </mapper> + + <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> + <param name="config" value="${decorators-file}"/> + </mapper> + + </decorator-mappers> + +</sitemesh> Property changes on: trunk/wikitty-publication/src/main/webapp/WEB-INF/sitemesh.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml =================================================================== --- trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml 2011-05-04 15:13:33 UTC (rev 857) +++ trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml 2011-05-05 09:55:52 UTC (rev 858) @@ -24,32 +24,60 @@ #L% --> -<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd"> +<web-app id="wikitty-publication" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd"> <!-- SERVLET --> <display-name>Wikitty Publication</display-name> - <servlet> - <servlet-class>org.nuiton.wikitty.publication.WikittyPublicationServlet</servlet-class> - <servlet-name>Controller</servlet-name> - </servlet> - <welcome-file-list> - <welcome-file>/</welcome-file> - </welcome-file-list> - <!-- SERVLET MAPPING --> - <servlet-mapping> - <servlet-name>Controller</servlet-name> - <url-pattern>/*</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>default</servlet-name> - <url-pattern>/css/*</url-pattern> - </servlet-mapping> - <jsp-config> - <jsp-property-group> - <description>JSP page location</description> - <display-name>jsp</display-name> - <url-pattern>/WEB-INF/jsp/*</url-pattern> - <include-prelude>/WEB-INF/jsp/header.jsp</include-prelude> - <include-coda>/WEB-INF/jsp/footer.jsp</include-coda> - </jsp-property-group> - </jsp-config> + + + <context-param> + <param-name>contextConfigLocation</param-name> + <param-value>classpath*:applicationContext*.xml</param-value> + </context-param> + + <!-- Filters --> + <filter> + <filter-name>action2-cleanup</filter-name> + <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> + </filter> + <filter> + <filter-name>sitemesh</filter-name> + <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> + </filter> + <filter> + <filter-name>struts2</filter-name> + <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> + </filter> + + <filter-mapping> + <filter-name>action2-cleanup</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + <filter-mapping> + <filter-name>sitemesh</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + <filter-mapping> + <filter-name>struts2</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + + <!-- Servlets --> + <servlet> + <servlet-name>jspSupportServlet</servlet-name> + <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class> + <load-on-startup>5</load-on-startup> + </servlet> + + <!-- Welcome file lists --> + <welcome-file-list> + <welcome-file>index.jsp</welcome-file> + </welcome-file-list> + + <jsp-config> + <jsp-property-group> + <url-pattern>*.jsp</url-pattern> + <trim-directive-whitespaces>true</trim-directive-whitespaces> + </jsp-property-group> + </jsp-config> </web-app> + \ No newline at end of file Added: trunk/wikitty-publication/src/main/webapp/index.jsp =================================================================== --- trunk/wikitty-publication/src/main/webapp/index.jsp (rev 0) +++ trunk/wikitty-publication/src/main/webapp/index.jsp 2011-05-05 09:55:52 UTC (rev 858) @@ -0,0 +1 @@ +<% out.println("hello !"); %> \ No newline at end of file Property changes on: trunk/wikitty-publication/src/main/webapp/index.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain
participants (1)
-
mfortun@users.nuiton.org