diff --git a/pom.xml b/pom.xml
index ad01282..975d193 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,6 +72,10 @@
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
org.springframework.ai
@@ -112,8 +116,14 @@
org.springframework.boot
spring-boot-starter-security
+
+ com.olympus
+ common
+ 1.0
+ compile
+
-
+
diff --git a/src/main/java/com/olympus/apollo/ApolloApplication.java b/src/main/java/com/olympus/apollo/ApolloApplication.java
index 8adffbf..5a5c152 100644
--- a/src/main/java/com/olympus/apollo/ApolloApplication.java
+++ b/src/main/java/com/olympus/apollo/ApolloApplication.java
@@ -4,16 +4,18 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import com.olympus.apollo.properties.StorageProperties;
-@SpringBootApplication
+@SpringBootApplication(scanBasePackages = {"com.olympus.apollo", "com.olympus.feign"})
@EnableConfigurationProperties(StorageProperties.class)
@EnableAsync
@Configuration
@EnableDiscoveryClient
+@EnableFeignClients(basePackages = "com.olympus.feign")
public class ApolloApplication {
public static void main(String[] args) {
diff --git a/src/main/java/com/olympus/apollo/controllers/TestController.java b/src/main/java/com/olympus/apollo/controllers/TestController.java
index 8bbd325..b9d0d0e 100644
--- a/src/main/java/com/olympus/apollo/controllers/TestController.java
+++ b/src/main/java/com/olympus/apollo/controllers/TestController.java
@@ -1,20 +1,17 @@
package com.olympus.apollo.controllers;
import java.util.List;
-import java.util.concurrent.CompletableFuture;
import com.olympus.apollo.dto.ResultDTO;
+import com.olympus.apollo.feign.services.JavaParserModuleService;
import com.olympus.apollo.services.GitService;
+import com.olympus.dto.JavaParseRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import com.olympus.apollo.dto.IngestionOutput;
import com.olympus.apollo.services.GitRepositoryIngestor;
@@ -33,6 +30,9 @@ public class TestController {
@Autowired
GitService gitService;
+ @Autowired
+ JavaParserModuleService javaParserModuleService;
+
private static final Logger logger = LoggerFactory.getLogger(TestController.class);
@GetMapping("test/ingestion_loop")
@@ -99,4 +99,10 @@ public class TestController {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorOutput);
}
}
+
+ @PostMapping("/parsejava")
+ public ResponseEntity fetchParsedJava(@RequestBody JavaParseRequest javaParseRequest){
+ javaParserModuleService.getJavaParsedDetails(javaParseRequest);
+ return ResponseEntity.accepted().body("Request to parse the java application is being processed");
+ }
}
diff --git a/src/main/java/com/olympus/apollo/feign/services/JavaParserModuleService.java b/src/main/java/com/olympus/apollo/feign/services/JavaParserModuleService.java
new file mode 100644
index 0000000..25a7579
--- /dev/null
+++ b/src/main/java/com/olympus/apollo/feign/services/JavaParserModuleService.java
@@ -0,0 +1,20 @@
+package com.olympus.apollo.feign.services;
+
+import com.olympus.feign.JavaParserModule;
+import com.olympus.dto.JavaParseRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import java.util.concurrent.CompletableFuture;
+
+@Service
+public class JavaParserModuleService {
+ @Autowired
+ private JavaParserModule javaParserModule;
+
+ @Async
+ public void getJavaParsedDetails(JavaParseRequest javaParseRequest){
+ CompletableFuture.completedFuture(javaParserModule.getJavaParsedDetails(javaParseRequest));
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 57d7b09..d11edaf 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -52,4 +52,6 @@ eureka:
logging:
level:
- root: INFO
\ No newline at end of file
+ root: INFO
+ #feign: DEBUG
+ #org.springframework.web.client: DEBUG
\ No newline at end of file