r245 - in trunk/src/main: java/org/nuiton/scmwebeditor java/org/nuiton/scmwebeditor/actions resources webapp/WEB-INF/content webapp/img
Author: kcardineaud Date: 2011-08-25 16:53:10 +0200 (Thu, 25 Aug 2011) New Revision: 245 Url: http://nuiton.org/repositories/revision/scmwebeditor/245 Log: #1695 Make application multi-language Added: trunk/src/main/webapp/img/flag-i18n-fr.png trunk/src/main/webapp/img/flag-i18n-uk.png Modified: trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfigOption.java trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java trunk/src/main/resources/struts.xml trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp trunk/src/main/webapp/WEB-INF/content/outConnection.jsp trunk/src/main/webapp/WEB-INF/content/uploadForm.jsp Modified: trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java =================================================================== --- trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java 2011-08-25 13:46:34 UTC (rev 244) +++ trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java 2011-08-25 14:53:10 UTC (rev 245) @@ -62,7 +62,7 @@ } public static List<String> getEditableFiles(ApplicationConfig config) { - return config.getOptionAsList(ScmWebEditorConfigOption.EDITABLESFILES.key).getOption(); + return config.getOptionAsList(ScmWebEditorConfigOption.EDITABLESFILES.getKey()).getOption(); } public static String getKey() { @@ -70,7 +70,7 @@ } public static String getKey(ApplicationConfig config) { - return config.getOption(ScmWebEditorConfigOption.COOKIES_PRIVATE_KEY.key); + return config.getOption(ScmWebEditorConfigOption.COOKIES_PRIVATE_KEY.getKey()); } Modified: trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfigOption.java =================================================================== --- trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfigOption.java 2011-08-25 13:46:34 UTC (rev 244) +++ trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfigOption.java 2011-08-25 14:53:10 UTC (rev 245) @@ -34,12 +34,12 @@ COOKIES_PRIVATE_KEY("cookiePrivateKey", "Private key for cookies" , null , String.class, true, true); - public final String key; - public final String description; - public String defaultValue; - public final Class<?> type; - public boolean _transient; - public boolean _final; + private final String key; + private final String description; + private String defaultValue; + private final Class<?> type; + private boolean _transient; + private boolean _final; ScmWebEditorConfigOption(String key, String description, String defaultValue, Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java =================================================================== --- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-25 13:46:34 UTC (rev 244) +++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-25 14:53:10 UTC (rev 245) @@ -25,12 +25,7 @@ package org.nuiton.scmwebeditor.actions; import java.io.IOException; -import java.net.URL; -import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; -import java.util.Map; -import java.util.Map.Entry; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; @@ -46,7 +41,6 @@ import org.nuiton.scmwebeditor.ScmWebEditorBaseAction; import org.nuiton.scmwebeditor.ScmWebEditorConfig; import org.nuiton.scmwebeditor.SvnConnection; -import org.nuiton.scmwebeditor.urlResolver.ScmUrlResolverEngine; import org.tmatesoft.svn.core.SVNAuthenticationException; import org.tmatesoft.svn.core.SVNException; @@ -96,7 +90,6 @@ protected boolean fromLoginPage; - public String getRepositoryId() { return repositoryId; } @@ -218,45 +211,45 @@ - Map<?,?> map =(Map<?,?>) request.getParameterMap(); +// Map<?,?> map =(Map<?,?>) request.getParameterMap(); - if(map.size()==0 && testParameters()) { + if(testParameters()) { return "noParameter"; } - if(testParameters()) { +// if(testParameters()) { +// +// Map<String,String> parameters = new HashMap<String,String>(); +// +// Iterator<?> iter = map.entrySet().iterator(); +// while (iter.hasNext()) { +// Entry<?,?> n = (Entry<?,?>)iter.next(); +// String key = n.getKey().toString(); +// String values[] = (String[]) n.getValue(); +// parameters.put(key,values[0].toString()); +// } +// +// +// URL urlSvn = null; +// try { +// urlSvn = ScmUrlResolverEngine.resolver(parameters); +// } catch (IOException e1) { +// if(log.isErrorEnabled()) { +// log.error("erreur", e1); +// } +// return "errorPath"; +// } catch (IllegalArgumentException e1) { +// if(log.isErrorEnabled()) { +// log.error(e1.getMessage()); +// } +// return "errorPath"; +// } +// +// address=urlSvn.toString(); +// +// } - Map<String,String> parameters = new HashMap<String,String>(); - - Iterator<?> iter = map.entrySet().iterator(); - while (iter.hasNext()) { - Entry<?,?> n = (Entry<?,?>)iter.next(); - String key = n.getKey().toString(); - String values[] = (String[]) n.getValue(); - parameters.put(key,values[0].toString()); - } - - - URL urlSvn = null; - try { - urlSvn = ScmUrlResolverEngine.resolver(parameters); - } catch (IOException e1) { - if(log.isErrorEnabled()) { - log.error("erreur", e1); - } - return "errorPath"; - } catch (IllegalArgumentException e1) { - if(log.isErrorEnabled()) { - log.error(e1.getMessage()); - } - return "errorPath"; - } - - address=urlSvn.toString(); - - } - SvnConnection svnConn = null; @@ -476,5 +469,8 @@ } + + + } Modified: trunk/src/main/resources/struts.xml =================================================================== --- trunk/src/main/resources/struts.xml 2011-08-25 13:46:34 UTC (rev 244) +++ trunk/src/main/resources/struts.xml 2011-08-25 14:53:10 UTC (rev 245) @@ -35,12 +35,41 @@ type="com.opensymphony.xwork2.TextProvider" /> <constant name="struts.xworkTextProvider" value="i18nTextProvider" /> + + + + <package name="action" extends="struts-default"> + + <result-types> <result-type name="json" class="org.apache.struts2.json.JSONResult"/> </result-types> + <interceptors> + + <!-- to remove parameter from context --> + <interceptor name="paramRemover" + class="com.opensymphony.xwork2.interceptor.ParameterRemoverInterceptor"/> + + + <!-- basic stack --> + <interceptor-stack name="scmwebeditorDefaultStack"> + <interceptor-ref name="defaultStack"/> + <!-- remove the request_locale parameter from request --> + <interceptor-ref name="paramRemover"> + <param name="paramNames">request_locale</param> + </interceptor-ref> + + </interceptor-stack> + </interceptors> + + + <default-interceptor-ref name="scmwebeditorDefaultStack"/> + <action name="checkout" class="org.nuiton.scmwebeditor.actions.ScmWebEditorMainAction" method="execute"> + + <result name="noParameter" >/WEB-INF/content/outConnection.jsp</result> <result name="login" >/WEB-INF/content/privateSvnRedirect.jsp</result> <result name="errorPath" >/WEB-INF/content/badFileRedirect.jsp</result> Modified: trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp =================================================================== --- trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-08-25 13:46:34 UTC (rev 244) +++ trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-08-25 14:53:10 UTC (rev 245) @@ -348,7 +348,7 @@ <div id="form"> - + <s:set id="scm.commitMessage"> <s:text name="scm.commitMessage"/> </s:set> Modified: trunk/src/main/webapp/WEB-INF/content/outConnection.jsp =================================================================== --- trunk/src/main/webapp/WEB-INF/content/outConnection.jsp 2011-08-25 13:46:34 UTC (rev 244) +++ trunk/src/main/webapp/WEB-INF/content/outConnection.jsp 2011-08-25 14:53:10 UTC (rev 245) @@ -52,6 +52,35 @@ </h4> </div> + +<ul> + <li> + <s:if test="%{#session['WW_TRANS_I18N_LOCALE'] != null && #session['WW_TRANS_I18N_LOCALE'].language == 'en'}"> + <img src="img/flag-i18n-uk.png" /> + </s:if> + <s:else> + <s:a action="checkout.action" namespace="/"> + <s:param name="request_locale">en_GB</s:param> + <img src="img/flag-i18n-uk.png" /> + </s:a> + </s:else> + </li> + <li> + <s:if + test="%{#session['WW_TRANS_I18N_LOCALE'] == null || #session['WW_TRANS_I18N_LOCALE'].language == 'fr'}"> + <img src="img/flag-i18n-fr.png" /> + </s:if> + <s:else> + <s:a action="checkout.action" namespace="/"> + <s:param name="request_locale">fr_FR</s:param> + <img src="img/flag-i18n-fr.png" /> + </s:a> + </s:else> + </li> + + </ul> + + <form id="configForm" method="get" action="checkout.action"> <center> <p><label><s:text name="scm.outConnection.scmPath"/> <input TYPE=text name="address" SIZE=50></label> Modified: trunk/src/main/webapp/WEB-INF/content/uploadForm.jsp =================================================================== --- trunk/src/main/webapp/WEB-INF/content/uploadForm.jsp 2011-08-25 13:46:34 UTC (rev 244) +++ trunk/src/main/webapp/WEB-INF/content/uploadForm.jsp 2011-08-25 14:53:10 UTC (rev 245) @@ -54,15 +54,12 @@ }); </script> - <s:set id="scm.upload"> - <s:text name="scm.upload"/> - </s:set> - + <form method="POST" id="uploadForm" action="doUpload.action" enctype="multipart/form-data"> - <center><h1><s:text name="%{scm.upload}" ></s:text></h1></center> + <center><h1><s:text name="scm.upload" ></s:text></h1></center> <label><s:text name="scm.uploadFile" /> : <input type="file" name="upload"/></label><br/> <label><s:text name="scm.uploadPath" /> : <s:textfield size="50px" type="text" name="svnPath" id="svnPath" value="%{fileRoot}" /></label><br/> Added: trunk/src/main/webapp/img/flag-i18n-fr.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/webapp/img/flag-i18n-fr.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/src/main/webapp/img/flag-i18n-uk.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/webapp/img/flag-i18n-uk.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream
participants (1)
-
kcardineaud@users.nuiton.org