Scmwebeditor-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- 439 discussions
r199 - in trunk/src: main/java/org/nuiton/scmwebeditor main/java/org/nuiton/scmwebeditor/actions main/webapp/WEB-INF/content main/webapp/js test/java/org/nuiton/scmwebeditor
by kcardineaud@users.nuiton.org 03 Aug '11
by kcardineaud@users.nuiton.org 03 Aug '11
03 Aug '11
Author: kcardineaud
Date: 2011-08-03 17:54:19 +0200 (Wed, 03 Aug 2011)
New Revision: 199
Url: http://nuiton.org/repositories/revision/scmwebeditor/199
Log:
Remove all informations stock in session
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ResetAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java
trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
trunk/src/main/webapp/WEB-INF/content/save.jsp
trunk/src/main/webapp/js/cancelRedirect.js
trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java 2011-08-03 15:54:19 UTC (rev 199)
@@ -225,17 +225,6 @@
}
- protected String getRedirectUrl(SvnSession svnSess) {
- StringBuilder buffer = new StringBuilder();
- buffer.append(svnSess.getScmEditorUrl());
- buffer.append('?').append(PARAMETER_ADDRESS).append('=').append(svnSess.getSvnPath()+svnSess.getFileName());
-
-
- String url = buffer.toString();
- return url;
- }
-
-
protected String getMimeType(File file) throws IOException, SAXException, TikaException {
InputStream is = new FileInputStream(file);
String result = null;
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java 2011-08-03 15:54:19 UTC (rev 199)
@@ -43,10 +43,6 @@
private static final Log log = LogFactory.getLog(SvnSession.class);
/**
- * Url of scm editor
- */
- protected StringBuffer scmEditorUrl;
- /**
* svn path without fileName
*/
protected String svnPath;
@@ -55,18 +51,6 @@
*/
protected String fileName;
/**
- * Projectname
- */
- protected String projectUrl;
- /**
- * user's login
- */
- protected String login;
- /**
- * user's password
- */
- protected String password;
- /**
* Temp directory for checkout
*/
protected File checkoutdir;
@@ -88,15 +72,14 @@
protected SVNClientManager manager;
- public SvnSession(
- String svnPath,
- String fileName,
- String projectUrl,
- StringBuffer scmEditorUrl) {
- this.scmEditorUrl = scmEditorUrl;
- this.svnPath = svnPath;
- this.fileName = fileName;
- this.projectUrl = projectUrl;
+ public SvnSession (
+ String address) throws StringIndexOutOfBoundsException {
+
+ this.svnPath = address.substring(0,address.lastIndexOf("/"));
+
+ this.fileName = address.substring(address.lastIndexOf("/")+1);
+
+
try {
this.remoteUrl = SVNURL.parseURIEncoded(svnPath);
} catch (SVNException e) {
@@ -109,9 +92,7 @@
}
public void updateAuthentication(String login, String password) {
- setLogin(login);
- setPassword(password);
- setAuthManager(SVNWCUtil.createDefaultAuthenticationManager(getLogin(), getPassword()));
+ setAuthManager(SVNWCUtil.createDefaultAuthenticationManager(login, password));
setManager(SVNClientManager.newInstance(getSvnOption(), getAuthManager()));
}
@@ -143,14 +124,6 @@
this.fileName = fileName;
}
- public String getLogin() {
- return login;
- }
-
- public void setLogin(String login) {
- this.login = login;
- }
-
public SVNClientManager getManager() {
return manager;
}
@@ -159,22 +132,6 @@
this.manager = manager;
}
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public String getProjectUrl() {
- return projectUrl;
- }
-
- public void setProjectUrl(String projectUrl) {
- this.projectUrl = projectUrl;
- }
-
public SVNURL getRemoteUrl() {
return remoteUrl;
}
@@ -199,13 +156,6 @@
this.svnPath = svnPath;
}
- public StringBuffer getScmEditorUrl() {
- return scmEditorUrl;
- }
- public void setScmEditorUrl(StringBuffer scmEditorUrl) {
- this.scmEditorUrl = scmEditorUrl;
- }
-
}
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ResetAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ResetAction.java 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ResetAction.java 2011-08-03 15:54:19 UTC (rev 199)
@@ -2,12 +2,8 @@
import java.io.ByteArrayOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.struts2.interceptor.ServletRequestAware;
import org.nuiton.scmwebeditor.ScmWebEditorBaseAction;
import org.nuiton.scmwebeditor.SvnSession;
import org.tmatesoft.svn.core.SVNException;
@@ -20,39 +16,59 @@
import com.opensymphony.xwork2.Action;
-public class ResetAction extends ScmWebEditorBaseAction implements ServletRequestAware {
+public class ResetAction extends ScmWebEditorBaseAction {
private static final long serialVersionUID = -1154924826535371319L;
private static final Log log = LogFactory.getLog(ResetAction.class);
- protected HttpServletRequest request;
+ protected String lastRevision;
- protected String lastRevision;
+ protected String address;
+
+ protected String username;
+
+ protected String pw;
public String getLastRevision() {
return lastRevision;
}
+ public void setAddress(String address) {
+ this.address = address;
+ }
+ public void setUsername(String username) {
+ this.username = username;
+ }
+ public void setPw(String pw) {
+ this.pw = pw;
+ }
+
+
public String execute() {
- HttpSession httpSession = request.getSession(true);
+
+ SvnSession svnSess = null;
- SvnSession svnSess = getSvnSession(httpSession);
+ try {
+ svnSess = new SvnSession(address);
+ } catch (StringIndexOutOfBoundsException e) {
+ if(log.isErrorEnabled()) {
+ log.error("Can't reach the svn repository");
+ }
+ return "errorPath";
+ }
-
- String login = svnSess.getLogin();
- String pw = svnSess.getPassword();
String url = svnSess.getSvnPath();
String file = svnSess.getFileName();
//Si le login ou le mot de passe ne sont pas renseignes, on tente de se connecter en anonyme
- if(login==null && pw==null) {
- login = "anonymous";
+ if(username==null && pw==null) {
+ username = "anonymous";
pw = "anonymous";
}
@@ -60,7 +76,7 @@
try {
repository = SVNRepositoryFactory.create( SVNURL.parseURIEncoded( url ) );
- ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager( login , pw );
+ ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager( username , pw );
repository.setAuthenticationManager( authManager );
SVNNodeKind nodeKind = repository.checkPath( file , -1 );
@@ -90,8 +106,8 @@
catch (SVNException e) {
if(log.isErrorEnabled()) {
log.error("Can't reach the svn repository");
- return "errorPath";
}
+ return "errorPath";
}
if(log.isInfoEnabled()) {
@@ -102,13 +118,6 @@
}
-
-
-
- @Override
- public void setServletRequest(HttpServletRequest request) {
- this.request = request;
- }
}
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-08-03 15:54:19 UTC (rev 199)
@@ -42,6 +42,7 @@
protected String address;
protected String lastText;
protected String fileType;
+ protected String projectUrl;
protected HttpServletRequest request;
@@ -109,7 +110,18 @@
public void setLastText(String lastText) {
this.lastText = lastText;
}
+
+ public String getProjectUrl() {
+ return projectUrl;
+ }
+
+ public void setProjectUrl(String projectUrl) {
+ this.projectUrl = projectUrl;
+ }
+
+
+
protected boolean testRstParsing(String newText) {
try {
JRST.generate(JRST.TYPE_HTML, newText);
@@ -140,13 +152,22 @@
HttpSession httpSession = request.getSession(true);
- SvnSession svnSess = getSvnSession(httpSession);
+ SvnSession svnSess = null;
-// Resetting authentification information and manager
- svnSess.updateAuthentication(
- svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : username,
- svnSess.getPassword() != null && !svnSess.getPassword().equalsIgnoreCase("") ? svnSess.getPassword() : pw);
+
+ log.info("ADDRESS : "+address);
+ try {
+ svnSess = new SvnSession(address);
+ } catch (StringIndexOutOfBoundsException e) {
+ if(log.isDebugEnabled()) {
+ log.debug("Parameter is not valid ",e);
+ }
+ return "error";
+ }
+
+ svnSess.updateAuthentication( username, pw);
+
File checkoutdir = null;
try {
checkoutdir = FileUtil.createTempDirectory("scm_", "");
@@ -191,15 +212,8 @@
request.setAttribute("lastText", lastText);
request.setAttribute(ATTRIBUTE_ORIG_TEXT, StringEscapeUtils.escapeHtml(originalText));
request.setAttribute(ATTRIBUTE_INVALIDATE_MAX_TIME, (httpSession.getMaxInactiveInterval() / 60));
- request.setAttribute(ATTRIBUTE_LOGIN, (svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : null));
- request.setAttribute(ATTRIBUTE_IS_LOGIN, (svnSess.getLogin() != null && svnSess.getPassword() != null && !svnSess.getLogin().equalsIgnoreCase("") && !svnSess.getPassword().equalsIgnoreCase("")));
- request.setAttribute(ATTRIBUTE_PROJECT_URL, svnSess.getProjectUrl());
- request.setAttribute(PARAMETER_SCM_EDITOR_URL, svnSess.getScmEditorUrl());
- if (log.isDebugEnabled()) {
- log.debug("l'url est : " + svnSess.getScmEditorUrl());
- }
request.setAttribute(ATTRIBUTE_SCM_EDITOR_URI, request.getRequestURI());
- request.setAttribute(ATTRIBUTE_PREVIEW_SERVLET_URL, request.getContextPath() + "/previewservlet");
+
// End on first part
@@ -208,7 +222,7 @@
* après avoir supprimé le repertoire temporaire
*/
delTempDirectory(checkoutdir);
- request.setAttribute(PARAMETER_SCM_EDITOR_URL, svnSess.getProjectUrl());
+
return "error";
} catch (IOException e) {
log.error("Can't find the checkout file",e);
@@ -248,17 +262,12 @@
if(log.isErrorEnabled()) {
log.error("AUTH FAIL");
}
- svnSess.setLogin(null);
- svnSess.setPassword(null);
+
// if authentication failed edition page is reload form user's relogin
request.setAttribute("address", address);
request.setAttribute(ATTRIBUTE_ORIG_TEXT, StringEscapeUtils.escapeHtml(newText));
request.setAttribute(ATTRIBUTE_INVALIDATE_MAX_TIME, (httpSession.getMaxInactiveInterval() / 60));
- request.setAttribute(ATTRIBUTE_LOGIN, (svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : null));
- request.setAttribute(ATTRIBUTE_IS_LOGIN, false);
- request.setAttribute(ATTRIBUTE_PROJECT_URL, svnSess.getProjectUrl());
- request.setAttribute(PARAMETER_SCM_EDITOR_URL, svnSess.getScmEditorUrl());
request.setAttribute(ATTRIBUTE_SCM_EDITOR_URI, request.getRequestURI());
request.setAttribute(ATTRIBUTE_PREVIEW_SERVLET_URL, request.getContextPath() + "/previewservlet");
@@ -272,7 +281,6 @@
}
//Suppression du repertoire temporaire
delTempDirectory(checkoutdir);
- request.setAttribute(ATTRIBUTE_REDIRECT_URL, getRedirectUrl(svnSess));
return "error";
}
@@ -281,8 +289,6 @@
//Suppression du repertoire temporaire
delTempDirectory(checkoutdir);
}
- //if commit success user is redirect on the project page
- request.setAttribute(ATTRIBUTE_REDIRECTION_URL, svnSess.getProjectUrl());
if(log.isDebugEnabled()) {
log.debug("End of commit");
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-03 15:54:19 UTC (rev 199)
@@ -79,7 +79,16 @@
this.address = address;
}
-
+ public String getFormat() {
+ return format;
+ }
+
+
+ public void setFormat(String format) {
+ this.format = format;
+ }
+
+
public String getProjectUrl() {
return projectUrl;
}
@@ -177,38 +186,24 @@
//SvnSession object creation if doesn't already exist
SvnSession svnSess = getSvnSession(httpSession);
- String relativePath;
- String scmFileName;
- try {
- relativePath = address.substring(0,address.lastIndexOf("/"));
- scmFileName = address.substring(address.lastIndexOf("/")+1);
+
+
+ try {
+ svnSess = new SvnSession(address);
}
catch (StringIndexOutOfBoundsException e) {
if(log.isDebugEnabled()) {
log.debug("Parameter is not valid ",e);
}
- return "errorPath";
+ return "errorPath";
}
- format = scmFileName.substring(scmFileName.lastIndexOf(".")+1);
+ format = svnSess.getFileName().substring(svnSess.getFileName().lastIndexOf(".")+1);
-
+ String originalText = "";
- svnSess = new SvnSession(
- relativePath,
- scmFileName,
- projectUrl,
- request.getRequestURL());
-
-
- setSvnSession(httpSession, svnSess);
-
-
- String originalText ="";
-
-
String login = this.getUsername();
String pw = this.getPw();
String url = svnSess.getSvnPath();
@@ -218,10 +213,7 @@
login = "anonymous";
pw = "anonymous";
}
- else {
- svnSess.setLogin(login);
- svnSess.setPassword(pw);
- }
+
SVNRepository repository = null;
@@ -366,18 +358,10 @@
- request.setAttribute(PARAMETER_FORMAT, format);
request.setAttribute(ATTRIBUTE_ORIG_TEXT, StringEscapeUtils.escapeHtml(originalText));
request.setAttribute(ATTRIBUTE_INVALIDATE_MAX_TIME, (httpSession.getMaxInactiveInterval() / 60));
- request.setAttribute(ATTRIBUTE_LOGIN, (svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : null));
- request.setAttribute(ATTRIBUTE_IS_LOGIN, (svnSess.getLogin() != null && svnSess.getPassword() != null && !svnSess.getLogin().equalsIgnoreCase("") && !svnSess.getPassword().equalsIgnoreCase("")));
- request.setAttribute(ATTRIBUTE_PROJECT_URL, svnSess.getProjectUrl());
- request.setAttribute(PARAMETER_SCM_EDITOR_URL, svnSess.getScmEditorUrl());
- if (log.isDebugEnabled()) {
- log.debug("l'url est : " + svnSess.getScmEditorUrl());
- }
+ request.setAttribute(ATTRIBUTE_PROJECT_URL, projectUrl);
request.setAttribute(ATTRIBUTE_SCM_EDITOR_URI, request.getRequestURI());
- request.setAttribute(ATTRIBUTE_PREVIEW_SERVLET_URL, request.getContextPath() + "/previewservlet");
if(log.isInfoEnabled()) {
log.info("IP client : "+request.getRemoteAddr() + " , get file : "+address+ ". File's mimetype : "+mimeType);
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java 2011-08-03 15:54:19 UTC (rev 199)
@@ -106,10 +106,7 @@
SvnSession svnSess = getSvnSession(httpSession);
-// Resetting authentification information and manager
- svnSess.updateAuthentication(username,pw);
-
-
+
/*
* Checkout process
*/
Modified: trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-08-03 15:54:19 UTC (rev 199)
@@ -62,7 +62,7 @@
</center>
- <form method="post" action=commit.action id="editForm">
+ <form method="POST" action=commit.action id="editForm">
<%
if (request.getAttribute("format")!=null && request.getAttribute("format").equals("rst")){
%>
@@ -80,7 +80,6 @@
} else {
valueTextarea = (String) request.getAttribute("OrigText");
}
-
%>
@@ -148,15 +147,13 @@
<s:textfield required="true" label="%{scm.commitMessage}" name="commitMessage" title="%{scm.commitMessageTitle}" />
- <%if (request.getAttribute("IsLogin").equals(false) == true){
- %>
- <%if (request.getAttribute("badLogin")!=null && request.getAttribute("badLogin").equals(true)) { %>
+ <%if (request.getAttribute("badLogin")!=null && request.getAttribute("badLogin").equals(true)) { %>
<p>
<font color="red">
Bad username or password
</font>
</p>
- <% } %>
+ <% } %>
<p>
@@ -177,12 +174,7 @@
<s:password accesskey="P" size="12" label="%{scm.password}" name="pw" title="%{scm.passwordTitle}" />
</div>
- <%
- } else {
- %><p><s:text name="scm.logAs"/> <%=request.getAttribute("Login")%></p>
- <input type="hidden" NAME=username />
- <input type="hidden" NAME=pw /><%
- }%>
+
<input type="hidden" name="address" value="<%=request.getAttribute("address")%>"/>
<input type="hidden" id="origText" name="origText" value="<%=request.getAttribute("OrigText")%>"/>
<% if(request.getAttribute("lastText")!=null) { %>
@@ -247,15 +239,17 @@
</s:set>
<s:set id="scm.resetTitle">
<s:text name="scm.resetTitle"/>
- </s:set>
- <sj:submit
+ </s:set>
+ <sj:submit
title="%{scm.resetTitle}"
+ formIds="editForm"
id="resetButton"
targets="resetResult"
value="%{scm.reset}"
button="true"
href="reset.action"
- />
+ >
+ </sj:submit>
<div id="resetResult"></div>
Modified: trunk/src/main/webapp/WEB-INF/content/save.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/save.jsp 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/webapp/WEB-INF/content/save.jsp 2011-08-03 15:54:19 UTC (rev 199)
@@ -3,7 +3,7 @@
- <s:if test="result=='authError'" >
+ <s:if test="result=='login'" >
<h4> <font color="red"> Bad username or password, can't save modification</font> </h4>
</s:if>
<s:elseif test="result=='error'" >
Modified: trunk/src/main/webapp/js/cancelRedirect.js
===================================================================
--- trunk/src/main/webapp/js/cancelRedirect.js 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/main/webapp/js/cancelRedirect.js 2011-08-03 15:54:19 UTC (rev 199)
@@ -6,8 +6,8 @@
function cancelRedirect(text, url)
{
if (confirm(text)){
- document.location.href(url.value);
- return false;
+ document.location.href=url.value;
+ return false;
}
else {return false};
}
\ No newline at end of file
Modified: trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java
===================================================================
--- trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java 2011-08-03 10:23:29 UTC (rev 198)
+++ trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java 2011-08-03 15:54:19 UTC (rev 199)
@@ -97,7 +97,6 @@
SvnSession svnSess = new SvnSession(
tgtURL.toString(),
"testFile",
- null,
null);
checkoutdirTest = FileUtil.createTempDirectory("scmCheckOutTest_", "");
1
0
r198 - in trunk/src/main: java/org/nuiton/scmwebeditor/urlResolver/impl webapp/WEB-INF/content webapp/js
by kcardineaud@users.nuiton.org 03 Aug '11
by kcardineaud@users.nuiton.org 03 Aug '11
03 Aug '11
Author: kcardineaud
Date: 2011-08-03 12:23:29 +0200 (Wed, 03 Aug 2011)
New Revision: 198
Url: http://nuiton.org/repositories/revision/scmwebeditor/198
Log:
Fix an issue with redirection and change some constantes names
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java
trunk/src/main/webapp/WEB-INF/content/badFileRedirect.jsp
trunk/src/main/webapp/WEB-INF/content/badUseRedirect.jsp
trunk/src/main/webapp/WEB-INF/content/error.jsp
trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
trunk/src/main/webapp/WEB-INF/content/privateSvnRedirect.jsp
trunk/src/main/webapp/WEB-INF/content/recall.jsp
trunk/src/main/webapp/WEB-INF/content/redirect.jsp
trunk/src/main/webapp/js/cancelRedirect.js
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-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java 2011-08-03 10:23:29 UTC (rev 198)
@@ -11,8 +11,8 @@
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_DEFAULT_LOCALE = "svndefaultLocale";
+ public static final String PARAMETER_LOCALE = "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";
@@ -26,8 +26,8 @@
@Override
public URL resolv(Map<String, String> parameters) throws IOException, IllegalArgumentException {
- String defaultLocale = parameters.get(PARAMETER_DEFAULT_LOCAL);
- String locale = parameters.get(PARAMETER_LOCAL);
+ String defaultLocale = parameters.get(PARAMETER_DEFAULT_LOCALE);
+ String locale = parameters.get(PARAMETER_LOCALE);
String svnRoot = parameters.get(PARAMETER_SVN_ROOT);
String svnFile = parameters.get(PARAMETER_SVN_FILE);
String svnFormat = parameters.get(PARAMETER_FILE_FORMAT);
@@ -36,7 +36,7 @@
|| 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+"'");
+ PARAMETER_DEFAULT_LOCALE + "', '"+PARAMETER_LOCALE+"' , '"+PARAMETER_SVN_ROOT+"' , '"+PARAMETER_SVN_FILE+"' , '"+PARAMETER_FILE_FORMAT+"'");
}
String 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-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java 2011-08-03 10:23:29 UTC (rev 198)
@@ -11,7 +11,7 @@
public static final String MAVEN_SITE_XML_NAME = "maven-site.xml";
- public static final String PARAMETER_LOCAL = "svnlocale";
+ public static final String PARAMETER_LOCALE = "svnlocale";
public static final String PARAMETER_SVN_ROOT = "svnroot";
@@ -23,13 +23,13 @@
@Override
public URL resolv(Map<String, String> parameters) throws IOException, IllegalArgumentException {
- String local = parameters.get(PARAMETER_LOCAL);
+ String local = parameters.get(PARAMETER_LOCALE);
String svnRoot = parameters.get(PARAMETER_SVN_ROOT);
if (StringUtils.isEmpty(svnRoot) || StringUtils.isEmpty(local) ) {
throw new IllegalArgumentException(
"Layout " + MAVEN_SITE_XML_NAME + " requires three parameters '" +
- PARAMETER_LOCAL + "', '"+PARAMETER_SVN_ROOT+"'");
+ PARAMETER_LOCALE + "', '"+PARAMETER_SVN_ROOT+"'");
}
String result = "";
Modified: trunk/src/main/webapp/WEB-INF/content/badFileRedirect.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/badFileRedirect.jsp 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/content/badFileRedirect.jsp 2011-08-03 10:23:29 UTC (rev 198)
@@ -11,12 +11,22 @@
<title>Error...</title>
<link rel="icon" href="img/ScmWebEditor_little.png" type="image/png">
<link rel="stylesheet" type="text/css" href="css/main.css">
+<% if(request.getAttribute("projectUrl")!=null) { %>
<meta http-equiv="Refresh" content="3; url=<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+<meta http-equiv="Refresh" content="3;URL=checkout.action">
+<% } %>
+
</head>
<body>
<a target="_blank" href="http://maven-site.nuiton.org/scmwebeditor/"><img src="img/ScmWebEditor_main.png" alt="$alt" /></a>
<p><s:text name="scm.badPathOrFileName" /></p>
-<p><s:text name="scm.formTransferred" /> <a href="<%=request.getAttribute("projectUrl")%>">
+<p><s:text name="scm.formTransferred" />
+<% if(request.getAttribute("projectUrl")!=null) { %>
+ <a href="<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+ <a href="checkout.action">
+<% } %>
<s:text name="scm.clickHere" /></a>.</p>
<p>©2004-2009 CodeLutin</p>
</body>
Modified: trunk/src/main/webapp/WEB-INF/content/badUseRedirect.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/badUseRedirect.jsp 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/content/badUseRedirect.jsp 2011-08-03 10:23:29 UTC (rev 198)
@@ -10,15 +10,23 @@
<title>Error...</title>
<link rel="icon" href="img/ScmWebEditor_little.png" type="image/png">
<link rel="stylesheet" type="text/css" href="css/main.css">
-<meta http-equiv="Refresh" content="3; url=
-<%=request.getAttribute("scmEditorUrl")%>">
+<% if(request.getAttribute("projectUrl")!=null) { %>
+<meta http-equiv="Refresh" content="3; url=<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+<meta http-equiv="Refresh" content="3;URL=checkout.action">
+<% } %>
</head>
<body>
<a target="_blank" href="http://maven-site.nuiton.org/scmwebeditor/"><img src="img/ScmWebEditor_main.png" alt="$alt" /></a>
<p>Bad Use of ScmWebEditor! Please try again.</p>
<p>You should be transferred automatically to the previous page. If not
-please <a href="<%=request.getAttribute("scmEditorUrl")%>">click
-this link</a>.</p>
+please
+<% if(request.getAttribute("projectUrl")!=null) { %>
+ <a href="<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+ <a href="checkout.action">
+<% } %>
+click this link</a>.</p>
<p>©2004-2009 CodeLutin</p>
</body>
</html>
Modified: trunk/src/main/webapp/WEB-INF/content/error.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/error.jsp 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/content/error.jsp 2011-08-03 10:23:29 UTC (rev 198)
@@ -10,9 +10,11 @@
<title>Error</title>
<link rel="icon" href="img/ScmWebEditor_little.png" type="image/png">
<link rel="stylesheet" type="text/css" href="css/main.css">
-<meta http-equiv="Refresh" content="2;
- url="
-<%=request.getAttribute("Redirect_url")%>">
+<% if(request.getAttribute("projectUrl")!=null) { %>
+<meta http-equiv="Refresh" content="3; url=<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+<meta http-equiv="Refresh" content="3;URL=checkout.action">
+<% } %>
<%--%=request.getAttribute("scmEditorUrl")%>?adresse=<%=request.getAttribute("Svnpath_url")%>&file_name=<%=request.getAttribute("Filename_url")%>&project_url=<%=request.getAttribute("Redirection_url")%>&lang=<%=request.getAttribute("Lang")%>&format=<%=request.getAttribute("Format")%>"--%>
</head>
<body>
Modified: trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-08-03 10:23:29 UTC (rev 198)
@@ -57,7 +57,7 @@
String typeEditor="null";
if (request.getAttribute("format")!=null && request.getAttribute("format").equals("rst")) {
%>
- <h4><s:text name="scm.info.ProblemWithRst"/> <a href="http://docutils.sourceforge.net/docs/user/rst/quickref.html"><s:text name="scm.info.rstWebsite"/></a>.</h4>
+ <h4><s:text name="scm.info.ProblemWithRst"/> <a href="http://docutils.sourceforge.net/docs/user/rst/quickref.html"><s:text name="scm.info.rstWebsite"/></a>.</h4>
<% } %>
</center>
@@ -160,21 +160,21 @@
<p>
- <s:set id="scm.username">
- <s:text name="scm.username"/>
- </s:set>
- <s:set id="scm.usernameTitle">
+ <s:set id="scm.username">
+ <s:text name="scm.username"/>
+ </s:set>
+ <s:set id="scm.usernameTitle">
<s:text name="scm.usernameTitle"/>
</s:set>
- <s:set id="scm.password">
- <s:text name="scm.password"/>
- </s:set>
- <s:set id="scm.passwordTitle">
+ <s:set id="scm.password">
+ <s:text name="scm.password"/>
+ </s:set>
+ <s:set id="scm.passwordTitle">
<s:text name="scm.passwordTitle"/>
</s:set>
<div id="loginDiv">
- <s:textfield accesskey="U" size="12" label="%{scm.username}" name="username" title="%{scm.usernameTitle}" />
- <s:password accesskey="P" size="12" label="%{scm.password}" name="pw" title="%{scm.passwordTitle}" />
+ <s:textfield accesskey="U" size="12" label="%{scm.username}" name="username" title="%{scm.usernameTitle}" />
+ <s:password accesskey="P" size="12" label="%{scm.password}" name="pw" title="%{scm.passwordTitle}" />
</div>
<%
@@ -259,7 +259,11 @@
<div id="resetResult"></div>
- <input type="hidden" value="<%=request.getAttribute("ProjectUrl")%>" name="ProjectUrl">
+ <% if(request.getAttribute("projectUrl")!=null) { %>
+ <input type="hidden" name="ProjectUrl" value="<%=request.getAttribute("projectUrl")%>" />
+ <% } else { %>
+ <input type="hidden" name="ProjectUrl" value="checkout.action" />
+ <% } %>
<s:set id="scm.exit">
<s:text name="scm.exit"/>
@@ -299,14 +303,14 @@
<!--
<div id="uploadFormId" >
- <s:form method="POST" id="uploadForm" action="uploadFile" enctype="multipart/form-data">
+ <s:form method="POST" id="uploadForm" action="uploadFile" enctype="multipart/form-data">
-
- <label>Upload a picture : <input type="file" name="upload"/></label><br/>
- <label>Path on svn : <input type="text" name="svnPath" /></label><br/>
+
+ <label>Upload a picture : <input type="file" name="upload"/></label><br/>
+ <label>Path on svn : <input type="text" name="svnPath" /></label><br/>
<label>username : <input type="text" name="username" /></label><br/>
<label>password : <input type="password" name="pw" /></label><br/>
-
+
<sj:submit
id="ajaxUploadButton"
targets="targetContentUpload"
@@ -315,7 +319,7 @@
>
</sj:submit>
- </s:form>
+ </s:form>
</div>
-->
Modified: trunk/src/main/webapp/WEB-INF/content/privateSvnRedirect.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/privateSvnRedirect.jsp 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/content/privateSvnRedirect.jsp 2011-08-03 10:23:29 UTC (rev 198)
@@ -16,7 +16,13 @@
<a target="_blank" href="http://maven-site.nuiton.org/scmwebeditor/"><img src="img/ScmWebEditor_main.png" alt="$alt" /></a>
<form method="post" action="checkout.action" >
<input type="hidden" name="address" value="<%=request.getAttribute("address")%>"/>
-<input type="hidden" name="projectUrl" value="<%=request.getAttribute("projectUrl")%>"/>
+
+<% if(request.getAttribute("projectUrl")!=null) { %>
+<input type="hidden" name="ProjectUrl" value="<%=request.getAttribute("projectUrl")%>"/>
+<% } else { %>
+<input type="hidden" name="ProjectUrl" value="checkout.action"/>
+<% } %>
+
<script src="cancelRedirect.js"></script>
<p><s:text name="scm.privateScmAccess" /></p>
<p><label ACCESSKEY=U><s:text name="scm.username" /> : <input TYPE=text
Modified: trunk/src/main/webapp/WEB-INF/content/recall.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/recall.jsp 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/content/recall.jsp 2011-08-03 10:23:29 UTC (rev 198)
@@ -8,7 +8,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="scm.redirection" /></title>
-<meta http-equiv="Refresh" content="0; url=
-<%=request.getAttribute("Redirect_url")%>">
+<% if(request.getAttribute("projectUrl")!=null) { %>
+<meta http-equiv="Refresh" content="3; url=<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+<meta http-equiv="Refresh" content="3;URL=checkout.action">
+<% } %>
+
</head>
</html>
Modified: trunk/src/main/webapp/WEB-INF/content/redirect.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/redirect.jsp 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/content/redirect.jsp 2011-08-03 10:23:29 UTC (rev 198)
@@ -10,13 +10,22 @@
<title><s:text name="scm.redirection" /></title>
<link rel="icon" href="img/ScmWebEditor_little.png" type="image/png">
<link rel="stylesheet" type="text/css" href="css/main.css">
-<meta http-equiv="Refresh" content="2; url=
-<%=request.getAttribute("Redirection_url")%>">
+<% if(request.getAttribute("projectUrl")!=null) { %>
+<meta http-equiv="Refresh" content="3; url=<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+<meta http-equiv="Refresh" content="3;URL=checkout.action">
+<% } %>
</head>
<body>
<a target="_blank" href="http://maven-site.nuiton.org/scmwebeditor/"><img src="img/ScmWebEditor_main.png" alt="$alt" /></a>
<p><s:text name="scm.thankUsing" /></p>
-<p><s:text name="scm.beTransferred" /> <a href="<%=request.getAttribute("Redirection_url")%>"><s:text name="scm.clickHere" /></a>.</p>
+<p><s:text name="scm.beTransferred" />
+<% if(request.getAttribute("projectUrl")!=null) { %>
+ <a href="<%=request.getAttribute("projectUrl")%>">
+<% } else { %>
+ <a href="checkout.action">
+<% } %>
+<s:text name="scm.clickHere" /></a>.</p>
<p>©2004-2009 CodeLutin</p>
</body>
</html>
Modified: trunk/src/main/webapp/js/cancelRedirect.js
===================================================================
--- trunk/src/main/webapp/js/cancelRedirect.js 2011-08-03 09:17:20 UTC (rev 197)
+++ trunk/src/main/webapp/js/cancelRedirect.js 2011-08-03 10:23:29 UTC (rev 198)
@@ -6,7 +6,7 @@
function cancelRedirect(text, url)
{
if (confirm(text)){
- window.location.replace(url.value);
+ document.location.href(url.value);
return false;
}
else {return false};
1
0
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
by kcardineaud@users.nuiton.org 03 Aug '11
by kcardineaud@users.nuiton.org 03 Aug '11
03 Aug '11
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);
}
}
1
0
r196 - in trunk/src: main/java/org/nuiton/scmwebeditor main/java/org/nuiton/scmwebeditor/actions main/java/org/nuiton/scmwebeditor/urlResolver main/java/org/nuiton/scmwebeditor/urlResolver/impl main/resources main/resources/META-INF main/resources/META-INF/services main/webapp/WEB-INF/content test/java test/java/org test/java/org/nuiton test/java/org/nuiton/scmwebeditor
by kcardineaud@users.nuiton.org 01 Aug '11
by kcardineaud@users.nuiton.org 01 Aug '11
01 Aug '11
Author: kcardineaud
Date: 2011-08-01 18:07:34 +0200 (Mon, 01 Aug 2011)
New Revision: 196
Url: http://nuiton.org/repositories/revision/scmwebeditor/196
Log:
Begin to add url resolver for maven site
Added:
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolver.java
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverDefaultImpl.java
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java
trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java
trunk/src/main/resources/META-INF/
trunk/src/main/resources/META-INF/services/
trunk/src/main/resources/META-INF/services/org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver
trunk/src/test/java/org/
trunk/src/test/java/org/nuiton/
trunk/src/test/java/org/nuiton/scmwebeditor/
trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/SearchAction.java
trunk/src/main/webapp/WEB-INF/content/outConnection.jsp
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-01 08:10:25 UTC (rev 195)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -2,6 +2,11 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Properties;
@@ -15,6 +20,7 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.nuiton.scmwebeditor.ScmWebEditorBaseAction;
import org.nuiton.scmwebeditor.SvnSession;
+import org.nuiton.scmwebeditor.urlResolver.ScmUrlResolverEngine;
import org.tmatesoft.svn.core.SVNAuthenticationException;
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNNodeKind;
@@ -116,9 +122,9 @@
/* Si il n'y a pas de parametre, l'utilisateur est renvoyé
* vers la page de configuration (OutConnection)
*/
- if(testParameters()) {
- return "noParameter";
- }
+// if(testParameters()) {
+// return "noParameter";
+// }
if(log.isDebugEnabled()) {
log.debug("ProjectUrl= "+request.getHeader("referer"));
@@ -128,7 +134,42 @@
HttpSession httpSession = request.getSession(true);
+// Map<String, String> parameters = new HashMap<String, String>();
+// parameters.put("address", address);
+
+
+ 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());
+ }
+
+
+ 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());
+ }
+ return "noParameter";
+ }
+
+
+ log.info(urlSvn.toString());
+
+ address=urlSvn.toString();
+
//SvnSession object creation if doesn't already exist
SvnSession svnSess = getSvnSession(httpSession);
@@ -347,8 +388,8 @@
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
-
}
+
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/SearchAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/SearchAction.java 2011-08-01 08:10:25 UTC (rev 195)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/SearchAction.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -145,9 +145,8 @@
- files = new LinkedList<String>();
- directories = new HashMap<String,String>();
+
if(address.endsWith("/")) {
@@ -282,6 +281,10 @@
public void listEntries( SVNRepository repository, String path ) {
+
+ files = new LinkedList<String>();
+ directories = new HashMap<String,String>();
+
Collection<?> entries = null;
try {
entries = repository.getDir( path, -1 , null , (Collection<?>) null );
Added: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolver.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolver.java (rev 0)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolver.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -0,0 +1,13 @@
+package org.nuiton.scmwebeditor.urlResolver;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Map;
+
+public interface ScmUrlResolver {
+
+ String getLayoutName();
+
+ URL resolv(Map<String, String> parameters) throws IOException;
+
+}
Added: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java (rev 0)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/ScmUrlResolverEngine.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -0,0 +1,64 @@
+package org.nuiton.scmwebeditor.urlResolver;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
+
+import org.apache.commons.lang.StringUtils;
+import org.nuiton.scmwebeditor.urlResolver.impl.ScmUrlResolverDefaultImpl;
+
+public class ScmUrlResolverEngine {
+
+ public static final String PARAMETER_SCM_LAYOUT = "scm.layout";
+
+ static final ThreadLocal<ScmUrlResolverEngine> engine = new ThreadLocal<ScmUrlResolverEngine>() {
+
+ @Override
+ protected ScmUrlResolverEngine initialValue() {
+ return new ScmUrlResolverEngine();
+ }
+ };
+
+ protected List<ScmUrlResolver> injectors;
+
+ public static URL resolver(Map<String, String> parameters) throws IOException, IllegalArgumentException {
+
+ // recuperation du layout name
+ String layoutName = parameters.get(PARAMETER_SCM_LAYOUT);
+
+ // si layout non trouvé alors utiliser default
+ if (StringUtils.isEmpty(layoutName)) {
+ layoutName = ScmUrlResolverDefaultImpl.DEFAULT_NAME;
+ }
+
+ ScmUrlResolver scmURLResolver = engine.get().getScmURLResolver(layoutName);
+ URL resolv = scmURLResolver.resolv(parameters);
+ return resolv;
+ }
+
+ protected ScmUrlResolver getScmURLResolver(String layoutName) {
+ ScmUrlResolver result = null;
+ List<ScmUrlResolver> injectors = getInjectors();
+ for (ScmUrlResolver injector : injectors) {
+ if (layoutName.equals(injector.getLayoutName())) {
+ result = injector;
+ break;
+ }
+ }
+ return result;
+ }
+
+ protected List<ScmUrlResolver> getInjectors() {
+ if (injectors == null) {
+ injectors = new ArrayList<ScmUrlResolver>();
+ for (ScmUrlResolver injector :
+ ServiceLoader.load(ScmUrlResolver.class)) {
+ injectors.add(injector);
+ }
+ }
+ return injectors;
+ }
+}
Added: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverDefaultImpl.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverDefaultImpl.java (rev 0)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverDefaultImpl.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -0,0 +1,34 @@
+package org.nuiton.scmwebeditor.urlResolver.impl;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+import org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver;
+
+public class ScmUrlResolverDefaultImpl implements ScmUrlResolver {
+
+ public static final String DEFAULT_NAME = "default";
+
+ public static final String PARAMETER_ADDRESS = "address";
+
+ @Override
+ public String getLayoutName() {
+ return DEFAULT_NAME;
+ }
+
+ @Override
+ public URL resolv(Map<String, String> parameters) throws IOException, IllegalArgumentException {
+ String result = parameters.get(PARAMETER_ADDRESS);
+ if (StringUtils.isEmpty(result)) {
+ throw new IllegalArgumentException(
+ "Layout " + DEFAULT_NAME + " requires a parameter '" +
+ PARAMETER_ADDRESS + "'");
+ }
+ return new URL(result);
+ }
+
+}
+
+
Added: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java (rev 0)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenDocImpl.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -0,0 +1,27 @@
+package org.nuiton.scmwebeditor.urlResolver.impl;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Map;
+
+import org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver;
+
+public class ScmUrlResolverMavenDocImpl implements ScmUrlResolver {
+
+ @Override
+ public String getLayoutName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public URL resolv(Map<String, String> parameters) throws IOException, IllegalArgumentException {
+ // TODO Auto-generated method stub
+
+ //si local = defaultlocal > rien
+ //si local != defaultlocal > local
+
+ return null;
+ }
+
+}
Added: trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java (rev 0)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/urlResolver/impl/ScmUrlResolverMavenSiteXmlImpl.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -0,0 +1,42 @@
+package org.nuiton.scmwebeditor.urlResolver.impl;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+import org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver;
+
+public class ScmUrlResolverMavenSiteXmlImpl implements ScmUrlResolver {
+
+ 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";
+
+
+
+ @Override
+ public String getLayoutName() {
+ return MAVEN_SITE_XML_NAME;
+ }
+
+ @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) ) {
+ throw new IllegalArgumentException(
+ "Layout " + MAVEN_SITE_XML_NAME + " requires three parameters '" +
+ PARAMETER_LOCAL + "', '"+PARAMETER_DEFAULT_LOCAL+"', '"+PARAMETER_SVN_ROOT+"'");
+ }
+
+
+
+ return new URL(svnRoot+"/src/site/site_fr.xml");
+ }
+
+}
Added: trunk/src/main/resources/META-INF/services/org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver
===================================================================
--- trunk/src/main/resources/META-INF/services/org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver (rev 0)
+++ trunk/src/main/resources/META-INF/services/org.nuiton.scmwebeditor.urlResolver.ScmUrlResolver 2011-08-01 16:07:34 UTC (rev 196)
@@ -0,0 +1,3 @@
+org.nuiton.scmwebeditor.urlResolver.impl.ScmUrlResolverDefaultImpl
+org.nuiton.scmwebeditor.urlResolver.impl.ScmUrlResolverMavenSiteXmlImpl
+org.nuiton.scmwebeditor.urlResolver.impl.ScmUrlResolverMavenDocImpl
\ No newline at end of file
Modified: trunk/src/main/webapp/WEB-INF/content/outConnection.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/outConnection.jsp 2011-08-01 08:10:25 UTC (rev 195)
+++ trunk/src/main/webapp/WEB-INF/content/outConnection.jsp 2011-08-01 16:07:34 UTC (rev 196)
@@ -46,7 +46,7 @@
>
</sj:submit>
- <input type="submit" name="Save" />
+ <input type="submit" />
</p>
</center>
<div id="htmlcontentSearch" ></div>
Added: trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java
===================================================================
--- trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java (rev 0)
+++ trunk/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java 2011-08-01 16:07:34 UTC (rev 196)
@@ -0,0 +1,156 @@
+package org.nuiton.scmwebeditor;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.LinkedList;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.scmwebeditor.actions.SearchAction;
+import org.nuiton.util.FileUtil;
+import org.tmatesoft.svn.core.SVNDepth;
+import org.tmatesoft.svn.core.SVNException;
+import org.tmatesoft.svn.core.SVNProperty;
+import org.tmatesoft.svn.core.SVNURL;
+import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
+import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory;
+import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
+import org.tmatesoft.svn.core.io.SVNRepository;
+import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
+import org.tmatesoft.svn.core.wc.SVNClientManager;
+import org.tmatesoft.svn.core.wc.SVNCommitClient;
+import org.tmatesoft.svn.core.wc.SVNRevision;
+import org.tmatesoft.svn.core.wc.SVNUpdateClient;
+import org.tmatesoft.svn.core.wc.SVNWCUtil;
+import org.tmatesoft.svn.core.wc.admin.SVNAdminClient;
+
+
+
+
+public class BaseActionTest {
+ private static final Log log = LogFactory.getLog(BaseActionTest.class);
+
+ public ISVNAuthenticationManager authManager;
+ DefaultSVNOptions svnOption;
+ SVNClientManager manager;
+
+ SVNURL tgtURL = null;
+ File tgtPath = null;
+ File checkoutdir = null;
+
+ @Before
+ public void before() throws Exception {
+
+ try {
+ FSRepositoryFactory.setup();
+
+
+ this.authManager = SVNWCUtil.createDefaultAuthenticationManager();
+ this.svnOption = SVNWCUtil.createDefaultOptions(false);
+ this.svnOption.setPropertyValue(SVNProperty.EOL_STYLE, SVNProperty.EOL_STYLE_LF);
+ this.manager = SVNClientManager.newInstance(this.svnOption, this.authManager);
+
+
+ SVNAdminClient adminClient = new SVNAdminClient( this.authManager, this.svnOption);
+
+
+ tgtPath = FileUtil.createTempDirectory("scmTestSvn_", "");
+ tgtURL = adminClient.doCreateRepository( tgtPath, null , true , true );
+
+
+ SVNUpdateClient upclient = new SVNUpdateClient(this.manager, this.svnOption);
+
+
+ checkoutdir = FileUtil.createTempDirectory("scmTest_", "");
+
+ upclient.doCheckout(tgtURL, checkoutdir,
+ SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY, false);
+
+ File testFile = new File(checkoutdir,"testFile");
+ FileUtils.touch(testFile);
+
+ manager.getWCClient().doAdd( testFile , false , false , false , SVNDepth.EMPTY, false, true );
+
+ File[] tabFile = new File[1];
+ tabFile[0] = testFile;
+ SVNCommitClient commitClient = new SVNCommitClient(this.manager, this.svnOption);
+ commitClient.doCommit(tabFile, false, "commit Test", null, null, false, true, SVNDepth.FILES);
+
+ } catch ( SVNException e ) {
+ if(log.isErrorEnabled())
+ log.error("Svn erreur in test",e);
+ }
+
+
+ }
+
+ @Test
+ public void testCheckout() {
+ File checkoutdirTest = null;
+ try {
+ SvnSession svnSess = new SvnSession(
+ tgtURL.toString(),
+ "testFile",
+ null,
+ null);
+
+ checkoutdirTest = FileUtil.createTempDirectory("scmCheckOutTest_", "");
+
+ ScmWebEditorBaseAction baseAction = new ScmWebEditorBaseAction();
+ baseAction.checkout(svnSess,checkoutdirTest);
+ }
+ catch (SVNException e) {
+ log.error("Erreur SVN in test",e);
+ } catch (IOException e) {
+ log.error("Erreur SVN in test",e);
+ }
+
+ assertTrue(new File(checkoutdirTest,"testFile").exists());
+ try {
+ FileUtils.deleteDirectory(checkoutdirTest);
+ } catch (IOException e) {
+ log.error("Erreur when delete temp dir",e);
+ }
+ }
+
+ @Test
+ public void testSearch() {
+ SearchAction searchAction = new SearchAction();
+ LinkedList<String> files = null;
+ try {
+ SVNRepository repository = SVNRepositoryFactory.create(tgtURL);
+ searchAction.setAddress("");
+ searchAction.listEntries(repository , "");
+ files = new LinkedList<String>();
+ files.addAll(searchAction.getFiles());
+ System.out.println(files.get(0));
+
+ } catch (SVNException e) {
+ log.error("Erreur SVN in test",e);
+ }
+
+
+ assertTrue(files.contains("/testFile"));
+
+
+ }
+
+
+ @After
+ public void after() {
+ try {
+ FileUtils.deleteDirectory(tgtPath);
+ FileUtils.deleteDirectory(checkoutdir);
+ } catch (IOException e) {
+ log.error("Erreur when delete temp dir",e);
+ }
+
+ }
+
+}
1
0
r195 - trunk/src/main/java/org/nuiton/scmwebeditor/actions
by kcardineaud@users.nuiton.org 01 Aug '11
by kcardineaud@users.nuiton.org 01 Aug '11
01 Aug '11
Author: kcardineaud
Date: 2011-08-01 10:10:25 +0200 (Mon, 01 Aug 2011)
New Revision: 195
Url: http://nuiton.org/repositories/revision/scmwebeditor/195
Log:
Fix an issue with an exception that is not catch
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-07-29 09:55:01 UTC (rev 194)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-08-01 08:10:25 UTC (rev 195)
@@ -132,12 +132,21 @@
//SvnSession object creation if doesn't already exist
SvnSession svnSess = getSvnSession(httpSession);
+ String relativePath;
+ String scmFileName;
+ try {
+ relativePath = address.substring(0,address.lastIndexOf("/"));
- String relativePath = address.substring(0,address.lastIndexOf("/"));
+ scmFileName = address.substring(address.lastIndexOf("/")+1);
+ }
+ catch (StringIndexOutOfBoundsException e) {
+ if(log.isDebugEnabled()) {
+ log.debug("Parameter is not valid ",e);
+ }
+ return "errorPath";
+ }
- String scmFileName = address.substring(address.lastIndexOf("/")+1);
-
format = scmFileName.substring(scmFileName.lastIndexOf(".")+1);
1
0
r194 - in trunk/src/main/java/org/nuiton/scmwebeditor: . actions
by kcardineaud@users.nuiton.org 29 Jul '11
by kcardineaud@users.nuiton.org 29 Jul '11
29 Jul '11
Author: kcardineaud
Date: 2011-07-29 11:55:01 +0200 (Fri, 29 Jul 2011)
New Revision: 194
Url: http://nuiton.org/repositories/revision/scmwebeditor/194
Log:
Remove useless informations stock in session
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java 2011-07-29 09:16:22 UTC (rev 193)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java 2011-07-29 09:55:01 UTC (rev 194)
@@ -24,7 +24,6 @@
*/
package org.nuiton.scmwebeditor;
-import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.FileUtil;
@@ -48,14 +47,6 @@
*/
protected StringBuffer scmEditorUrl;
/**
- * Id du user for temp_dir name
- */
- protected String id;
- /**
- * file format
- */
- protected String format;
- /**
* svn path without fileName
*/
protected String svnPath;
@@ -96,23 +87,16 @@
*/
protected SVNClientManager manager;
- //TODO-TC avoid constructor with so much parameter
- //TODO-TC avoid constructor with exception throwing...
public SvnSession(
String svnPath,
String fileName,
String projectUrl,
- String id,
- String format,
StringBuffer scmEditorUrl) {
this.scmEditorUrl = scmEditorUrl;
- this.id = id;
- this.format = format;
this.svnPath = svnPath;
this.fileName = fileName;
this.projectUrl = projectUrl;
- log.info(login+" "+password);
try {
this.remoteUrl = SVNURL.parseURIEncoded(svnPath);
} catch (SVNException e) {
@@ -215,22 +199,6 @@
this.svnPath = svnPath;
}
- public String getFormat() {
- return format;
- }
-
- public void setFormat(String format) {
- this.format = format;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
public StringBuffer getScmEditorUrl() {
return scmEditorUrl;
}
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-07-29 09:16:22 UTC (rev 193)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-07-29 09:55:01 UTC (rev 194)
@@ -187,7 +187,7 @@
try {
String originalText = FileUtils.readFileToString(checkOutFile);
- request.setAttribute(PARAMETER_FORMAT, svnSess.getFormat());
+
request.setAttribute("lastText", lastText);
request.setAttribute(ATTRIBUTE_ORIG_TEXT, StringEscapeUtils.escapeHtml(originalText));
request.setAttribute(ATTRIBUTE_INVALIDATE_MAX_TIME, (httpSession.getMaxInactiveInterval() / 60));
@@ -252,7 +252,7 @@
svnSess.setPassword(null);
// if authentication failed edition page is reload form user's relogin
request.setAttribute("address", address);
- request.setAttribute(PARAMETER_FORMAT, svnSess.getFormat());
+
request.setAttribute(ATTRIBUTE_ORIG_TEXT, StringEscapeUtils.escapeHtml(newText));
request.setAttribute(ATTRIBUTE_INVALIDATE_MAX_TIME, (httpSession.getMaxInactiveInterval() / 60));
request.setAttribute(ATTRIBUTE_LOGIN, (svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : null));
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-07-29 09:16:22 UTC (rev 193)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-07-29 09:55:01 UTC (rev 194)
@@ -146,8 +146,6 @@
relativePath,
scmFileName,
projectUrl,
- httpSession.getId(),
- format,
request.getRequestURL());
@@ -314,7 +312,7 @@
- request.setAttribute(PARAMETER_FORMAT, svnSess.getFormat());
+ request.setAttribute(PARAMETER_FORMAT, format);
request.setAttribute(ATTRIBUTE_ORIG_TEXT, StringEscapeUtils.escapeHtml(originalText));
request.setAttribute(ATTRIBUTE_INVALIDATE_MAX_TIME, (httpSession.getMaxInactiveInterval() / 60));
request.setAttribute(ATTRIBUTE_LOGIN, (svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : null));
1
0
r193 - in trunk/src/main: java/org/nuiton/scmwebeditor java/org/nuiton/scmwebeditor/actions webapp/WEB-INF/content
by kcardineaud@users.nuiton.org 29 Jul '11
by kcardineaud@users.nuiton.org 29 Jul '11
29 Jul '11
Author: kcardineaud
Date: 2011-07-29 11:16:22 +0200 (Fri, 29 Jul 2011)
New Revision: 193
Url: http://nuiton.org/repositories/revision/scmwebeditor/193
Log:
Change some authentification system
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java 2011-07-28 15:01:30 UTC (rev 192)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/SvnSession.java 2011-07-29 09:16:22 UTC (rev 193)
@@ -103,8 +103,6 @@
String svnPath,
String fileName,
String projectUrl,
- String login,
- String password,
String id,
String format,
StringBuffer scmEditorUrl) {
@@ -114,33 +112,18 @@
this.svnPath = svnPath;
this.fileName = fileName;
this.projectUrl = projectUrl;
- this.login = login;
- this.password = password;
-// try {
-// this.checkoutdir = FileUtil.createTempDirectory("scm_", "");
-// } catch (IOException e) {
-// e.printStackTrace();
-// }
+ log.info(login+" "+password);
try {
this.remoteUrl = SVNURL.parseURIEncoded(svnPath);
} catch (SVNException e) {
log.debug("SVNSESS NULL");
}
- this.authManager = SVNWCUtil.createDefaultAuthenticationManager(this.checkoutdir, this.login, this.password, false);
- this.svnOption = SVNWCUtil.createDefaultOptions(this.checkoutdir, false);
+ this.authManager = SVNWCUtil.createDefaultAuthenticationManager();
+ this.svnOption = SVNWCUtil.createDefaultOptions(false);
this.svnOption.setPropertyValue(SVNProperty.EOL_STYLE, SVNProperty.EOL_STYLE_LF);
this.manager = SVNClientManager.newInstance(this.svnOption, this.authManager);
}
- /**
- * Delete checkout directory.
- *
- * @throws IOException if any io pb
- */
-// public void cleanCheckoutDir() throws IOException {
-// FileUtils.deleteDirectory(getCheckoutdir());
-// }
-
public void updateAuthentication(String login, String password) {
setLogin(login);
setPassword(password);
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-07-28 15:01:30 UTC (rev 192)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java 2011-07-29 09:16:22 UTC (rev 193)
@@ -142,35 +142,23 @@
- String tmp_log = null;
- String tmp_pass = null;
-
svnSess = new SvnSession(
relativePath,
scmFileName,
projectUrl,
- tmp_log,
- tmp_pass,
httpSession.getId(),
format,
request.getRequestURL());
- svnSess.updateAuthentication(
- svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : username,
- svnSess.getPassword() != null && !svnSess.getPassword().equalsIgnoreCase("") ? svnSess.getPassword() : pw);
-
-
+
setSvnSession(httpSession, svnSess);
-
-
-
String originalText ="";
- String login = svnSess.getLogin();
- String pw = svnSess.getPassword();
+ String login = this.getUsername();
+ String pw = this.getPw();
String url = svnSess.getSvnPath();
String file = svnSess.getFileName();
@@ -178,6 +166,10 @@
login = "anonymous";
pw = "anonymous";
}
+ else {
+ svnSess.setLogin(login);
+ svnSess.setPassword(pw);
+ }
SVNRepository repository = null;
Modified: trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-07-28 15:01:30 UTC (rev 192)
+++ trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-07-29 09:16:22 UTC (rev 193)
@@ -48,7 +48,7 @@
</head>
-<body>
+<body onload="geresession(<%=request.getAttribute("InvalidateMaxTime")%>, 5);">
<a title="ScmWebEditor Project Website" target="_blank" href="http://maven-site.nuiton.org/scmwebeditor/"><img src="img/ScmWebEditor_main.png" alt="ScmWebEditor logo"/></a>
<center>
@@ -121,7 +121,7 @@
<script type="text/javascript">
- function loadChange(){
+ function loadChange() {
document.getElementById('newTextId').value = editor.mirror.getValue();
}
</script>
1
0
r192 - in trunk/src/main/java/org/nuiton/scmwebeditor: . actions
by kcardineaud@users.nuiton.org 28 Jul '11
by kcardineaud@users.nuiton.org 28 Jul '11
28 Jul '11
Author: kcardineaud
Date: 2011-07-28 17:01:30 +0200 (Thu, 28 Jul 2011)
New Revision: 192
Url: http://nuiton.org/repositories/revision/scmwebeditor/192
Log:
Change the way to create the temp directory
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java 2011-07-28 13:55:23 UTC (rev 191)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorBaseAction.java 2011-07-28 15:01:30 UTC (rev 192)
@@ -186,22 +186,22 @@
}
- public void checkout(SvnSession svnSess) throws SVNException {
+ public void checkout(SvnSession svnSess, File checkoutdir) throws SVNException {
SVNUpdateClient upclient = new SVNUpdateClient(svnSess.getManager(), svnSess.getSvnOption());
if (log.isDebugEnabled()) {
log.debug("Do Checkout of " + svnSess.getRemoteUrl());
}
- upclient.doCheckout(svnSess.getRemoteUrl(), svnSess.getCheckoutdir(),
+ upclient.doCheckout(svnSess.getRemoteUrl(), checkoutdir,
SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.FILES, false);
}
- public void delTempDirectory(SvnSession svnSess) {
+ public void delTempDirectory(File checkoutdir) {
try {
- FileUtils.deleteDirectory(svnSess.getCheckoutdir());
+ FileUtils.deleteDirectory(checkoutdir);
} catch (IOException e) {
if(log.isErrorEnabled()) {
log.error("Can't delete temp directory");
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-07-28 13:55:23 UTC (rev 191)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-07-28 15:01:30 UTC (rev 192)
@@ -15,6 +15,7 @@
import org.nuiton.jrst.JRST;
import org.nuiton.scmwebeditor.ScmWebEditorBaseAction;
import org.nuiton.scmwebeditor.SvnSession;
+import org.nuiton.util.FileUtil;
import org.tmatesoft.svn.core.SVNAuthenticationException;
import org.tmatesoft.svn.core.SVNDepth;
import org.tmatesoft.svn.core.SVNException;
@@ -111,6 +112,7 @@
protected boolean testRstParsing(String newText) {
try {
+ JRST.generate(JRST.TYPE_HTML, newText);
if(log.isDebugEnabled()) {
log.debug("RST generate success");
}
@@ -145,8 +147,9 @@
svnSess.getLogin() != null && !svnSess.getLogin().equalsIgnoreCase("") ? svnSess.getLogin() : username,
svnSess.getPassword() != null && !svnSess.getPassword().equalsIgnoreCase("") ? svnSess.getPassword() : pw);
+ File checkoutdir = null;
try {
- svnSess.createCheckoutdir();
+ checkoutdir = FileUtil.createTempDirectory("scm_", "");
} catch (IOException e1) {
if(log.isErrorEnabled()) {
log.error("Can't create checkoutDir",e1);
@@ -157,7 +160,7 @@
// Avant le commit, il faut checkout le repertoire
try {
- checkout(svnSess);
+ checkout(svnSess, checkoutdir);
} catch (SVNAuthenticationException authexep) {
request.setAttribute(PARAMETER_ADDRESS, address);
@@ -166,18 +169,18 @@
log.debug("Private SCM on reading " + svnSess.getRemoteUrl());
}
//On supprime le repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutdir);
//redirect to a login page
return Action.LOGIN;
} catch (SVNException e) {
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutdir);
return "errorPath";
}
- File checkOutFile = new File(svnSess.getCheckoutdir(), svnSess.getFileName());
+ File checkOutFile = new File(checkoutdir, svnSess.getFileName());
lastText=newText;
@@ -204,7 +207,7 @@
/* fichier non trouve, on redirige vers BadFileRedirect.jsp
* après avoir supprimé le repertoire temporaire
*/
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutdir);
request.setAttribute(PARAMETER_SCM_EDITOR_URL, svnSess.getProjectUrl());
return "error";
} catch (IOException e) {
@@ -216,7 +219,7 @@
/*
* Commit process
*/
- File pathToFile = new File(svnSess.getCheckoutdir(), svnSess.getFileName());
+ File pathToFile = new File(checkoutdir, svnSess.getFileName());
SVNCommitClient commitClient = new SVNCommitClient(svnSess.getManager(), svnSess.getSvnOption());
try {
@@ -261,22 +264,22 @@
request.setAttribute(ATTRIBUTE_BAD_LOGIN, true);
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutdir);
return Action.LOGIN;
} catch (SVNException e) {
if(log.isErrorEnabled()) {
log.error("SVN FAIL",e);
}
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutdir);
request.setAttribute(ATTRIBUTE_REDIRECT_URL, getRedirectUrl(svnSess));
return "error";
}
- if (svnSess.getCheckoutdir() != null) {
+ if (checkoutdir != null) {
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutdir);
}
//if commit success user is redirect on the project page
request.setAttribute(ATTRIBUTE_REDIRECTION_URL, svnSess.getProjectUrl());
@@ -285,7 +288,7 @@
log.debug("End of commit");
}
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutdir);
if(log.isInfoEnabled()) {
log.info(username + " with IP "+request.getRemoteAddr()+" commit the file "+address+" with message : "+commitMessage);
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java 2011-07-28 13:55:23 UTC (rev 191)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java 2011-07-28 15:01:30 UTC (rev 192)
@@ -13,6 +13,7 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.nuiton.scmwebeditor.ScmWebEditorBaseAction;
import org.nuiton.scmwebeditor.SvnSession;
+import org.nuiton.util.FileUtil;
import org.tmatesoft.svn.core.SVNAuthenticationException;
import org.tmatesoft.svn.core.SVNDepth;
import org.tmatesoft.svn.core.SVNException;
@@ -114,7 +115,9 @@
*/
SVNUpdateClient upclient = new SVNUpdateClient(svnSess.getManager(), svnSess.getSvnOption());
+ File checkoutDir = null;
try {
+ checkoutDir = FileUtil.createTempDirectory("scm_", "");
svnSess.createCheckoutdir();
} catch (IOException e1) {
if(log.isErrorEnabled()) {
@@ -129,7 +132,7 @@
if (log.isDebugEnabled()) {
log.debug("Do Checkout of " + svnSess.getRemoteUrl());
}
- upclient.doCheckout(svnSess.getRemoteUrl(), svnSess.getCheckoutdir(),
+ upclient.doCheckout(svnSess.getRemoteUrl(), checkoutDir,
SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY, false);
} catch (SVNAuthenticationException authexep) {
@@ -138,20 +141,20 @@
log.debug("Private SCM on reading " + svnSess.getRemoteUrl());
}
//On supprime le repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutDir);
//redirect to a login page
error=true;
return "error";
} catch (SVNException e) {
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutDir);
error=true;
return "error";
}
- File checkoutDir = svnSess.getCheckoutdir();
+
//On test si le chemin commence par un / si non, on l'ajoute
@@ -207,7 +210,7 @@
}
error=true;
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutDir);
return Action.ERROR;
}
@@ -229,7 +232,7 @@
}
badLogin=true;
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutDir);
return Action.LOGIN;
}
catch (SVNException e) {
@@ -238,13 +241,13 @@
}
error=true;
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutDir);
return ERROR;
}
//Suppression du repertoire temporaire
- delTempDirectory(svnSess);
+ delTempDirectory(checkoutDir);
if(log.isDebugEnabled()) {
log.debug("File upload successful");
1
0
Author: kcardineaud
Date: 2011-07-28 15:55:23 +0200 (Thu, 28 Jul 2011)
New Revision: 191
Url: http://nuiton.org/repositories/revision/scmwebeditor/191
Log:
Fix a bug : after a save and continue action, we can save without modify the file
Modified:
trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
trunk/src/main/webapp/WEB-INF/content/save.jsp
Modified: trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-07-28 12:38:56 UTC (rev 190)
+++ trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-07-28 13:55:23 UTC (rev 191)
@@ -48,7 +48,7 @@
</head>
-<body onload="geresession(<%=request.getAttribute("InvalidateMaxTime")%>, 5);">
+<body>
<a title="ScmWebEditor Project Website" target="_blank" href="http://maven-site.nuiton.org/scmwebeditor/"><img src="img/ScmWebEditor_main.png" alt="ScmWebEditor logo"/></a>
<center>
@@ -57,7 +57,7 @@
String typeEditor="null";
if (request.getAttribute("format")!=null && request.getAttribute("format").equals("rst")) {
%>
- <h4><s:text name="scm.info.ProblemWithRst"/> <a href="http://docutils.sourceforge.net/rst.html"><s:text name="scm.info.rstWebsite"/></a>.</h4>
+ <h4><s:text name="scm.info.ProblemWithRst"/> <a href="http://docutils.sourceforge.net/docs/user/rst/quickref.html"><s:text name="scm.info.rstWebsite"/></a>.</h4>
<% } %>
</center>
@@ -184,7 +184,7 @@
<input type="hidden" NAME=pw /><%
}%>
<input type="hidden" name="address" value="<%=request.getAttribute("address")%>"/>
- <input type="hidden" name="origText" value="<%=request.getAttribute("OrigText")%>"/>
+ <input type="hidden" id="origText" name="origText" value="<%=request.getAttribute("OrigText")%>"/>
<% if(request.getAttribute("lastText")!=null) { %>
<input type="hidden" name="lastText" value="<%=request.getAttribute("lastText")%>" />
<% } %>
Modified: trunk/src/main/webapp/WEB-INF/content/save.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/save.jsp 2011-07-28 12:38:56 UTC (rev 190)
+++ trunk/src/main/webapp/WEB-INF/content/save.jsp 2011-07-28 13:55:23 UTC (rev 191)
@@ -17,4 +17,11 @@
</s:elseif>
<s:else>
<h4>Last change save <s:property value="formatDate" /> </h4>
+ <s:set id="lastRevSet" value="newText" />
+ <s:hidden id="lastRev" value="%{lastRevSet}" />
+ <script type="text/javascript">
+ origText = document.getElementById("origText");
+ origText.value = document.getElementById("lastRev").value;
+
+ </script>
</s:else>
\ No newline at end of file
1
0
r190 - in trunk/src/main: java/org/nuiton/scmwebeditor/actions resources webapp/WEB-INF/content webapp/css
by kcardineaud@users.nuiton.org 28 Jul '11
by kcardineaud@users.nuiton.org 28 Jul '11
28 Jul '11
Author: kcardineaud
Date: 2011-07-28 14:38:56 +0200 (Thu, 28 Jul 2011)
New Revision: 190
Url: http://nuiton.org/repositories/revision/scmwebeditor/190
Log:
Add a verification for rst on commit
Modified:
trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
trunk/src/main/resources/struts.xml
trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
trunk/src/main/webapp/WEB-INF/content/save.jsp
trunk/src/main/webapp/css/main.css
Modified: trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java
===================================================================
--- trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-07-27 12:55:22 UTC (rev 189)
+++ trunk/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java 2011-07-28 12:38:56 UTC (rev 190)
@@ -12,6 +12,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ServletRequestAware;
+import org.nuiton.jrst.JRST;
import org.nuiton.scmwebeditor.ScmWebEditorBaseAction;
import org.nuiton.scmwebeditor.SvnSession;
import org.tmatesoft.svn.core.SVNAuthenticationException;
@@ -39,6 +40,7 @@
protected String pw;
protected String address;
protected String lastText;
+ protected String fileType;
protected HttpServletRequest request;
@@ -55,6 +57,14 @@
return newText;
}
+ public String getFileType() {
+ return fileType;
+ }
+
+ public void setFileType(String fileType) {
+ this.fileType = fileType;
+ }
+
public void setNewText(String newText) {
this.newText = newText;
}
@@ -99,9 +109,34 @@
this.lastText = lastText;
}
+ protected boolean testRstParsing(String newText) {
+ try {
+ if(log.isDebugEnabled()) {
+ log.debug("RST generate success");
+ }
+ return true;
+ } catch (Exception e) {
+ if(log.isErrorEnabled()) {
+ log.error("RST generate fail",e);
+ }
+ return false;
+ }
+
+
+ }
+
+
public String execute() {
+ if(fileType.equals("rst")) {
+ if(!testRstParsing(newText)) {
+ return "errorRst";
+ }
+ }
+
+
+
HttpSession httpSession = request.getSession(true);
SvnSession svnSess = getSvnSession(httpSession);
Modified: trunk/src/main/resources/struts.xml
===================================================================
--- trunk/src/main/resources/struts.xml 2011-07-27 12:55:22 UTC (rev 189)
+++ trunk/src/main/resources/struts.xml 2011-07-28 12:38:56 UTC (rev 190)
@@ -21,6 +21,7 @@
<result name="login" >/WEB-INF/content/modificationViewer.jsp</result>
<result name="error">/WEB-INF/content/badFileRedirect.jsp</result>
<result name="errorPath">/WEB-INF/content/badFileRedirect.jsp</result>
+ <result name="errorRst">/WEB-INF/content/badFileRedirect.jsp</result>
</action>
<action name="save" class="org.nuiton.scmwebeditor.actions.SaveAction" method="save">
Modified: trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-07-27 12:55:22 UTC (rev 189)
+++ trunk/src/main/webapp/WEB-INF/content/modificationViewer.jsp 2011-07-28 12:38:56 UTC (rev 190)
@@ -55,14 +55,21 @@
<h2><s:text name="scm.welcome"/></h2>
<%
String typeEditor="null";
- if (request.getAttribute("format")!=null && request.getAttribute("format").equals("rst")){
+ if (request.getAttribute("format")!=null && request.getAttribute("format").equals("rst")) {
%>
- <h4><s:text name="scm.info.ProblemWithRst"/> <a href="http://docutils.sourceforge.net/rst.html"><s:text name="scm.info.rstWebsite"/></a>.</h4>
- <% } %>
+ <h4><s:text name="scm.info.ProblemWithRst"/> <a href="http://docutils.sourceforge.net/rst.html"><s:text name="scm.info.rstWebsite"/></a>.</h4>
+ <% } %>
</center>
<form method="post" action=commit.action id="editForm">
+ <%
+ if (request.getAttribute("format")!=null && request.getAttribute("format").equals("rst")){
+ %>
+ <input type="hidden" name="fileType" value="rst" />
+ <% } else { %>
+ <input type="hidden" name="fileType" value="other" />
+ <% } %>
Modified: trunk/src/main/webapp/WEB-INF/content/save.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/content/save.jsp 2011-07-27 12:55:22 UTC (rev 189)
+++ trunk/src/main/webapp/WEB-INF/content/save.jsp 2011-07-28 12:38:56 UTC (rev 190)
@@ -9,6 +9,9 @@
<s:elseif test="result=='error'" >
<h4> Can't save modification </h4>
</s:elseif>
+ <s:elseif test="result=='errorPath'" >
+ <h4> Can't save modification, RST is not valid</h4>
+ </s:elseif>
<s:elseif test="result=='uselessSave'" >
<h4> It's useless to save the file, file is not modify</h4>
</s:elseif>
Modified: trunk/src/main/webapp/css/main.css
===================================================================
--- trunk/src/main/webapp/css/main.css 2011-07-27 12:55:22 UTC (rev 189)
+++ trunk/src/main/webapp/css/main.css 2011-07-28 12:38:56 UTC (rev 190)
@@ -6,6 +6,11 @@
margin:auto;
}
+
+img {
+ border:none;
+ }
+
.wwlbl , .wwctrl {
display:inline;
}
1
0