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