This is an automated email from the git hooks/post-receive script. New commit to branch feature/GIT in repository scmwebeditor. See http://git.nuiton.org/scmwebeditor.git commit fad484fd1431499de9ba42cc4043b049755d4cec Author: Hugo PIGEON <hpigeon@codelutin.com> Date: Thu May 7 15:20:33 2015 +0200 Fix the commit with SVN which wasn't working --- .../org/nuiton/scmwebeditor/GitConnection.java | 2 - .../org/nuiton/scmwebeditor/SvnConnection.java | 19 +++++++--- .../actions/ScmWebEditorCommitAction.java | 44 +++------------------- .../actions/ScmWebEditorMainAction.java | 3 +- .../org/nuiton/scmwebeditor/BaseActionTest.java | 30 --------------- 5 files changed, 20 insertions(+), 78 deletions(-) diff --git a/src/main/java/org/nuiton/scmwebeditor/GitConnection.java b/src/main/java/org/nuiton/scmwebeditor/GitConnection.java index c189447..793e19e 100644 --- a/src/main/java/org/nuiton/scmwebeditor/GitConnection.java +++ b/src/main/java/org/nuiton/scmwebeditor/GitConnection.java @@ -43,8 +43,6 @@ import javax.naming.AuthenticationException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; diff --git a/src/main/java/org/nuiton/scmwebeditor/SvnConnection.java b/src/main/java/org/nuiton/scmwebeditor/SvnConnection.java index 5a3faaa..46b2d50 100644 --- a/src/main/java/org/nuiton/scmwebeditor/SvnConnection.java +++ b/src/main/java/org/nuiton/scmwebeditor/SvnConnection.java @@ -37,10 +37,7 @@ import org.tmatesoft.svn.core.io.SVNRepositoryFactory; import org.tmatesoft.svn.core.wc.*; import javax.naming.AuthenticationException; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; +import java.io.*; import java.util.Collection; public class SvnConnection implements ScmConnection { @@ -95,6 +92,14 @@ public class SvnConnection implements ScmConnection { svnOption = SVNWCUtil.createDefaultOptions(false); svnOption.setPropertyValue(SVNProperty.EOL_STYLE, SVNProperty.EOL_STYLE_LF); manager = SVNClientManager.newInstance(svnOption, authManager); + + try { + createCheckoutdir(); + } catch (IOException e) { + if (log.isErrorEnabled()) { + log.error("Can not create checkoutdir", e); + } + } } @@ -153,7 +158,7 @@ public class SvnConnection implements ScmConnection { try { - String encodedUrl = SVNEncodingUtil.autoURIEncode(addressSvn); + String encodedUrl = SVNEncodingUtil.autoURIEncode(url); repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(encodedUrl)); authManager = SVNWCUtil.createDefaultAuthenticationManager(name, password); repository.setAuthenticationManager(authManager); @@ -332,7 +337,9 @@ public class SvnConnection implements ScmConnection { try { - FileUtil.getWriter(pathToFile, "UTF-8").write(dto.getNewText()); + Writer writer = FileUtil.getWriter(pathToFile, "UTF-8"); + writer.write(dto.getNewText()); + writer.flush(); } catch (IOException e1) { delTempDirectory(checkoutdir); diff --git a/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java b/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java index 1712b0c..ab0a286 100644 --- a/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java +++ b/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorCommitAction.java @@ -30,7 +30,9 @@ import org.apache.struts2.interceptor.ServletResponseAware; import org.dom4j.Document; import org.nuiton.jrst.JRST; import org.nuiton.jrst.legacy.JRSTReader; -import org.nuiton.scmwebeditor.*; +import org.nuiton.scmwebeditor.ScmConnection; +import org.nuiton.scmwebeditor.ScmProvider; +import org.nuiton.scmwebeditor.ScmWebEditorConfig; import org.nuiton.scmwebeditor.dto.CommitDto; import org.nuiton.scmwebeditor.dto.CommitResultDto; @@ -253,9 +255,6 @@ public class ScmWebEditorCommitAction extends AbstractScmWebEditorAction impleme ScmProvider provider = getProvider(scmType); ScmConnection scmConn = provider.getConnection(address, sessionId); - String login = getUsername(); - String password = getPw(); - // if the repository is not protected for writing, we get its UUID String repositoryUUID = scmConn.getRepositoryId(); if (repositoryUUID == null) { @@ -298,40 +297,9 @@ public class ScmWebEditorCommitAction extends AbstractScmWebEditorAction impleme } - - /* - * Recuperation des informations d'authentification dans la session - */ - if ((login == null || login.equals("")) && (password == null || password.equals(""))) { - if (getScmSession().getUsername(repositoryUUID) != null && getScmSession().getPassword(repositoryUUID) != null) { - //On recupère les identifiants en session - login = getScmSession().getUsername(repositoryUUID); - password = getScmSession().getPassword(repositoryUUID); - } else { - login = null; - password = null; - } - } else { - getScmSession().addScmUser(repositoryUUID, login, password); - } - - - if (username == null && pw == null) { - if (getScmSession().getUsername(repositoryUUID) != null && - getScmSession().getPassword(repositoryUUID) != null) { - //On recupère les identifiants en session - username = getScmSession().getUsername(repositoryUUID); - pw = getScmSession().getPassword(repositoryUUID); - } else { - username = null; - pw = null; - } - } else { - getScmSession().addScmUser(repositoryUUID, username, pw); - } - - username = login; - pw = password; + String[] usernamePw = getUsernamePwFromSession(repositoryUUID, username, pw); + username = usernamePw[0]; + pw = usernamePw[1]; String returnCode; diff --git a/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java b/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java index 645532a..549ad52 100644 --- a/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java +++ b/src/main/java/org/nuiton/scmwebeditor/actions/ScmWebEditorMainAction.java @@ -25,11 +25,10 @@ import com.google.common.collect.Lists; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts2.interceptor.ServletResponseAware; -import org.nuiton.scmwebeditor.*; +import org.nuiton.scmwebeditor.ScmWebEditorConfig; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Set; public class ScmWebEditorMainAction extends AbstractScmWebEditorAction implements ServletResponseAware { diff --git a/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java b/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java index 982ec6b..0e08644 100644 --- a/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java +++ b/src/test/java/org/nuiton/scmwebeditor/BaseActionTest.java @@ -21,36 +21,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.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.nuiton.scmwebeditor.actions.BrowseAction; -import org.nuiton.scmwebeditor.actions.AbstractScmWebEditorAction; -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.*; -import org.tmatesoft.svn.core.wc.admin.SVNAdminClient; - -import java.io.File; -import java.io.IOException; -import java.util.LinkedList; - -import static org.junit.Assert.assertTrue; - - - - public class BaseActionTest { /* -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.