Commit 5b6d9a95 authored by Roberto Loayza's avatar Roberto Loayza

Proceso de eliminación y generación BDC

parent e74bdaf7
...@@ -97,7 +97,7 @@ public class BucketService { ...@@ -97,7 +97,7 @@ public class BucketService {
AmazonS3 s3Client = getS3Client(); AmazonS3 s3Client = getS3Client();
Optional<QuestionFile> questionFile = questionFileRepository.findByUuid(uuid); Optional<QuestionFile> questionFile = questionFileRepository.findByUuid(uuid);
if (!questionFile.isPresent()) { if (!questionFile.isPresent()) {
log.error("El uuid no se encuentra enlazado con un file"); throw new NotFoundException("El uuid no se encuentra enlazado con un file");
} }
String keyName = String.format("%s/%s/1.0/%s/%s",tenant, uuid, fileDir, questionFile.get().getName()); String keyName = String.format("%s/%s/1.0/%s/%s",tenant, uuid, fileDir, questionFile.get().getName());
s3Client.deleteObject(new DeleteObjectRequest(bucketName, keyName)); s3Client.deleteObject(new DeleteObjectRequest(bucketName, keyName));
......
package com.bytesw.bytebot.service; package com.bytesw.bytebot.service;
import com.bytesw.bytebot.etl.utils.JsonUtils;
import com.bytesw.bytebot.http.FileValidationResponse; import com.bytesw.bytebot.http.FileValidationResponse;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
...@@ -50,8 +51,8 @@ public class KnowledgeService { ...@@ -50,8 +51,8 @@ public class KnowledgeService {
} }
}; };
String res = httpclient.execute(httppost, responseHandler); String res = httpclient.execute(httppost, responseHandler);
Map<String,Object> mapJsonResult = new ObjectMapper().readValue(res, HashMap.class); String status = (String) JsonUtils.getFieldFromJson(res, "$.message.status");
if (mapJsonResult.get("status").equals("success")){ if (status.equals("success")){
result = true; result = true;
} }
} catch (IOException e) { } catch (IOException e) {
...@@ -75,12 +76,12 @@ public class KnowledgeService { ...@@ -75,12 +76,12 @@ public class KnowledgeService {
} }
}; };
CloseableHttpClient httpclient = HttpClients.createDefault(); CloseableHttpClient httpclient = HttpClients.createDefault();
String responseBody = httpclient.execute(httpDelete, responseHandler); String res = httpclient.execute(httpDelete, responseHandler);
Map<String,Object> mapJsonResult = new ObjectMapper().readValue(String.valueOf(responseBody), HashMap.class); httpclient.close();
if (mapJsonResult.get("status").equals("success")){ String status = (String) JsonUtils.getFieldFromJson(res, "$.message.status");
if (status.equals("success")){
result = true; result = true;
} }
httpclient.close();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -63,12 +63,15 @@ public class OrquestadorService { ...@@ -63,12 +63,15 @@ public class OrquestadorService {
if (!step) { if (!step) {
throw new NotFoundException("Error a cargar archivo."); throw new NotFoundException("Error a cargar archivo.");
} }
step = false;
model.setStatus(StatusBcdEnum.INDEXANDO.getName()); model.setStatus(StatusBcdEnum.INDEXANDO.getName());
model = bdcControlRepository.save(model); model = bdcControlRepository.save(model);
//Generacion del modelo //Generacion del modelo
//Actualizar step = knowledgeService.generate(response);
knowledgeService.generate(response); if (!step) {
throw new NotFoundException("Error a cargar archivo.");
}
response.setStatus(FrequentQuestionStatusEnum.CORRECTO.getName()); response.setStatus(FrequentQuestionStatusEnum.CORRECTO.getName());
model.setStatus(StatusBcdEnum.INDEXADO.getName()); model.setStatus(StatusBcdEnum.INDEXADO.getName());
model = bdcControlRepository.save(model); model = bdcControlRepository.save(model);
...@@ -120,20 +123,25 @@ public class OrquestadorService { ...@@ -120,20 +123,25 @@ public class OrquestadorService {
if (!bdcControl.isPresent()) { if (!bdcControl.isPresent()) {
throw new NotFoundException("Control no encontrado."); throw new NotFoundException("Control no encontrado.");
} }
Optional<QuestionFile> questionFile = questionFileRepository.findByUuid(uuid); BdcControl model = bdcControl.get();
if (questionFile.isPresent()) { if (model.getStatus().equals(StatusBcdEnum.INDEXADO.getName())) {
questionFileRepository.deleteById(bdcControl.get().getId()); boolean step = knowledgeService.delete(uuid);
bdcControl.get().setStatus(StatusBcdEnum.INDEXANDO.getName()); if (!step) {
throw new NotFoundException("Error a eliminar modelo del bucket");
}
model.setStatus(StatusBcdEnum.INDEXANDO.getName());
model = bdcControlRepository.save(model);
} }
if (model.getStatus().equals(StatusBcdEnum.INDEXANDO.getName())) {
if (bdcControl.get().getStatus().equals(StatusBcdEnum.INDEXANDO.getName())) {
bucketService.delete(uuid); bucketService.delete(uuid);
bdcControl.get().setStatus(StatusBcdEnum.INDEXADO.getName()); model.setStatus(StatusBcdEnum.CARGADO.getName());
model = bdcControlRepository.save(model);
} }
if (bdcControl.get().getStatus().equals(StatusBcdEnum.INDEXADO.getName())) { Optional<QuestionFile> questionFile = questionFileRepository.findByUuid(uuid);
knowledgeService.delete(uuid); if (questionFile.isPresent()) {
questionFileRepository.deleteById(bdcControl.get().getFileId());
} }
bdcControlRepository.deleteById(bdcControl.get().getId()); bdcControlRepository.delete(model);
} }
private FileValidationResponse modelToFileValidation(BdcControl model){ private FileValidationResponse modelToFileValidation(BdcControl model){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment