Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.imosadapter.srd.main;
- import com.fasterxml.jackson.core.type.TypeReference;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.trafigura.titan.imosadapter.srd.constant.ApiRequestUtility;
- import com.trafigura.titan.imosadapter.srd.constant.SrdApiConstant;
- import com.trafigura.titan.imosadapter.srd.model.company.Company;
- import com.trafigura.titan.imosadapter.srd.model.legalentity.LegalEntity;
- import org.slf4j.Logger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import java.io.IOException;
- import java.util.List;
- import static org.slf4j.LoggerFactory.getLogger;
- public class ImosSrdSample {
- @Autowired
- private ApiRequestUtility apiRequestUtility;
- @Value("${imos.srd.filepath}")
- private String imosFilepath;
- private static final Logger LOG = getLogger(ImosSrdMapper.class);
- ObjectMapper objectMapper = new ObjectMapper();
- String legalEntitiesOutput = null;
- public void getSrdDetails() throws IOException {
- LOG.info("Getting Legal Entities For Company Roles");
- String companyRoleOutput = apiRequestUtility.srdApiCall(SrdApiConstant.COMPANIES_URL, SrdApiConstant.COMPANIES_INPUT);
- //LOG.info("Company Role Output " + companyRoleOutput);
- try {
- List<LegalEntity> legalEntities = objectMapper.reader().forType(new TypeReference<List<LegalEntity>>() {
- }).readValue(companyRoleOutput);
- for (LegalEntity legalEntity : legalEntities) {
- LOG.info("Getting Legal Entities Information");
- legalEntitiesOutput = apiRequestUtility.srdApiCall(SrdApiConstant.LEGALENTITIES_URL,
- apiRequestUtility.jsonInput(legalEntity.getIdentifier(), SrdApiConstant.GUID));
- //LOG.info("Legal Entities Output " + legalEntitiesOutput);
- Company company = objectMapper.readValue(legalEntitiesOutput, Company.class);
- }
- } catch (IOException e) {
- LOG.error("No File Path found. So File not generated", e);
- }
- }
- }
- package com.imosadapter.srd.constant;
- import org.springframework.stereotype.Component;
- @Component
- public class SrdApiConstant {
- private SrdApiConstant() {
- }
- public static final String BASE_URL = "http://localhost:9100/referencedatanew/";
- public static final String COMPANIES_URL = "LegalEntitiesService/GetCompanies";
- public static final String LEGALENTITIES_URL = "LegalEntitiesService/GetCompanyByGUID";
- public static final String COMPANIES_INPUT = "{"CompanyCode":"AGSHCODE"}";
- public static final String GUID = "Guid";
- public static final String LE_GUID = "LegalEntityGUID";
- }
- package com.imosadapter.srd.constant;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.node.ObjectNode;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.stereotype.Component;
- @Component
- public class ApiRequestUtility {
- private static final Logger LOG = LoggerFactory.getLogger(ApiRequestUtility.class);
- public String srdApiCall(String url, String jsonInputString) throws IOException {
- String user = SrdApiConstant.USER;
- String companyOutput = null;
- StringBuffer result = new StringBuffer();
- String baseUrl = SrdApiConstant.BASE_URL + url;
- URL companyUrl = new URL(SrdApiConstant.BASE_URL + url);
- HttpURLConnection conn = (HttpURLConnection) companyUrl.openConnection();
- conn.setDoOutput(true);
- conn.setRequestMethod("POST");
- conn.setRequestProperty("Content-Type", "application/json");
- conn.setRequestProperty("User", "user");
- OutputStream os = conn.getOutputStream();
- os.write(jsonInputString.getBytes());
- os.flush();
- if (conn.getResponseCode() != 200) {
- throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
- }
- BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
- LOG.info("Output from Server .... n");
- while ((companyOutput = br.readLine()) != null) {
- result.append(companyOutput);
- }
- br.close();
- conn.disconnect();
- LOG.info("url : " + baseUrl);
- return result.toString();
- }
- public String jsonInput(String guid, String guidType) throws JsonProcessingException {
- String jsonString;
- ObjectMapper mapper = new ObjectMapper();
- ObjectNode srdInputJson = mapper.createObjectNode();
- if (SrdApiConstant.GUID.equalsIgnoreCase(guidType)) {
- srdInputJson.put("Guid", guid);
- } else if (SrdApiConstant.LE_GUID.equalsIgnoreCase(guidType)) {
- srdInputJson.put("LegalEntityGUID", guid);
- }
- jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(srdInputJson);
- LOG.info("JSON String " + jsonString);
- return jsonString;
- }
- }
- package com.imosadapter.srd.main;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.trafigura.titan.imosadapter.srd.constant.ApiRequestUtility;
- import org.junit.Before;
- import org.junit.Test;
- import org.mockito.InjectMocks;
- import org.mockito.Mock;
- import org.springframework.test.util.ReflectionTestUtils;
- import javax.xml.bind.JAXBContext;
- import static org.junit.Assert.*;
- import static org.mockito.MockitoAnnotations.initMocks;
- public class ImosSrdSampleTest {
- @InjectMocks
- private ImosSrdSample imosSrdSample;
- @Mock
- private JAXBContext jaxbContext;
- @Mock
- private ObjectMapper objectMapper;
- @Mock
- private ApiRequestUtility apiRequestUtility;
- @Before
- public void setUp() throws Exception {
- initMocks(this);
- ReflectionTestUtils.setField(imosSrdSample, "imosFilepath", "src/test/resources/");
- }
- @Test
- public void getSrdDetails() throws Exception {
- imosSrdSample.getSrdDetails();
- }
- }
- java.lang.NullPointerException
- at com.trafigura.titan.imosadapter.srd.main.ImosSrdSample.getSrdDetails(ImosSrdSample.java:35)
- at com.trafigura.titan.imosadapter.srd.main.ImosSrdSampleTest.getSrdDetails(ImosSrdSampleTest.java:42)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:497)
- at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
- at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
- at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
- at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
- at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
- at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
- at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
- at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
- at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
- at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
- at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
- at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
- at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
- at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
- at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
- at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
- at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
- at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)
- at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Add Comment
Please, Sign In to add comment