diff --git a/pom.xml b/pom.xml index c68aeb1ea38be125545a1010c244dea95119d613..7b5f93019271b171f0f47e9ed91391b29ed253eb 100644 --- a/pom.xml +++ b/pom.xml @@ -88,8 +88,8 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> - <source>11</source> - <target>11</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins> diff --git a/src/main/java/com/sphere/compentency/kafka/ApiService.java b/src/main/java/com/sphere/compentency/kafka/ApiService.java index 67494ccbe12df86f7352a2372fd32aa805af7b10..b64c5c16e93a937e6b5ac2077d4017e5dc387a3c 100644 --- a/src/main/java/com/sphere/compentency/kafka/ApiService.java +++ b/src/main/java/com/sphere/compentency/kafka/ApiService.java @@ -14,11 +14,11 @@ import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; +import java.io.BufferedReader; import java.io.IOException; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -125,8 +125,7 @@ public class ApiService { } } int maxLevel = Arrays.stream(levelArray) - .max() - .orElseThrow(); + .max().getAsInt(); JSONObject acquiredDetails = new JSONObject(); @@ -165,50 +164,57 @@ public class ApiService { Map<String, Map<String, Object>> competencyMap = new HashMap<>(); try { - // Make a GET request to the framework URL - HttpClient httpClient = HttpClient.newHttpClient(); - HttpRequest request = HttpRequest.newBuilder().uri(URI.create(frameworkUrl)).build(); + URL url = new URL(frameworkUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + + // Read the response + try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { + StringBuilder response = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + response.append(line); + } - HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); - String responseBody = response.body(); + String responseBody = response.toString(); - // Parse the response as JSON - ObjectMapper objectMapper = new ObjectMapper(); - JsonNode frameworkJson = objectMapper.readTree(responseBody); + // Parse the response as JSON + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode frameworkJson = objectMapper.readTree(responseBody); - // Access the framework node in the response - JsonNode framework = frameworkJson.get("result").get("framework"); + // Access the framework node in the response + JsonNode framework = frameworkJson.get("result").get("framework"); - for (JsonNode category : framework.get("categories")) { -// List<> subjects = framework.stream() .filter(name -> name.getName() = "") .collect(Collectors.toList()); - // Inside the loop where you process each term - if (Objects.equals(category.get("code").asText(), "subject")) { - for (JsonNode term : category.get("terms")) { - String competencyName = term.get("name").asText(); - String competencyId = term.get("identifier").asText(); + for (JsonNode category : framework.get("categories")) { + // Inside the loop where you process each term + if (Objects.equals(category.get("code").asText(), "subject")) { + for (JsonNode term : category.get("terms")) { + String competencyName = term.get("name").asText(); + String competencyId = term.get("identifier").asText(); - // Initialize levelsMap for each competency - Map<String, Object> levelsMap = new HashMap<>(); - Map<String, Object> competencyDetails = new HashMap<>(); - competencyDetails.put("competencyName", competencyName); + // Initialize levelsMap for each competency + Map<String, Object> levelsMap = new HashMap<>(); + Map<String, Object> competencyDetails = new HashMap<>(); + competencyDetails.put("competencyName", competencyName); - JsonNode associations = term.get("associations"); + JsonNode associations = term.get("associations"); - if (associations != null && associations.isArray()) { - for (JsonNode association : associations) { - String levelName = association.get("name").asText(); - String levelId = association.get("identifier").asText(); + if (associations != null && associations.isArray()) { + for (JsonNode association : associations) { + String levelName = association.get("name").asText(); + String levelId = association.get("identifier").asText(); - Map<String, String> levelDetails = new HashMap<>(); - levelDetails.put("levelName", levelName); + Map<String, String> levelDetails = new HashMap<>(); + levelDetails.put("levelName", levelName); - // Add levelDetails to levelsMap - levelsMap.put(levelId, levelDetails); + // Add levelDetails to levelsMap + levelsMap.put(levelId, levelDetails); + } } + competencyDetails.put("levels", levelsMap); + // Add competencyDetails to competencyMap using competencyCode as the key + competencyMap.put(competencyId, competencyDetails); } - competencyDetails.put("levels", levelsMap); - // Add competencyDetails to competencyMap using competencyCode as the key - competencyMap.put(competencyId, competencyDetails); } } }