This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository scmwebeditor. See http://git.nuiton.org/scmwebeditor.git commit 06d4801ce8c876bf77c8d6ca2d4933eec2e220ac Author: Hugo PIGEON <hpigeon@codelutin.com> Date: Fri Jun 19 17:44:48 2015 +0200 Improve code quality and add a default branch to give the ability not to provide a branch name in the URL --- .../org/nuiton/scmwebeditor/git/GitConnection.java | 8 +- .../org/nuiton/scmwebeditor/git/GitProvider.java | 5 + .../org/nuiton/scmwebeditor/api/ScmProvider.java | 7 ++ .../org/nuiton/scmwebeditor/svn/SvnConnection.java | 4 +- .../org/nuiton/scmwebeditor/svn/SvnProvider.java | 6 + .../scmwebeditor/uiweb/actions/BrowseAction.java | 2 +- .../uiweb/actions/DownloadFileAction.java | 4 + .../scmwebeditor/uiweb/actions/EditAction.java | 14 ++- .../uiweb/actions/ImageBytesResult.java | 3 + .../uiweb/actions/ViewImageAction.java | 3 +- .../webapp/WEB-INF/content/modificationViewer.jsp | 128 ++++++++++----------- 11 files changed, 113 insertions(+), 71 deletions(-) diff --git a/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitConnection.java b/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitConnection.java index 5686491..74e5975 100644 --- a/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitConnection.java +++ b/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitConnection.java @@ -702,6 +702,12 @@ public class GitConnection implements ScmConnection { */ public void changeBranch(String branchName) throws IOException { + if (branchName == null) { + branchName = DEFAULT_BRANCH; + } else if (branchName.equals("")) { + branchName = DEFAULT_BRANCH; + } + Git git = Git.open(localDirectory); CheckoutCommand checkout = git.checkout(); @@ -869,7 +875,7 @@ public class GitConnection implements ScmConnection { } catch (TransportException e) { FileUtils.deleteDirectory(localDirectory); if (log.isErrorEnabled()) { - log.error("Can't clone the remote repository: " + addressGit + " ; " + e.getMessage(), e); + log.error("Can't clone the remote repository: " + addressGit, e); } if (e.getMessage().endsWith("500 Internal Server Error") diff --git a/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitProvider.java b/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitProvider.java index f6da5bd..51a2cf2 100644 --- a/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitProvider.java +++ b/swe-git/src/main/java/org/nuiton/scmwebeditor/git/GitProvider.java @@ -288,4 +288,9 @@ public class GitProvider implements ScmProvider { return false; } } + + @Override + public String getDefaultBranchName() throws OperationNotSupportedException { + return "master"; + } } \ No newline at end of file diff --git a/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmProvider.java b/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmProvider.java index 489d4d4..dbb781a 100644 --- a/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmProvider.java +++ b/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmProvider.java @@ -103,4 +103,11 @@ public interface ScmProvider { * @return true if the repository seems to be compatible with the SCM */ boolean addressSeemsCompatible(String address); + + /** + * Gives the name of the default branch if the SCM supports branches + * @return the name of the default branch to use + * @throws OperationNotSupportedException if the SCM doesn't support branches + */ + String getDefaultBranchName() throws OperationNotSupportedException; } diff --git a/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnConnection.java b/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnConnection.java index ebfdc7d..b2a8451 100644 --- a/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnConnection.java +++ b/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnConnection.java @@ -876,8 +876,8 @@ public class SvnConnection implements ScmConnection { /** - * @param checkoutdir - * @throws SVNException + * @param checkoutdir the directory where the checkout will be done + * @throws SVNException if the checkout could not be done */ public void checkout(File checkoutdir) throws SVNException { diff --git a/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnProvider.java b/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnProvider.java index a02061d..73be2b1 100644 --- a/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnProvider.java +++ b/swe-svn/src/main/java/org/nuiton/scmwebeditor/svn/SvnProvider.java @@ -127,4 +127,10 @@ public class SvnProvider implements ScmProvider { return false; } } + + @Override + public String getDefaultBranchName() throws OperationNotSupportedException { + throw new OperationNotSupportedException("The 'get default branch name' operation is not available for " + + "SVN repositories"); + } } diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/BrowseAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/BrowseAction.java index f074b51..4cbe3b9 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/BrowseAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/BrowseAction.java @@ -269,7 +269,7 @@ public class BrowseAction extends AbstractScmWebEditorAction implements ServletR } if (log.isDebugEnabled()) { - log.debug("addscmuser uuid == " + repositoryUUID + " ; username == " + username + " ; pw == " + pw); + log.debug("addscmuser uuid == " + repositoryUUID); } getScmSession().addScmUser(repositoryUUID, username, pw); diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/DownloadFileAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/DownloadFileAction.java index 5e8a7c8..d49f0dd 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/DownloadFileAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/DownloadFileAction.java @@ -48,6 +48,10 @@ public class DownloadFileAction extends ScmWebEditorMainAction { public void setRepositoryRoot(String repositoryRoot) { this.repositoryRoot = repositoryRoot; } + /** + * Execution of the download file action + * @return a code interpreted in the file struts.xml + */ public String execute() { HttpSession session = request.getSession(); diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/EditAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/EditAction.java index 79f3cad..64fb454 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/EditAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/EditAction.java @@ -209,7 +209,8 @@ public class EditAction extends ScmWebEditorMainAction { Cookie authCookie = null; try { - authCookie = new Cookie(repositoryUUID, bf.encrypt((username + "," + pw).getBytes("UTF-8"), privateKey).toBase64()); + authCookie = new Cookie(repositoryUUID, bf.encrypt((username + "," + pw).getBytes("UTF-8"), + privateKey).toBase64()); } catch (UnsupportedEncodingException e) { if (log.isErrorEnabled()) { log.error("Can not get a String from UTF-8 encoding"); @@ -243,7 +244,15 @@ public class EditAction extends ScmWebEditorMainAction { String changeBranchError = null; if (scmSupportsBranches) { + try { + + if (selectedBranch == null) { + selectedBranch = provider.getDefaultBranchName(); + } else if (selectedBranch.equals("")) { + selectedBranch = provider.getDefaultBranchName(); + } + changeBranchError = provider.changeBranch(selectedBranch, pathToLocalRepos, username, pw); } catch (OperationNotSupportedException e) { if (log.isErrorEnabled()) { @@ -353,7 +362,8 @@ public class EditAction extends ScmWebEditorMainAction { if (log.isInfoEnabled()) { - log.info("IP client : " + request.getRemoteAddr() + " , get file : " + address + ". File's mimetype : " + mimeType); + log.info("IP client : " + request.getRemoteAddr() + ", get file : " + address + ". File's mimetype : " + + mimeType); } return EDIT_PAGE; diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ImageBytesResult.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ImageBytesResult.java index fece6ce..b2a9670 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ImageBytesResult.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ImageBytesResult.java @@ -27,6 +27,9 @@ import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletResponse; +/** + * Returns an image in bytes through HTTP + */ public class ImageBytesResult implements Result { public void execute(ActionInvocation invocation) throws Exception { diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ViewImageAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ViewImageAction.java index 35961d8..9155a36 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ViewImageAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ViewImageAction.java @@ -268,7 +268,8 @@ public class ViewImageAction extends ScmWebEditorMainAction { if (log.isInfoEnabled()) { - log.info("IP client : " + request.getRemoteAddr() + " , get file : " + address + ". File's mimetype : " + mimeType); + log.info("IP client : " + request.getRemoteAddr() + " , get file : " + address + ". File's mimetype : " + + mimeType); } return VIEW_IMAGE; diff --git a/swe-ui-web/src/main/webapp/WEB-INF/content/modificationViewer.jsp b/swe-ui-web/src/main/webapp/WEB-INF/content/modificationViewer.jsp index af0991a..15aa762 100644 --- a/swe-ui-web/src/main/webapp/WEB-INF/content/modificationViewer.jsp +++ b/swe-ui-web/src/main/webapp/WEB-INF/content/modificationViewer.jsp @@ -418,6 +418,70 @@ </li> + <s:if test="format == 'rst' || format == 'md'"> + + <li> + + <div class="menuDescription"> + + <p><s:text name="scm.preview"/></p> + + <ul id="previewButtons" class="buttonsGroup"> + <li id="previewSideButton" class="previewPosSelected"> + <s:set id="previewSide"> + <s:text name="scm.modificationViewer.previewPosition.side"/> + </s:set> + + <s:a + href="javascript:changePreviewPos('side');" + title="%{previewSide}"> + + <span class="fa-stack fa-lg"> + <i class="fa fa-pause fa-stack-2x"></i> + </span> + + </s:a> + </li> + + <li id="previewBelowButton"> + <s:set id="previewBelow"> + <s:text name="scm.modificationViewer.previewPosition.below"/> + </s:set> + + <s:a + href="javascript:changePreviewPos('below');" + title="%{previewBelow}"> + + <span class="fa-stack fa-lg"> + <i class="fa fa-pause fa-stack-2x fa-rotate-90"></i> + </span> + + </s:a> + </li> + + <li id="previewNoneButton"> + <s:set id="previewNone"> + <s:text name="scm.modificationViewer.previewPosition.none"/> + </s:set> + + <s:a + href="javascript:changePreviewPos('none');" + title="%{previewNone}"> + + <span class="fa-stack fa-lg"> + <i class="fa fa-eye-slash fa-2x"></i> + </span> + + </s:a> + </li> + </ul> + + </div> + + </li> + + </s:if> + <li> <div class="menuDescription"> @@ -523,70 +587,6 @@ </li> - <s:if test="format == 'rst' || format == 'md'"> - - <li> - - <div class="menuDescription"> - - <p><s:text name="scm.preview"/></p> - - <ul id="previewButtons" class="buttonsGroup"> - <li id="previewSideButton" class="previewPosSelected"> - <s:set id="previewSide"> - <s:text name="scm.modificationViewer.previewPosition.side"/> - </s:set> - - <s:a - href="javascript:changePreviewPos('side');" - title="%{previewSide}"> - - <span class="fa-stack fa-lg"> - <i class="fa fa-pause fa-stack-2x"></i> - </span> - - </s:a> - </li> - - <li id="previewBelowButton"> - <s:set id="previewBelow"> - <s:text name="scm.modificationViewer.previewPosition.below"/> - </s:set> - - <s:a - href="javascript:changePreviewPos('below');" - title="%{previewBelow}"> - - <span class="fa-stack fa-lg"> - <i class="fa fa-pause fa-stack-2x fa-rotate-90"></i> - </span> - - </s:a> - </li> - - <li id="previewNoneButton"> - <s:set id="previewNone"> - <s:text name="scm.modificationViewer.previewPosition.none"/> - </s:set> - - <s:a - href="javascript:changePreviewPos('none');" - title="%{previewNone}"> - - <span class="fa-stack fa-lg"> - <i class="fa fa-eye-slash fa-2x"></i> - </span> - - </s:a> - </li> - </ul> - - </div> - - </li> - - </s:if> - <li> <s:if test="format=='rst'"> -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.