diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/BranchInput.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/BranchInput.java index cfe9a996eb..506bcd451b 100644 --- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/BranchInput.java +++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/BranchInput.java @@ -19,4 +19,5 @@ import com.google.gerrit.extensions.restapi.DefaultInput; public class BranchInput { @DefaultInput public String revision; + public String ref; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/BranchApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/BranchApiImpl.java index ec3d9ff7ae..7fbb1f6e40 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/BranchApiImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/BranchApiImpl.java @@ -65,11 +65,8 @@ public class BranchApiImpl implements BranchApi { } @Override - public BranchApi create(BranchInput in) throws RestApiException { + public BranchApi create(BranchInput input) throws RestApiException { try { - CreateBranch.Input input = new CreateBranch.Input(); - input.ref = ref; - input.revision = in.revision; createBranchFactory.create(ref).apply(project, input); return this; } catch (IOException e) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateBranch.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateBranch.java index e41acbe272..187f892bd4 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateBranch.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateBranch.java @@ -17,9 +17,9 @@ package com.google.gerrit.server.project; import com.google.common.collect.Iterables; import com.google.gerrit.common.ChangeHooks; import com.google.gerrit.extensions.api.projects.BranchInfo; +import com.google.gerrit.extensions.api.projects.BranchInput; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.BadRequestException; -import com.google.gerrit.extensions.restapi.DefaultInput; import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.RestModifyView; import com.google.gerrit.reviewdb.client.Branch; @@ -29,7 +29,6 @@ import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.extensions.events.GitReferenceUpdated; import com.google.gerrit.server.git.GitRepositoryManager; -import com.google.gerrit.server.project.CreateBranch.Input; import com.google.gerrit.server.util.MagicBranch; import com.google.inject.Inject; import com.google.inject.Provider; @@ -54,16 +53,9 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Collections; -public class CreateBranch implements RestModifyView { +public class CreateBranch implements RestModifyView { private static final Logger log = LoggerFactory.getLogger(CreateBranch.class); - public static class Input { - public String ref; - - @DefaultInput - public String revision; - } - public interface Factory { CreateBranch create(String ref); } @@ -90,11 +82,11 @@ public class CreateBranch implements RestModifyView { } @Override - public BranchInfo apply(ProjectResource rsrc, Input input) + public BranchInfo apply(ProjectResource rsrc, BranchInput input) throws BadRequestException, AuthException, ResourceConflictException, IOException { if (input == null) { - input = new Input(); + input = new BranchInput(); } if (input.ref != null && !ref.equals(input.ref)) { throw new BadRequestException("ref must match URL"); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutBranch.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutBranch.java index f8b201b65f..e06fb8633f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutBranch.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutBranch.java @@ -14,16 +14,16 @@ package com.google.gerrit.server.project; +import com.google.gerrit.extensions.api.projects.BranchInput; import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.RestModifyView; -import com.google.gerrit.server.project.CreateBranch.Input; import com.google.inject.Singleton; @Singleton -public class PutBranch implements RestModifyView { +public class PutBranch implements RestModifyView { @Override - public Object apply(BranchResource rsrc, Input input) + public Object apply(BranchResource rsrc, BranchInput input) throws ResourceConflictException { throw new ResourceConflictException("Branch \"" + rsrc.getBranchInfo().ref + "\" already exists");