Skip to content

Commit ade4e67

Browse files
committed
Move endpoint implementations to impl package
1 parent 9888e21 commit ade4e67

File tree

62 files changed

+132
-164
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+132
-164
lines changed

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketGitSCMBuilder.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketRepository;
3030
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketRepositoryProtocol;
3131
import com.cloudbees.jenkins.plugins.bitbucket.api.PullRequestBranchType;
32+
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpoint;
3233
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
33-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.AbstractBitbucketEndpoint;
34-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketServerEndpoint;
34+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketServerEndpoint;
3535
import com.cloudbees.jenkins.plugins.bitbucket.impl.extension.FallbackToOtherRepositoryGitSCMExtension;
3636
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
3737
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketCredentials;
@@ -112,11 +112,10 @@ public BitbucketGitSCMBuilder(@NonNull BitbucketSCMSource scmSource, @NonNull SC
112112
this.scmSource = scmSource;
113113

114114
String serverURL = scmSource.getServerUrl();
115-
AbstractBitbucketEndpoint endpoint = (AbstractBitbucketEndpoint) BitbucketEndpointProvider
116-
.lookupEndpoint(serverURL)
115+
BitbucketEndpoint endpoint = BitbucketEndpointProvider.lookupEndpoint(serverURL)
117116
.orElse(new BitbucketServerEndpoint(null, serverURL, false, null, false, null));
118117

119-
String repositoryURL = endpoint.getRepositoryUrl(scmSource.getRepoOwner(), scmSource.getRepository());
118+
String repositoryURL = endpoint.getRepositoryURL(scmSource.getRepoOwner(), scmSource.getRepository());
120119
if (BitbucketApiUtils.isCloud(endpoint.getServerURL())) {
121120
withBrowser(new BitbucketWeb(repositoryURL));
122121
} else {

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketSCMNavigator.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@
3131
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketTeam;
3232
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
3333
import com.cloudbees.jenkins.plugins.bitbucket.client.repository.UserRoleInRepository;
34-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.AbstractBitbucketEndpoint;
35-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketCloudEndpoint;
36-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketServerEndpoint;
3734
import com.cloudbees.jenkins.plugins.bitbucket.impl.avatars.BitbucketTeamAvatarMetadataAction;
35+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketCloudEndpoint;
36+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketServerEndpoint;
3837
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
3938
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketCredentials;
4039
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.MirrorListSupplier;
@@ -232,7 +231,7 @@ public void setServerUrl(@CheckForNull String serverUrl) {
232231
@Deprecated(since = "936.4.0", forRemoval = true)
233232
@NonNull
234233
public String getEndpointJenkinsRootUrl() {
235-
return AbstractBitbucketEndpoint.getEndpointJenkinsRootUrl(serverUrl);
234+
return BitbucketEndpointProvider.lookupEndpointJenkinsRootURL(serverUrl);
236235
}
237236

238237
@NonNull

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketSCMSource.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,11 @@
4040
import com.cloudbees.jenkins.plugins.bitbucket.api.PullRequestBranchType;
4141
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
4242
import com.cloudbees.jenkins.plugins.bitbucket.client.repository.UserRoleInRepository;
43-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.AbstractBitbucketEndpoint;
44-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketCloudEndpoint;
4543
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketEndpointConfiguration;
46-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketServerEndpoint;
4744
import com.cloudbees.jenkins.plugins.bitbucket.hooks.HasPullRequests;
4845
import com.cloudbees.jenkins.plugins.bitbucket.impl.avatars.BitbucketRepoAvatarMetadataAction;
46+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketCloudEndpoint;
47+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketServerEndpoint;
4948
import com.cloudbees.jenkins.plugins.bitbucket.impl.extension.BitbucketEnvVarExtension;
5049
import com.cloudbees.jenkins.plugins.bitbucket.impl.extension.GitClientAuthenticatorExtension;
5150
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
@@ -295,9 +294,10 @@ public void setServerUrl(@CheckForNull String serverUrl) {
295294
}
296295
}
297296

297+
@Deprecated(since = "936.4.0", forRemoval = true)
298298
@NonNull
299299
public String getEndpointJenkinsRootURL() {
300-
return AbstractBitbucketEndpoint.getEndpointJenkinsRootUrl(serverUrl);
300+
return BitbucketEndpointProvider.lookupEndpointJenkinsRootURL(serverUrl);
301301
}
302302

303303
@Override

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/api/BitbucketAuthenticator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*/
2424
package com.cloudbees.jenkins.plugins.bitbucket.api;
2525

26-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketCloudEndpoint;
26+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketCloudEndpoint;
2727
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
2828
import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials;
2929
import hudson.plugins.git.GitSCM;

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/api/endpoint/BitbucketEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public interface BitbucketEndpoint extends Describable<BitbucketEndpoint> {
103103
*
104104
* @return the verbatim setting provided by endpoint configuration
105105
*/
106-
@CheckForNull
106+
@NonNull
107107
String getEndpointJenkinsRootURL();
108108

109109
boolean isEnableHookSignature();

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/api/endpoint/BitbucketEndpointProvider.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,23 @@
2323
*/
2424
package com.cloudbees.jenkins.plugins.bitbucket.api.endpoint;
2525

26-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketCloudEndpoint;
2726
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketEndpointConfiguration;
28-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketServerEndpoint;
27+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketCloudEndpoint;
28+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketServerEndpoint;
2929
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
3030
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.URLUtils;
3131
import edu.umd.cs.findbugs.annotations.CheckForNull;
3232
import edu.umd.cs.findbugs.annotations.NonNull;
3333
import edu.umd.cs.findbugs.annotations.Nullable;
34+
import hudson.Util;
3435
import hudson.util.ListBoxModel;
3536
import java.util.Collection;
3637
import java.util.List;
3738
import java.util.Objects;
3839
import java.util.Optional;
3940
import java.util.function.UnaryOperator;
4041
import org.apache.commons.lang3.StringUtils;
42+
import org.jenkinsci.plugins.displayurlapi.DisplayURLProvider;
4143

4244
/**
4345
* A provider of {@link BitbucketEndpoint}s
@@ -94,6 +96,21 @@ public static <T extends BitbucketEndpoint> Optional<T> lookupEndpoint(@CheckFor
9496
.findFirst();
9597
}
9698

99+
/**
100+
* Jenkins Server Root URL to be used by the Bitbucket endpoint that matches
101+
* the given serverURL. The global setting from Jenkins.get().getRootUrl()
102+
* will be used if this field is null or equals an empty string.
103+
*
104+
* @param serverURL the server url to check.
105+
* @return the verbatim setting provided by endpoint configuration
106+
*/
107+
@NonNull
108+
public static String lookupEndpointJenkinsRootURL(@CheckForNull String serverURL) {
109+
return lookupEndpoint(serverURL)
110+
.map(BitbucketEndpoint::getEndpointJenkinsRootURL)
111+
.orElse(Util.ensureEndsWith(URLUtils.normalizeURL(Util.fixEmptyAndTrim(DisplayURLProvider.get().getRoot())), "/"));
112+
}
113+
97114
/**
98115
* Checks to see if the supplied server URL is defined in the global
99116
* configuration.

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/client/BitbucketCloudApiFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketApiFactory;
2828
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketAuthenticator;
2929
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
30-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketCloudEndpoint;
30+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketCloudEndpoint;
3131
import edu.umd.cs.findbugs.annotations.CheckForNull;
3232
import edu.umd.cs.findbugs.annotations.NonNull;
3333
import edu.umd.cs.findbugs.annotations.Nullable;

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/endpoints/AbstractBitbucketEndpointDescriptor.java

Lines changed: 0 additions & 36 deletions
This file was deleted.

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/endpoints/BitbucketEndpointConfiguration.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525

2626
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpoint;
2727
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
28+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketCloudEndpoint;
29+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketServerEndpoint;
2830
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
2931
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.URLUtils;
3032
import edu.umd.cs.findbugs.annotations.CheckForNull;
@@ -156,9 +158,9 @@ public boolean configure(StaplerRequest2 req, JSONObject json) throws FormExcept
156158
* @return the list of endpoints
157159
*/
158160
@NonNull
159-
public List<AbstractBitbucketEndpoint /*BitbucketEndpoint*/> getEndpoints() {
161+
public List<BitbucketEndpoint /*BitbucketEndpoint*/> getEndpoints() {
160162
// make a local copy so if changes in meanwhile you do not get NPE
161-
List/*<BitbucketEndpoint>*/ localEndpoints = this.endpoints;
163+
List<BitbucketEndpoint> localEndpoints = this.endpoints;
162164
return CollectionUtils.isEmpty(localEndpoints)
163165
? List.of(new BitbucketCloudEndpoint())
164166
: Collections.unmodifiableList(localEndpoints);

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/filesystem/BitbucketSCMFileSystem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketApiFactory;
3232
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketAuthenticator;
3333
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketCommit;
34-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketServerEndpoint;
34+
import com.cloudbees.jenkins.plugins.bitbucket.impl.endpoint.BitbucketServerEndpoint;
3535
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
3636
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.DateUtils;
3737
import com.cloudbees.jenkins.plugins.bitbucket.server.BitbucketServerVersion;

0 commit comments

Comments
 (0)