diff --git a/pom.xml b/pom.xml
index b839f66..de734e9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,10 +91,11 @@
provided
- com.sun.jersey
- jersey-client
- 1.8
- compile
+ com.atlassian.plugins.rest
+ com.atlassian.jersey-library
+ 6.0.2
+ provided
+ pom
org.codehaus.jackson
diff --git a/src/main/java/com/englishtown/bitbucket/hook/MirrorRemoteAdmin.java b/src/main/java/com/englishtown/bitbucket/hook/MirrorRemoteAdmin.java
index 5235ba4..5ef3629 100644
--- a/src/main/java/com/englishtown/bitbucket/hook/MirrorRemoteAdmin.java
+++ b/src/main/java/com/englishtown/bitbucket/hook/MirrorRemoteAdmin.java
@@ -25,90 +25,94 @@ public class MirrorRemoteAdmin {
private final I18nService i18nService;
Client client;
- public MirrorRemoteAdmin(PasswordEncryptor passwordEncryptor,I18nService i18nService) {
- this.passwordEncryptor=passwordEncryptor;
- this.i18nService=i18nService;
- ClientConfig config=new DefaultClientConfig();
+
+ public MirrorRemoteAdmin(PasswordEncryptor passwordEncryptor, I18nService i18nService) {
+ this.passwordEncryptor = passwordEncryptor;
+ this.i18nService = i18nService;
+ ClientConfig config = new DefaultClientConfig();
this.client = Client.create(config);
}
- private void addToStream(StringOutputHandler outputHandler,String text) {
+
+ private void addToStream(StringOutputHandler outputHandler, String text) {
try {
outputHandler.process(new ByteArrayInputStream(text.getBytes()));
} catch (ProcessException e) {
- log.error("Failed to process response: "+e.getMessage());
+ log.error("Failed to process response: " + e.getMessage());
}
}
+
public void delete(MirrorSettings settings, Repository repository, StringOutputHandler outputHandler) {
String plainPassword = passwordEncryptor.decrypt(settings.password);
String plainPrivateToken = passwordEncryptor.decrypt(settings.privateToken);
- PasswordHandler passwordHandler = new PasswordHandler(plainPassword,plainPrivateToken,
+ PasswordHandler passwordHandler = new PasswordHandler(plainPassword, plainPrivateToken,
new GitCommandExitHandler(i18nService, repository));
- RuntimeException e=null;
+ RuntimeException e = null;
try {
delete(settings, repository, passwordHandler);
} catch (RuntimeException deleteException) {
- e=deleteException;
+ e = deleteException;
}
- addToStream(outputHandler,passwordHandler.getOutput());
- if(e!=null) {
+ addToStream(outputHandler, passwordHandler.getOutput());
+ if (e != null) {
throw e;
}
}
+
private void delete(MirrorSettings settings, Repository repository, PasswordHandler passwordHandler) {
ObjectMapper mapper = new ObjectMapper();
String plainPrivateToken = passwordEncryptor.decrypt(settings.privateToken);
- if(settings.restApiURL.isEmpty()) {
- log.error("Remote REST Api URL not configured for "+ repository.getName());
+ if (settings.restApiURL.isEmpty()) {
+ log.error("Remote REST Api URL not configured for " + repository.getName());
return;
}
WebResource webResource = client
- .resource(settings.restApiURL+"/api/v4/projects")
- .queryParam("search",repository.getName());
- if(!settings.privateToken.isEmpty()) {
+ .resource(settings.restApiURL + "/api/v4/projects")
+ .queryParam("search", repository.getName());
+ if (!settings.privateToken.isEmpty()) {
- webResource=webResource.queryParam("private_token", plainPrivateToken);
+ webResource = webResource.queryParam("private_token", plainPrivateToken);
}
ClientResponse response = webResource.accept(MediaType.APPLICATION_JSON)
.get(ClientResponse.class);
if (response.getStatus() != 200) {
- addToStream(passwordHandler,response.toString());
+ addToStream(passwordHandler, response.toString());
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
JsonNode output;
try {
output = mapper.readTree(response.getEntityInputStream());
- } catch (IOException e){
- addToStream(passwordHandler,e.toString());
- throw new RuntimeException("Failed : Invalid response data from "+ settings.restApiURL + " : " + e.getMessage());
+ } catch (IOException e) {
+ addToStream(passwordHandler, e.toString());
+ throw new RuntimeException("Failed : Invalid response data from " + settings.restApiURL + " : " + e.getMessage());
}
- Integer repoId=null;
- for(JsonNode project: output) {
- if(project.get("path_with_namespace").asText().equals(repository.getProject().getKey() +"/"+repository.getName())) {
- repoId= project.get("id").asInt();
+ Integer repoId = null;
+ for (JsonNode project : output) {
+ if (project.get("path_with_namespace").asText().equals(repository.getProject().getKey() + "/" + repository.getName())) {
+ repoId = project.get("id").asInt();
break;
}
}
- if(repoId == null) {
+ if (repoId == null) {
addToStream(passwordHandler, response.toString());
throw new RuntimeException("Remote repository not found");
}
webResource = client
- .resource(settings.restApiURL+"/api/v4/projects/"+repoId);
- if(!settings.privateToken.isEmpty()) {
- webResource=webResource.queryParam("private_token", plainPrivateToken);
+ .resource(settings.restApiURL + "/api/v4/projects/" + repoId);
+ if (!settings.privateToken.isEmpty()) {
+ webResource = webResource.queryParam("private_token", plainPrivateToken);
}
response = webResource.accept(MediaType.APPLICATION_JSON)
.delete(ClientResponse.class);
if (response.getStatus() != 202) {
- addToStream(passwordHandler,response.toString());
+ addToStream(passwordHandler, response.toString());
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
- addToStream(passwordHandler,response.toString());
+ addToStream(passwordHandler, response.toString());
}
}
diff --git a/src/main/java/com/englishtown/bitbucket/hook/MirrorRepositoryHook.java b/src/main/java/com/englishtown/bitbucket/hook/MirrorRepositoryHook.java
index 85b9e6e..a58ae67 100644
--- a/src/main/java/com/englishtown/bitbucket/hook/MirrorRepositoryHook.java
+++ b/src/main/java/com/englishtown/bitbucket/hook/MirrorRepositoryHook.java
@@ -11,7 +11,6 @@ import com.atlassian.bitbucket.i18n.I18nService;
import com.atlassian.bitbucket.project.Project;
import com.atlassian.bitbucket.repository.Repository;
import com.atlassian.bitbucket.scm.git.GitScm;
-import com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler;
import com.atlassian.bitbucket.scope.ProjectScope;
import com.atlassian.bitbucket.scope.RepositoryScope;
import com.atlassian.bitbucket.scope.Scope;