Java tutorial
/* * Copyright 2002-2016 the original author or authors. * * 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 io.pivotal.cla.mvc; import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import io.pivotal.cla.mvc.util.UrlBuilder; import io.pivotal.cla.service.ClaPullRequestStatusRequest; import io.pivotal.cla.service.github.PullRequestStatus; import lombok.Data; /** * @author Rob Winch * */ @Data public class ClaRequest { String claName; String repositoryId; Integer pullRequestId; public ClaPullRequestStatusRequest createUpdatePullRequestStatus(String currentUserGitHubLogin) throws Exception { if (pullRequestId == null) { return null; } PullRequestStatus commitStatus = new PullRequestStatus(); commitStatus.setRepoId(repositoryId); commitStatus.setPullRequestId(pullRequestId); commitStatus.setUrl(signUrl()); commitStatus.setSyncUrl(syncUrl()); commitStatus.setFaqUrl(faqUrl()); commitStatus.setGitHubUsername(currentUserGitHubLogin); commitStatus.setPullRequestState(PullRequestStatus.UNKNOWN_PULL_REQUEST_STATE); ClaPullRequestStatusRequest request = new ClaPullRequestStatusRequest(); request.setClaName(claName); request.setCommitStatus(commitStatus); return request; } private String signUrl() throws Exception { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); return UrlBuilder.signUrl().request(request).claName(claName).repositoryId(repositoryId) .pullRequestId(pullRequestId).build(); } private String syncUrl() throws Exception { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); return UrlBuilder.createSyncUrl(request, claName, repositoryId, pullRequestId); } private String faqUrl() throws Exception { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); return UrlBuilder.createAboutUrl(request); } }