diff options
author | Maxim Epishchev <epishev@garant.ru> | 2016-02-03 14:34:44 +0300 |
---|---|---|
committer | Maxim Epishchev <epishev@garant.ru> | 2016-02-03 14:34:44 +0300 |
commit | 340c1c44bad78992ec49746d3776c3cff1a96fbd (patch) | |
tree | 722b0cc5d457a02e4e8fd283216fcec1b3e16a5b /src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketPullRequestsBuilder.java | |
parent | 4b880c7045ebf42974f833ffe9b11084c86c3408 (diff) | |
download | bbprb-340c1c44bad78992ec49746d3776c3cff1a96fbd.tar.gz |
Limit size "key" field in BitBucket POST API
Refactoring method ApiClient::computeAPIKey() to check maximum size of computed key.
Now field size contolled by special constant ApiClient::MAX_KEY_SIZE_BB_API.
This changes will resolve, in my opinion, issue with continuously rebuilding: method ApiClient::hasBuildStatus() fail and PR's are always trigger new builds.
Diffstat (limited to 'src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketPullRequestsBuilder.java')
-rw-r--r-- | src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketPullRequestsBuilder.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketPullRequestsBuilder.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketPullRequestsBuilder.java index c5d4159..d337796 100644 --- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketPullRequestsBuilder.java +++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketPullRequestsBuilder.java @@ -2,10 +2,15 @@ package bitbucketpullrequestbuilder.bitbucketpullrequestbuilder; import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket.Pullrequest; import hudson.model.AbstractProject; + +import java.io.UnsupportedEncodingException; import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.Collection; +import java.util.logging.Level; import java.util.logging.Logger; + import org.apache.commons.codec.binary.Hex; /** @@ -54,12 +59,20 @@ public class BitbucketPullRequestsBuilder { return this.project; } + /** + * Return MD5 hashed full project name or full project name, if MD5 hash provider inaccessible + * @return unique project id + */ public String getProjectId() { try { final MessageDigest MD5 = MessageDigest.getInstance("MD5"); return new String(Hex.encodeHex(MD5.digest(this.project.getFullName().getBytes("UTF-8")))); - } catch (Exception exc) { - logger.severe(exc.toString()); + } catch (NoSuchAlgorithmException exc) { + logger.log(Level.WARNING, "Failed to produce hash", exc); + exc.printStackTrace(); + } catch (UnsupportedEncodingException exc) { + logger.log(Level.WARNING, "Failed to produce hash", exc); + exc.printStackTrace(); } return this.project.getFullName(); } |