Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.foobar;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.web.client.RestTemplateBuilder;
- import org.springframework.http.HttpEntity;
- import org.springframework.http.HttpMethod;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Component;
- import org.springframework.util.LinkedMultiValueMap;
- import org.springframework.util.MultiValueMap;
- import org.springframework.web.client.RestTemplate;
- import com.Resource;
- import com.ResourceTypeEntity;
- import com.UserEntity;
- import java.security.Principal;
- import java.util.UUID;
- @Component
- public class TicketService
- {
- private RestTemplate restTemplate;
- private static final String DEFAULT_RESOURCE_URL = "http://foo/bar/";
- @Autowired
- public TicketService(RestTemplateBuilder restTemplate)
- {
- this.restTemplate = restTemplate.build();
- }
- // Rest client to create ticket
- public String createTicket(Principal principal, RRResource rrResource, UUID ticketReference, String subject)
- {
- String delimiter = " , ";
- String stringBuilder = " n sponser ID==>> " + rrResource.getGtlUserId() +
- " n Resource Name ==>> " + rrResource.getResourceName() +
- " n Resource Reference ==>> " + rrResource.getTicketReference() +
- " n Requestor ID ==>> " + principal.getName() +
- " n More Info ==>> " + rrResource.getMoreInfo() +
- " n Service Name ==>> " + rrResource.getServiceName() +
- " n Project Name ==>> " + rrResource.getProjectName() +
- " n Details Of Requested Resource on URL ==>> " + DEFAULT_RESOURCE_URL+ticketReference + delimiter+
- " n Request Details ==>> " + rrResource.getResourceRequestCont();
- String content = "queue: foonRequestor: " + principal.getName() + "barnSubject: " + subject + "nText: " + stringBuilder;
- String url = "https://foo/REST/1.0/ticket/new?user=x&pass=y";
- String response = sendTicketRequest(content, url);
- return response.trim().substring(27,32);// parsing to get just ticket number out of response
- }
- // Rest client to edit ticket
- public String editTicket(RRResource rrResource, UUID ticketReference) {
- String status = "";
- System.out.println("status --------" + rrResource.getStatus());
- if (rrResource.getStatus().equals("resolved") || rrResource.getStatus().equals("cancelled") ) {
- status = "resolved";
- }
- String s = " n Status ==>>" + rrResource.getStatus() + " n Assign Resource Name ==>> " + rrResource.getResourceName() +
- " n sponser ID==>>" + rrResource.getGtlUserId() + " n requestor ID ==>> " + rrResource.getRequestorName() +
- " n Requested Resource content ==>> " + rrResource.getResourceRequestCont() + " n More Info ==>> " + rrResource.getMoreInfo() +
- " n Service Name ==>> " + rrResource.getServiceName() + " n Project Name ==>> " + rrResource.getProjectName() +
- " n Details Of Resource Requested ==>> " + DEFAULT_RESOURCE_URL+ticketReference ;
- String url = "https:foo/REST/1.0/ticket/" + rrResource.getTicketNo() + "/comment?x=rup&pass=y";
- String content = "Action: commentnStatus: " + status + "nText: " + s;
- String response = sendTicketRequest(content, url);
- return response;
- }
- private String sendTicketRequest(String content, String url) {
- System.out.println("Ticket Content: " + content);
- MultiValueMap<String, Object> parts = new LinkedMultiValueMap<String, Object>();
- parts.add("content", content);
- HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<MultiValueMap<String, Object>>(parts);
- ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
- System.out.println("response.getBody()" + response.getBody());
- return response.getBody();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement