r197 - in trunk: . src/main/java/org/nuiton/scmwebeditor/actions src/main/java/org/nuiton/scmwebeditor/urlResolver src/main/java/org/nuiton/scmwebeditor/urlResolver/impl
Author: kcardineaud Date: 2011-08-03 11:17:20 +0200 (Wed, 03 Aug 2011) New Revision: 197 Url: http://nuiton.org/repositories/revision/scmwebeditor/197 Log: Add url resolver Modified: trunk/pom.xml trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-08-01 16:07:34 UTC (rev 196) +++ trunk/pom.xml 2011-08-03 09:17:20 UTC (rev 197) @@ -194,6 +194,8 @@ <struts2jqueryVersion>3.1.0</struts2jqueryVersion> <strutsxworksVersion>2.2.3</strutsxworksVersion> <nuitonI18nVersion>2.4</nuitonI18nVersion> + + <!-- <scmwebeditorUrl>http://localhost:8080/scmwebeditor/checkout.action</scmwebeditorUrl> --> <i18n.bundles>fr_FR,en_GB</i18n.bundles> <i18n.silent>true</i18n.silent> @@ -205,6 +207,7 @@ <!-- extra files to include in release --> <redmine.releaseFiles>${redmine.libReleaseFiles}</redmine.releaseFiles> +<!-- <nuitonSkinVersion>1.0.6-SNAPSHOT</nuitonSkinVersion> --> </properties> @@ -222,11 +225,26 @@ </resource> </resources> + <pluginManagement> + <plugins> + <plugin> + <artifactId>maven-site-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.nuiton.jrst</groupId> + <artifactId>doxia-module-jrst</artifactId> + <version>1.4-SNAPSHOT</version> + </dependency> + </dependencies> + </plugin> + </plugins> + + </pluginManagement> + + <plugins> + - - - <plugin> <groupId>org.nuiton.i18n</groupId> @@ -283,16 +301,7 @@ </configuration> </plugin> - <plugin> - <artifactId>maven-site-plugin</artifactId> - <dependencies> - <dependency> - <groupId>org.nuiton.jrst</groupId> - <artifactId>doxia-module-jrst</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - </dependencies> - </plugin> + </plugins> </build> Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java =================================================================== --- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-01 16:07:34 UTC (rev 196) +++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-03 09:17:20 UTC (rev 197) @@ -134,41 +134,45 @@ HttpSession httpSession = request.getSession(true); -// Map<String, String> parameters = new HashMap<String, String>(); -// parameters.put("address", address); + Map<?,?> map =(Map<?,?>) request.getParameterMap(); + if(map.size()==0 && testParameters()) { + return "noParameter"; + } - request.getParameterMap(); - Map<String,String> parameters = new HashMap<String,String>(); - Map<?,?> map =(Map<?,?>) request.getParameterMap(); - 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()); - } - + if(testParameters()) { - URL urlSvn = null; - try { - urlSvn = ScmUrlResolverEngine.resolver(parameters); - } catch (IOException e1) { - log.error("erreur", e1); - return "noParameter"; - } catch (IllegalArgumentException e1) { - if(log.isErrorEnabled()) { - log.error(e1.getMessage()); + 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()); } + - return "noParameter"; + 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(); + } - - log.info(urlSvn.toString()); - - address=urlSvn.toString(); //SvnSession object creation if doesn't already exist SvnSession svnSess = getSvnSession(httpSession); Modified: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java =================================================================== --- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java 2011-08-01 16:07:34 UTC (rev 196) +++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java 2011-08-03 09:17:20 UTC (rev 197) @@ -12,7 +12,7 @@ public class ScmUrlResolverEngine { - public static final String PARAMETER_SCM_LAYOUT = "scm.layout"; + public static final String PARAMETER_SCM_LAYOUT = "scmlayout"; static final ThreadLocal<ScmUrlResolverEngine> engine = new ThreadLocal<ScmUrlResolverEngine>() { Modified: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java =================================================================== --- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java 2011-08-01 16:07:34 UTC (rev 196) +++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java 2011-08-03 09:17:20 UTC (rev 197) @@ -4,24 +4,54 @@ import java.net.URL; import java.util.Map; +import org.apache.commons.lang.StringUtils; import org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver; public class ScmUrlResolverMavenDocImpl implements ScmUrlResolver { + public static final String MAVEN_SITE_DOCUMENT_NAME = "maven-site-document"; + + public static final String PARAMETER_DEFAULT_LOCAL = "svndefaultLocale"; + public static final String PARAMETER_LOCAL = "svnlocale"; + public static final String PARAMETER_SVN_ROOT = "svnroot"; + public static final String PARAMETER_SVN_FILE = "svnfile"; + public static final String PARAMETER_FILE_FORMAT = "svnformat"; + + @Override public String getLayoutName() { - // TODO Auto-generated method stub - return null; + return MAVEN_SITE_DOCUMENT_NAME; } @Override public URL resolv(Map<String, String> parameters) throws IOException, IllegalArgumentException { - // TODO Auto-generated method stub + + String defaultLocale = parameters.get(PARAMETER_DEFAULT_LOCAL); + String locale = parameters.get(PARAMETER_LOCAL); + String svnRoot = parameters.get(PARAMETER_SVN_ROOT); + String svnFile = parameters.get(PARAMETER_SVN_FILE); + String svnFormat = parameters.get(PARAMETER_FILE_FORMAT); - //si local = defaultlocal > rien - //si local != defaultlocal > local + if ( StringUtils.isEmpty(defaultLocale) || StringUtils.isEmpty(locale) || StringUtils.isEmpty(svnRoot) + || StringUtils.isEmpty(svnFile) || StringUtils.isEmpty(svnFormat) ) { + throw new IllegalArgumentException( + "Layout " + MAVEN_SITE_DOCUMENT_NAME + " requires five parameters '" + + PARAMETER_DEFAULT_LOCAL + "', '"+PARAMETER_LOCAL+"' , '"+PARAMETER_SVN_ROOT+"' , '"+PARAMETER_SVN_FILE+"' , '"+PARAMETER_FILE_FORMAT+"'"); + } - return null; + String result = ""; + + if(locale.equals(defaultLocale)) { + result = svnRoot+"/src/site/"+svnFormat+"/"+svnFile; + } + else { + result = svnRoot+"/src/site/"+locale+"/"+svnFormat+"/"+svnFile; + } + + + + return new URL(result); + } } Modified: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java =================================================================== --- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java 2011-08-01 16:07:34 UTC (rev 196) +++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java 2011-08-03 09:17:20 UTC (rev 197) @@ -11,9 +11,8 @@ public static final String MAVEN_SITE_XML_NAME = "maven-site.xml"; - public static final String PARAMETER_LOCAL = "svn.locale"; - public static final String PARAMETER_DEFAULT_LOCAL = "svn.default.local"; - public static final String PARAMETER_SVN_ROOT = "svn.root"; + public static final String PARAMETER_LOCAL = "svnlocale"; + public static final String PARAMETER_SVN_ROOT = "svnroot"; @@ -25,18 +24,21 @@ @Override public URL resolv(Map<String, String> parameters) throws IOException, IllegalArgumentException { String local = parameters.get(PARAMETER_LOCAL); - String DefaultLocal = parameters.get(PARAMETER_DEFAULT_LOCAL); String svnRoot = parameters.get(PARAMETER_SVN_ROOT); - if (StringUtils.isEmpty(svnRoot) || StringUtils.isEmpty(local) || StringUtils.isEmpty(DefaultLocal) ) { + if (StringUtils.isEmpty(svnRoot) || StringUtils.isEmpty(local) ) { throw new IllegalArgumentException( "Layout " + MAVEN_SITE_XML_NAME + " requires three parameters '" + - PARAMETER_LOCAL + "', '"+PARAMETER_DEFAULT_LOCAL+"', '"+PARAMETER_SVN_ROOT+"'"); + PARAMETER_LOCAL + "', '"+PARAMETER_SVN_ROOT+"'"); } + String result = ""; + + result = svnRoot+"/src/site/site_"+local+".xml"; + - return new URL(svnRoot+"/src/site/site_fr.xml"); + return new URL(result); } }
participants (1)
-
kcardineaud@users.nuiton.org