branch feature/GIT updated (2e5949e -> 91ccf0c)
This is an automated email from the git hooks/post-receive script. New change to branch feature/GIT in repository scmwebeditor. See http://git.nuiton.org/scmwebeditor.git from 2e5949e Use of File.separator instead of "/" in paths to make the program more portable new 91ccf0c Add a RuntimeException class: SweInternalException The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 91ccf0ce143fc2ab33cd3a0b88cfc1c7f5f6febc Author: Hugo PIGEON <hpigeon@codelutin.com> Date: Wed May 13 11:21:27 2015 +0200 Add a RuntimeException class: SweInternalException Summary of changes: .../scmwebeditor/api/ScmWebEditorConfig.java | 46 ++++++++++++++++++++++ .../scmwebeditor/api/SweInternalException.java | 31 ++++++++------- .../uiweb/actions/AbstractScmWebEditorAction.java | 40 ------------------- .../scmwebeditor/uiweb/actions/BrowseAction.java | 6 +-- .../scmwebeditor/uiweb/actions/EditAction.java | 2 +- .../scmwebeditor/uiweb/actions/LogoutAction.java | 3 +- .../scmwebeditor/uiweb/actions/ResetAction.java | 3 +- .../uiweb/actions/ScmWebEditorCommitAction.java | 2 +- .../scmwebeditor/uiweb/actions/UploadAction.java | 3 +- 9 files changed, 74 insertions(+), 62 deletions(-) copy swe-ui-web/src/main/webapp/js/cancelRedirect.js => swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/SweInternalException.java (62%) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
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 91ccf0ce143fc2ab33cd3a0b88cfc1c7f5f6febc Author: Hugo PIGEON <hpigeon@codelutin.com> Date: Wed May 13 11:21:27 2015 +0200 Add a RuntimeException class: SweInternalException --- .../scmwebeditor/api/ScmWebEditorConfig.java | 46 ++++++++++++++++++++++ .../scmwebeditor/api/SweInternalException.java | 37 +++++++++++++++++ .../uiweb/actions/AbstractScmWebEditorAction.java | 40 ------------------- .../scmwebeditor/uiweb/actions/BrowseAction.java | 6 +-- .../scmwebeditor/uiweb/actions/EditAction.java | 2 +- .../scmwebeditor/uiweb/actions/LogoutAction.java | 3 +- .../scmwebeditor/uiweb/actions/ResetAction.java | 3 +- .../uiweb/actions/ScmWebEditorCommitAction.java | 2 +- .../scmwebeditor/uiweb/actions/UploadAction.java | 3 +- 9 files changed, 94 insertions(+), 48 deletions(-) diff --git a/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmWebEditorConfig.java b/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmWebEditorConfig.java index cf92feb..0d85170 100644 --- a/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmWebEditorConfig.java +++ b/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/ScmWebEditorConfig.java @@ -87,6 +87,52 @@ public class ScmWebEditorConfig { return providers; } + /** + * Gives an instance of the provider for the given SCM type + * @param scmType the type of SCM to use + * @return the provider for the given SCM + */ + public static ScmProvider getProvider(String scmType) { + + Map<String, String> providers = ScmWebEditorConfig.getProviders(); + String providerClassName = providers.get(scmType); + ScmProvider provider = null; + + if (providerClassName != null) { + try { + + Class<?> providerClass = Class.forName(providerClassName); + provider = (ScmProvider) providerClass.newInstance(); + + } catch (ClassNotFoundException e) { + + if (log.isErrorEnabled()) { + log.error("Can not find SCM '" + scmType + "'", e); + } + throw new SweInternalException("Can not find SCM '" + scmType + "'", e); + + } catch (InstantiationException e) { + + if (log.isErrorEnabled()) { + log.error("Can not instantiate class " + providerClassName, e); + } + throw new SweInternalException("Can not instantiate class '" + providerClassName + "'", e); + + } catch (IllegalAccessException e) { + + if (log.isErrorEnabled()) { + log.error("Can not access to class " + providerClassName, e); + } + throw new SweInternalException("Can not access to class " + providerClassName, e); + + } + } else { + throw new SweInternalException("Can not find the provider '" + scmType + "' in the configuration file"); + } + + return provider; + } + public static String getKey() { return getConfig().getOption(ScmWebEditorConfigOption.COOKIES_PRIVATE_KEY.getKey()); } diff --git a/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/SweInternalException.java b/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/SweInternalException.java new file mode 100644 index 0000000..ef31de6 --- /dev/null +++ b/swe-scm-api/src/main/java/org/nuiton/scmwebeditor/api/SweInternalException.java @@ -0,0 +1,37 @@ +/* + * #%L + * ScmWebEditor + * %% + * Copyright (C) 2009 - 2015 CodeLutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ + +package org.nuiton.scmwebeditor.api; + +/** + * Exception thrown when the program encounters a problem independent from the user's input + */ +public class SweInternalException extends RuntimeException { + + public SweInternalException(String message) { + super(message); + } + + public SweInternalException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/AbstractScmWebEditorAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/AbstractScmWebEditorAction.java index 577b601..15ff7ca 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/AbstractScmWebEditorAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/AbstractScmWebEditorAction.java @@ -31,9 +31,7 @@ import org.apache.tika.exception.TikaException; import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.AutoDetectParser; import org.apache.tika.sax.BodyContentHandler; -import org.nuiton.scmwebeditor.api.ScmProvider; import org.nuiton.scmwebeditor.api.ScmSession; -import org.nuiton.scmwebeditor.api.ScmWebEditorConfig; import org.nuiton.web.struts2.BaseAction; import org.xml.sax.SAXException; @@ -350,44 +348,6 @@ public abstract class AbstractScmWebEditorAction extends BaseAction implements S return scmSession; } - /** - * Gives an instance of the provider for the given SCM type - * @param scmType the type of SCM to use - * @return the provider for the given SCM - */ - public ScmProvider getProvider(String scmType) { - - Map<String, String> providers = ScmWebEditorConfig.getProviders(); - String providerClassName = providers.get(scmType); - ScmProvider provider = null; - - if (providerClassName != null) { - try { - - Class<?> providerClass = Class.forName(providerClassName); - provider = (ScmProvider) providerClass.newInstance(); - - } catch (ClassNotFoundException e) { - - if (log.isErrorEnabled()) { - log.error("Can not find SCM " + scmType, e); - } - } catch (InstantiationException e) { - - if (log.isErrorEnabled()) { - log.error("Can not instantiate class " + providerClassName, e); - } - } catch (IllegalAccessException e) { - - if (log.isErrorEnabled()) { - log.error("Can not access to class " + providerClassName, e); - } - } - } - - return provider; - } - protected String[] getUsernamePwFromSession(String repositoryUUID, String username, String pw) { String[] usernamePw = new String[2]; 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 8cedd2d..a377db2 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 @@ -162,7 +162,7 @@ public class BrowseAction extends AbstractScmWebEditorAction implements ServletR HttpSession session = request.getSession(); String sessionId = session.getId(); - ScmProvider provider = getProvider(scmType); + ScmProvider provider = ScmWebEditorConfig.getProvider(scmType); scmSupportsBranches = provider.supportsBranches(); @@ -291,7 +291,7 @@ public class BrowseAction extends AbstractScmWebEditorAction implements ServletR pw = "anonymous"; } - ScmProvider provider = getProvider(scmType); + ScmProvider provider = ScmWebEditorConfig.getProvider(scmType); scmSupportsBranches = provider.supportsBranches(); @@ -312,7 +312,7 @@ public class BrowseAction extends AbstractScmWebEditorAction implements ServletR for (String scm : supportedScms) { - ScmProvider provider = getProvider(scm); + ScmProvider provider = ScmWebEditorConfig.getProvider(scm); if (provider.addressSeemsCompatible(address)) { detectedScm = scm; 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 cdab71f..6a26321 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 @@ -46,7 +46,7 @@ public class EditAction extends ScmWebEditorMainAction { HttpSession session = request.getSession(); String sessionId = session.getId(); - ScmProvider provider = getProvider(scmType); + ScmProvider provider = ScmWebEditorConfig.getProvider(scmType); ScmConnection scmConn = provider.getConnection(address, sessionId); scmSupportsBranches = provider.supportsBranches(); diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/LogoutAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/LogoutAction.java index cee4d05..1c8e8f5 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/LogoutAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/LogoutAction.java @@ -27,6 +27,7 @@ import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.nuiton.scmwebeditor.api.ScmConnection; import org.nuiton.scmwebeditor.api.ScmProvider; +import org.nuiton.scmwebeditor.api.ScmWebEditorConfig; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; @@ -67,7 +68,7 @@ public class LogoutAction extends AbstractScmWebEditorAction implements ServletR String sessionId = request.getSession().getId(); - ScmProvider provider = getProvider(scmType); + ScmProvider provider = ScmWebEditorConfig.getProvider(scmType); ScmConnection scmConn = provider.getConnection(address, sessionId); // getting the repository unique identifier if it is possible diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ResetAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ResetAction.java index e18c166..62b2182 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ResetAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ResetAction.java @@ -26,6 +26,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.scmwebeditor.api.ScmConnection; import org.nuiton.scmwebeditor.api.ScmProvider; +import org.nuiton.scmwebeditor.api.ScmWebEditorConfig; import javax.naming.AuthenticationException; import java.io.File; @@ -78,7 +79,7 @@ public class ResetAction extends AbstractScmWebEditorAction { String sessionId = request.getSession().getId(); - ScmProvider provider = getProvider(scmType); + ScmProvider provider = ScmWebEditorConfig.getProvider(scmType); ScmConnection scmConn = provider.getConnection(address, sessionId); // getting the repository unique identifier if it is possible diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ScmWebEditorCommitAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ScmWebEditorCommitAction.java index 9642dc5..ccfe6bc 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ScmWebEditorCommitAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/ScmWebEditorCommitAction.java @@ -252,7 +252,7 @@ public class ScmWebEditorCommitAction extends AbstractScmWebEditorAction impleme HttpSession session = request.getSession(); String sessionId = session.getId(); - ScmProvider provider = getProvider(scmType); + ScmProvider provider = ScmWebEditorConfig.getProvider(scmType); ScmConnection scmConn = provider.getConnection(address, sessionId); // if the repository is not protected for writing, we get its UUID diff --git a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/UploadAction.java b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/UploadAction.java index 65366dc..8cb8b02 100644 --- a/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/UploadAction.java +++ b/swe-ui-web/src/main/java/org/nuiton/scmwebeditor/uiweb/actions/UploadAction.java @@ -26,6 +26,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.struts2.interceptor.ServletRequestAware; import org.nuiton.scmwebeditor.api.ScmConnection; import org.nuiton.scmwebeditor.api.ScmProvider; +import org.nuiton.scmwebeditor.api.ScmWebEditorConfig; import org.nuiton.scmwebeditor.api.dto.UploadDto; import org.nuiton.scmwebeditor.api.dto.UploadResultDto; @@ -148,7 +149,7 @@ public class UploadAction extends AbstractScmWebEditorAction implements ServletR HttpSession session = request.getSession(); String sessionId = session.getId(); - ScmProvider provider = getProvider(scmType); + ScmProvider provider = ScmWebEditorConfig.getProvider(scmType); if (provider == null) { error = true; -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm