/*
* Copyright 2012 GitHub Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.github.mobile.core.issue;
import android.text.TextUtils;
import org.eclipse.egit.github.core.Issue;
import org.eclipse.egit.github.core.PullRequest;
/**
* Utilities for working with {@link Issue} models
*/
public class IssueUtils {
/**
* Is the given issue a pull request?
*
* @param issue
* @return true if pull request, false otherwise
*/
public static boolean isPullRequest(final Issue issue) {
return issue != null && issue.getPullRequest() != null
&& !TextUtils.isEmpty(issue.getPullRequest().getHtmlUrl());
}
/**
* Convert {@link PullRequest} model {@link Issue} model
*
* @param pullRequest
* @return issue
*/
public static Issue toIssue(final PullRequest pullRequest) {
if (pullRequest == null)
return null;
Issue issue = new Issue();
issue.setAssignee(pullRequest.getAssignee());
issue.setBody(pullRequest.getBody());
issue.setBodyHtml(pullRequest.getBodyHtml());
issue.setBodyText(pullRequest.getBodyText());
issue.setClosedAt(pullRequest.getClosedAt());
issue.setComments(pullRequest.getComments());
issue.setCreatedAt(pullRequest.getCreatedAt());
issue.setHtmlUrl(pullRequest.getHtmlUrl());
issue.setId(pullRequest.getId());
issue.setMilestone(pullRequest.getMilestone());
issue.setNumber(pullRequest.getNumber());
issue.setPullRequest(pullRequest);
issue.setState(pullRequest.getState());
issue.setTitle(pullRequest.getTitle());
issue.setUpdatedAt(pullRequest.getUpdatedAt());
issue.setUrl(pullRequest.getUrl());
issue.setUser(pullRequest.getUser());
return issue;
}
}