From 47631820bbbc518335a7e4f3a3a90b16cdea982e Mon Sep 17 00:00:00 2001 From: jay pratap singh <jaypratap.singh@tarento.com> Date: Mon, 7 Aug 2023 18:28:08 +0530 Subject: [PATCH] changed/fixed and tested- create, update,list,activate,deactivate endpoints. --- pom.xml | 23 ++++++-------- .../userManagement/services/UserService.java | 31 ++++++++++++++----- 2 files changed, 33 insertions(+), 21 deletions(-) diff --git a/pom.xml b/pom.xml index b2f2101..2aa8f5e 100644 --- a/pom.xml +++ b/pom.xml @@ -2,12 +2,6 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-parent</artifactId> - <version>2.7.15-SNAPSHOT</version> - <relativePath/> <!-- lookup parent from repository --> - </parent> <groupId>com.tarento.upsmf</groupId> <artifactId>userManagement</artifactId> <version>0.0.1-SNAPSHOT</version> @@ -15,6 +9,8 @@ <description>userManagement project for upsmf</description> <properties> <java.version>11</java.version> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> </properties> <dependencies> @@ -32,18 +28,17 @@ </dependency> <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-test</artifactId> - <scope>test</scope> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>4.5.13</version> </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - <version>5.3.29</version> - <scope>provided</scope> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + <version>2.7.14</version> </dependency> + <dependency> <groupId>org.tuxdude.logback.extensions</groupId> <artifactId>logback-colorizer</artifactId> diff --git a/src/main/java/com/tarento/upsmf/userManagement/services/UserService.java b/src/main/java/com/tarento/upsmf/userManagement/services/UserService.java index c9c8fd7..ae1f1e2 100644 --- a/src/main/java/com/tarento/upsmf/userManagement/services/UserService.java +++ b/src/main/java/com/tarento/upsmf/userManagement/services/UserService.java @@ -1,12 +1,14 @@ package com.tarento.upsmf.userManagement.services; import com.fasterxml.jackson.databind.JsonNode; +import org.apache.http.client.HttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @@ -16,6 +18,9 @@ import java.net.URISyntaxException; @Component public class UserService { + + private static final Logger logger = LoggerFactory.getLogger(UserService.class); + @Autowired private Environment env; @@ -24,6 +29,7 @@ public class UserService { private HttpHeaders getHeader(){ System.out.println(env.getProperty("BaseURL")); + logger.info("Getting headers..."); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.add("Authorization","Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJSR3RkMkZzeG1EMnJER3I4dkJHZ0N6MVhyalhZUzBSSyJ9.kMLn6177rvY53i0RAN3SPD5m3ctwaLb32pMYQ65nBdA"); @@ -32,23 +38,32 @@ public class UserService { } public ResponseEntity<JsonNode> createUser(final JsonNode body) throws URISyntaxException { + logger.info("Creating user..."); URI uri = new URI(BASE_URL + "/user/v1/sso/create"); HttpHeaders headers = getHeader(); HttpEntity<JsonNode> httpEntity = new HttpEntity(body, headers); ResponseEntity<JsonNode> result = restTemplate.postForEntity(uri,httpEntity,JsonNode.class); return result; } + public ResponseEntity<JsonNode> updateUser(final JsonNode body) throws URISyntaxException { - public ResponseEntity<JsonNode> updateUser(final JsonNode body) throws URISyntaxException{ + logger.info("Updating user..."); RestTemplate restTemplate = new RestTemplate(); + // Create HttpClient with PATCH support + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient); + restTemplate.setRequestFactory(requestFactory); + URI uri = new URI(BASE_URL + "/user/v1/update"); HttpHeaders headers = getHeader(); - HttpEntity httpEntity = new HttpEntity(body, headers); - ResponseEntity<JsonNode> result = restTemplate.postForEntity(uri,httpEntity,JsonNode.class); + HttpEntity<JsonNode> httpEntity = new HttpEntity<>(body, headers); + ResponseEntity<JsonNode> result = restTemplate.exchange(uri, HttpMethod.PATCH, httpEntity, JsonNode.class); return result; } + public ResponseEntity<JsonNode> listUser(final JsonNode body) throws URISyntaxException{ + logger.info("Listing users..."); RestTemplate restTemplate = new RestTemplate(); URI uri = new URI(BASE_URL + "/user/v1/search"); HttpHeaders headers = getHeader(); @@ -58,6 +73,7 @@ public class UserService { } public ResponseEntity<JsonNode> activateUser(final JsonNode body) throws URISyntaxException{ + logger.info("Activating user..."); RestTemplate restTemplate = new RestTemplate(); URI uri = new URI(BASE_URL + "/user/v1/unblock"); HttpHeaders headers = getHeader(); @@ -67,6 +83,7 @@ public class UserService { } public ResponseEntity<JsonNode> deactivateUser(final JsonNode body) throws URISyntaxException { + logger.info("Deactivating user..."); RestTemplate restTemplate = new RestTemplate(); URI uri = new URI(BASE_URL + "/user/v1/block"); HttpHeaders headers = getHeader(); -- GitLab