trigger re single class + update app-prop with new db

This commit is contained in:
Florinda
2024-11-12 16:30:19 +01:00
parent a843dee4b6
commit ce14379805
4 changed files with 130 additions and 9 deletions

View File

@@ -1,18 +1,23 @@
package com.olympus.hermione.controllers;
import com.olympus.dto.ClassDetailedInfo;
import com.olympus.dto.CommonReverseEngRequest;
import com.olympus.dto.FileSimpleInfo;
import com.olympus.dto.FileSimpleInfoRequest;
import com.olympus.dto.MethodDetailedInfo;
import com.olympus.dto.TreeNode;
import com.olympus.feign.JavaREModule;
import com.olympus.feign.SourceCodeModule;
import com.olympus.hermione.services.ApplicationBrowserService;
import com.olympus.hermione.services.SourceCodeService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.beans.factory.annotation.Autowired;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -26,6 +31,9 @@ public class ApplicationBrowserController {
@Autowired
private SourceCodeModule sourceCodeModule;
@Autowired
private ApplicationBrowserService appBrowserService;
@GetMapping("/source-viewer/getApplicationTreeNode")
public TreeNode getApplicationNode(@RequestParam() String applicationName){
return sourceCodeModule.getTreeFromNode(applicationName,"application");
@@ -46,5 +54,19 @@ public class ApplicationBrowserController {
return sourceCodeModule.getFileSimpleInfo(fileinfo);
}
@PostMapping("/java-re-module/doRevSingleClass")
public String doRevEngForSingleClass(@RequestBody CommonReverseEngRequest classInfo){
//return javaREModule.revSingleClass(classInfo);
return appBrowserService.getKSGitInfoByProjectNameAndRepoName(classInfo);
}
@GetMapping("/java-re-module/getProgressRevSingleClass/{processId}")
public ResponseEntity<Object> getProgressRevEngForSingleClass(@PathVariable String processId){
return appBrowserService.getProgressRev(processId);
}
}

View File

@@ -0,0 +1,14 @@
package com.olympus.hermione.repository;
import org.springframework.stereotype.Repository;
import org.springframework.data.mongodb.repository.MongoRepository;
import com.olympus.model.Application;
import com.olympus.model.apollo.KSGitInfo;
@Repository
public interface KSGitInfoRepository extends MongoRepository<KSGitInfo, String>{
KSGitInfo findByProjectNameAndRepoName(String projectName, String repoName);
}

View File

@@ -0,0 +1,71 @@
package com.olympus.hermione.services;
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.stereotype.Service;
import com.olympus.dto.CommonReverseEngRequest;
import com.olympus.feign.JavaREModule;
import com.olympus.hermione.repository.ApplicationRepository;
import com.olympus.hermione.repository.KSGitInfoRepository;
import com.olympus.model.ReverseEngProcess;
import com.olympus.model.apollo.KSGitInfo;
@Service
public class ApplicationBrowserService {
private Logger logger = LoggerFactory.getLogger(ApplicationBrowserService.class);
@Autowired
private KSGitInfoRepository KSGitInfoRepo;
@Autowired
private JavaREModule javaREModule;
public String getKSGitInfoByProjectNameAndRepoName(CommonReverseEngRequest classInfo) {
logger.info("getKSGitInfoByProjectNameAndRepoName function:");
String result = "KO";
KSGitInfo kSGitInfo = null;
try {
kSGitInfo = KSGitInfoRepo.findByProjectNameAndRepoName(classInfo.getApplicationProjectName(), classInfo.getApplicationName());
if(kSGitInfo != null){
classInfo.setApplicationVersion(kSGitInfo.getApplicationVersion());
classInfo.setCommitSha(kSGitInfo.getCommitId());
classInfo.setRepositoryEntityId(kSGitInfo.getId());
result = javaREModule.revSingleClass(classInfo);
}
} catch (Exception e) {
logger.error("Exception KSGitInfoRepository: {}", e.getMessage());
}
return result;
}
public ResponseEntity<Object> getProgressRev(String processId) {
logger.info("getProgressRev function:");
ResponseEntity<Object> responseEntity = null;
try {
// Chiama il metodo getProcessStatus e memorizza il risultato
responseEntity = javaREModule.getProcessStatus(processId);
} catch (Exception e) {
// In caso di eccezione
logger.error("Exception in getProgressRev: {}", e.getMessage());
}
return responseEntity;
}
}

View File

@@ -1,10 +1,15 @@
spring.application.name=hermione
server.port=8081
spring.data.mongodb.uri=mongodb+srv://olympus_adm:26111979@olympus.l6qor4p.mongodb.net/?retryWrites=true&w=majority&appName=Olympus
# spring.data.mongodb.uri=mongodb+srv://olympus_adm:26111979@olympus.l6qor4p.mongodb.net/?retryWrites=true&w=majority&appName=Olympus
# spring.data.mongodb.database=olympus
# spring.data.mongodb.username=olympus_adm
# spring.data.mongodb.password=26111979
spring.data.mongodb.uri=mongodb+srv://olympusadmin:Camilla123!@db-olympus.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000
spring.data.mongodb.database=olympus
spring.data.mongodb.username=olympus_adm
spring.data.mongodb.password=26111979
spring.data.mongodb.username=olympusadmin
spring.data.mongodb.password=Camilla123!
spring.ai.vectorstore.mongodb.indexName=vector_index
spring.ai.vectorstore.mongodb.collection-name=vector_store
@@ -25,13 +30,21 @@ spring.ai.azure.openai.endpoint=https://ai-olympus.openai.azure.com/
spring.ai.azure.openai.chat.options.deployment-name=gpt-4o-mini
spring.ai.azure.openai.chat.options.temperature=0.7
neo4j.uri=neo4j+s://e17e6f08.databases.neo4j.io:7687
neo4j.username=neo4j
neo4j.password=8SrSqQ3q6q9PQNWtN9ozqSQfGce4lfh_n6kKz2JIubQ
# neo4j.uri=neo4j+s://e17e6f08.databases.neo4j.io:7687
# neo4j.username=neo4j
# neo4j.password=8SrSqQ3q6q9PQNWtN9ozqSQfGce4lfh_n6kKz2JIubQ
spring.neo4j.uri=neo4j+s://e17e6f08.databases.neo4j.io:7687
neo4j.uri=bolt://57.153.162.67:7687
neo4j.username=neo4j
neo4j.password=01J5h56IsTyyKt
# spring.neo4j.uri=neo4j+s://e17e6f08.databases.neo4j.io:7687
# spring.neo4j.authentication.username=neo4j
# spring.neo4j.authentication.password=8SrSqQ3q6q9PQNWtN9ozqSQfGce4lfh_n6kKz2JIubQ
spring.neo4j.uri=bolt://57.153.162.67:7687
spring.neo4j.authentication.username=neo4j
spring.neo4j.authentication.password=8SrSqQ3q6q9PQNWtN9ozqSQfGce4lfh_n6kKz2JIubQ
spring.neo4j.authentication.password=01J5h56IsTyyKt
spring.main.allow-bean-definition-overriding=true
logging.level.org.springframework.ai.chat.client.advisor=DEBUG
@@ -41,4 +54,5 @@ eureka.instance.preferIpAddress: true
hermione.fe.url = http://localhost:5173
java-parser-module.url: http://java-parser-module-service.olympus.svc.cluster.local:8080
java-parser-module.url: http://java-parser-module-service.olympus.svc.cluster.local:8080