From 4c9997e19150da6ba5ee731bf98d99ae29f94276 Mon Sep 17 00:00:00 2001
From: Radheshhathwar <radheshhathwar.bh@gmail.com>
Date: Wed, 10 Jan 2024 11:25:32 +0530
Subject: [PATCH] Changed Java version to 1.8

---
 pom.xml                                       |  4 +-
 .../sphere/compentency/kafka/ApiService.java  | 84 ++++++++++---------
 2 files changed, 47 insertions(+), 41 deletions(-)

diff --git a/pom.xml b/pom.xml
index c68aeb1..7b5f930 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 67494cc..b64c5c1 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);
                     }
                 }
             }
-- 
GitLab