Use static factory methods instead of overloaded constructors

Change-Id: Ib10e0798dcfb9f1b611caec393926c95eff4c2a2
This commit is contained in:
Stefan Lay 2013-11-28 11:18:16 +01:00
parent 53616a85ef
commit ec0d78d093
2 changed files with 30 additions and 21 deletions

View File

@ -321,7 +321,7 @@ public RebaseResult call() throws GitAPIException, NoHeadException,
}
return finishRebase(newHead, lastStepWasForward);
} catch (CheckoutConflictException cce) {
return new RebaseResult(cce.getConflictingPaths());
return RebaseResult.conflicts(cce.getConflictingPaths());
} catch (IOException ioe) {
throw new JGitInternalException(ioe.getMessage(), ioe);
}
@ -340,7 +340,7 @@ private RebaseResult processStep(RebaseTodoLine step, boolean shouldPick)
RevCommit commitToPick = walk.parseCommit(ids.iterator().next());
if (shouldPick) {
if (monitor.isCancelled())
return new RebaseResult(commitToPick, Status.STOPPED);
return RebaseResult.result(Status.STOPPED, commitToPick);
RebaseResult result = cherryPickCommit(commitToPick);
if (result != null)
return result;
@ -403,8 +403,8 @@ private RebaseResult cherryPickCommit(RevCommit commitToPick)
switch (cherryPickResult.getStatus()) {
case FAILED:
if (operation == Operation.BEGIN)
return abort(new RebaseResult(
cherryPickResult.getFailingPaths()));
return abort(RebaseResult.failed(cherryPickResult
.getFailingPaths()));
else
return stop(commitToPick, Status.STOPPED);
case CONFLICTING:
@ -735,7 +735,7 @@ private RebaseResult stop(RevCommit commitToPick, RebaseResult.Status status)
// Remove cherry pick state file created by CherryPickCommand, it's not
// needed for rebase
repo.writeCherryPickHead(null);
return new RebaseResult(commitToPick, status);
return RebaseResult.result(status, commitToPick);
}
String toAuthorScript(PersonIdent author) {

View File

@ -190,28 +190,36 @@ private RebaseResult(Status status) {
currentCommit = null;
}
/**
* Create <code>RebaseResult</code> with status {@link Status#STOPPED}
*
* @param commit
* current commit
* @param status
*/
RebaseResult(RevCommit commit, RebaseResult.Status status) {
private RebaseResult(Status status, RevCommit commit) {
this.status = status;
currentCommit = commit;
}
/**
* Create <code>RebaseResult</code>
*
* @param status
* @param commit
* current commit
* @return the RebaseResult
*/
static RebaseResult result(RebaseResult.Status status,
RevCommit commit) {
return new RebaseResult(status, commit);
}
/**
* Create <code>RebaseResult</code> with status {@link Status#FAILED}
*
* @param failingPaths
* list of paths causing this rebase to fail
* @return the RebaseResult
*/
RebaseResult(Map<String, MergeFailureReason> failingPaths) {
status = Status.FAILED;
currentCommit = null;
this.failingPaths = failingPaths;
static RebaseResult failed(
Map<String, MergeFailureReason> failingPaths) {
RebaseResult result = new RebaseResult(Status.FAILED);
result.failingPaths = failingPaths;
return result;
}
/**
@ -219,11 +227,12 @@ private RebaseResult(Status status) {
*
* @param conflicts
* the list of conflicting paths
* @return the RebaseResult
*/
RebaseResult(List<String> conflicts) {
status = Status.CONFLICTS;
currentCommit = null;
this.conflicts = conflicts;
static RebaseResult conflicts(List<String> conflicts) {
RebaseResult result = new RebaseResult(Status.CONFLICTS);
result.conflicts = conflicts;
return result;
}
/**