diff --git a/src/main/java/in/handyman/raven/lib/IntegratedNoiseModelApiAction.java b/src/main/java/in/handyman/raven/lib/IntegratedNoiseModelApiAction.java index 4fdbb5958..c4b321bb7 100644 --- a/src/main/java/in/handyman/raven/lib/IntegratedNoiseModelApiAction.java +++ b/src/main/java/in/handyman/raven/lib/IntegratedNoiseModelApiAction.java @@ -5,29 +5,10 @@ import in.handyman.raven.lambda.action.ActionExecution; import in.handyman.raven.lambda.action.IActionExecution; import in.handyman.raven.lambda.doa.audit.ActionExecutionAudit; - -import java.sql.Types; -import java.util.concurrent.LinkedBlockingQueue; - - -import java.lang.Exception; -import java.lang.Object; -import java.lang.Override; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - import in.handyman.raven.lib.model.IntegratedNoiseModelApi; import in.handyman.raven.lib.model.NoiseModel.NoiseModelConsumerProcess; import in.handyman.raven.lib.model.NoiseModel.NoiseModelInputEntity; -import in.handyman.raven.lib.model.NoiseModel.NoiseModelOutputEnitity; -//import in.handyman.raven.lib.model.qrExtraction.QrConsumerProcess; -//import in.handyman.raven.lib.model.qrExtraction.QrInputEntity; -//import in.handyman.raven.lib.model.qrExtraction.QrOutputEntity; +import in.handyman.raven.lib.model.NoiseModel.NoiseModelOutputEntity; import in.handyman.raven.util.ExceptionUtil; import org.jdbi.v3.core.Jdbi; import org.jdbi.v3.core.argument.Arguments; @@ -36,6 +17,16 @@ import org.slf4j.Marker; import org.slf4j.MarkerFactory; +import java.net.MalformedURLException; +import java.net.URL; +import java.sql.Types; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.stream.Collectors; + /** * Auto Generated By Raven */ @@ -43,78 +34,75 @@ actionName = "IntegratedNoiseModelApi" ) public class IntegratedNoiseModelApiAction implements IActionExecution { - private final ActionExecutionAudit action; - - private final Logger log; - - private final IntegratedNoiseModelApi integratedNoiseModelApi; - private static String httpClientTimeout = new String(); - private final Marker aMarker; - - public IntegratedNoiseModelApiAction(final ActionExecutionAudit action, final Logger log, - final Object integratedNoiseModelApi) { - this.integratedNoiseModelApi = (IntegratedNoiseModelApi) integratedNoiseModelApi; - this.action = action; - this.log = log; - this.aMarker = MarkerFactory.getMarker(" IntegratedNoiseModelApi:"+this.integratedNoiseModelApi.getName()); - } - - @Override - public void execute() throws Exception { - try { - log.info(aMarker, "Integrated noise model Action for {} with group by eoc-id has started", integratedNoiseModelApi.getName()); - final Jdbi jdbi = ResourceAccess.rdbmsJDBIConn(integratedNoiseModelApi.getResourceConn()); - jdbi.getConfig(Arguments.class).setUntypedNullArgument(new NullArgument(Types.NULL)); //for handling null values - //3. initiate Copro processor and Copro urls change the url to integrated noise model - final List urls = Optional.ofNullable(integratedNoiseModelApi.getEndPoint()).map(s -> Arrays.stream(s.split(",")).map(s1 -> { - try { - return new URL(s1); - } catch (MalformedURLException e) { - log.error("Error in processing the URL {}", s1, e); - throw new HandymanException("Error in processing the URL", e, action); - } - }).collect(Collectors.toList())).orElse(Collections.emptyList()); - log.info("Urls for the Integrated noise model : {}", urls); - //5. build insert prepare statement with output table columns -// - final String insertQuery = "INSERT INTO " + integratedNoiseModelApi.getOutputTable() + - " ( origin_id, paper_no, process_id, group_id, tenant_id, input_file_path, " + - "consolidated_confidence_score, consolidated_class, noise_models_result, hw_noise_detection_output, " + - "check_noise_detection_output, checkbox_mark_detection_output, speckle_noise_detection_output," + - " created_on, root_pipeline_id,status,stage,message)" + - "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + private final ActionExecutionAudit action; + private final Logger log; + private final IntegratedNoiseModelApi integratedNoiseModelApi; + private static String httpClientTimeout = new String(); + private final Marker aMarker; -// Class NoiseModelInputEntity = null; - final CoproProcessor coproProcessor = - new CoproProcessor<>(new LinkedBlockingQueue<>(), - NoiseModelOutputEnitity.class, - NoiseModelInputEntity.class, - jdbi, log, - new NoiseModelInputEntity(), urls, action); + public IntegratedNoiseModelApiAction(final ActionExecutionAudit action, final Logger log, + final Object integratedNoiseModelApi) { + this.integratedNoiseModelApi = (IntegratedNoiseModelApi) integratedNoiseModelApi; + this.action = action; + this.log = log; + this.aMarker = MarkerFactory.getMarker(" IntegratedNoiseModelApi:" + this.integratedNoiseModelApi.getName()); + } + + @Override + public void execute() throws Exception { + try { + log.info(aMarker, "Integrated noise model Action for {} with group by eoc-id has started", integratedNoiseModelApi.getName()); + final Jdbi jdbi = ResourceAccess.rdbmsJDBIConn(integratedNoiseModelApi.getResourceConn()); + jdbi.getConfig(Arguments.class).setUntypedNullArgument(new NullArgument(Types.NULL)); //for handling null values + //3. initiate Copro processor and Copro urls change the url to integrated noise model + final List urls = Optional.ofNullable(integratedNoiseModelApi.getEndPoint()).map(s -> Arrays.stream(s.split(",")).map(s1 -> { + try { + return new URL(s1); + } catch (MalformedURLException e) { + log.error("Error in processing the URL {}", s1, e); + throw new HandymanException("Error in processing the URL", e, action); + } + }).collect(Collectors.toList())).orElse(Collections.emptyList()); + log.info("Urls for the Integrated noise model : {}", urls); + //5. build insert prepare statement with output table columns +// + final String insertQuery = "INSERT INTO " + integratedNoiseModelApi.getOutputTable() + + " ( origin_id, paper_no, process_id, group_id, tenant_id, input_file_path, " + + "consolidated_confidence_score, consolidated_class, noise_models_result, hw_noise_detection_output, " + + "check_noise_detection_output, checkbox_mark_detection_output, speckle_noise_detection_output," + + " created_on, root_pipeline_id,status,stage,message,model_name,model_version)" + + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; - coproProcessor.startProducer(integratedNoiseModelApi.getQuerySet(), Integer.valueOf(action.getContext().get("read.batch.size"))); - log.info("start producer method from copro processor "); - Thread.sleep(1000); - //8. call the method start consumer from coproprocessor - coproProcessor.startConsumer(insertQuery, Integer.valueOf(action.getContext().get("noise.consumer.API.count")), Integer.valueOf(action.getContext().get("write.batch.size")), new NoiseModelConsumerProcess(log, aMarker, action)); - log.info("start consumer method from copro processor "); +// Class NoiseModelInputEntity = null; + final CoproProcessor coproProcessor = + new CoproProcessor<>(new LinkedBlockingQueue<>(), + NoiseModelOutputEntity.class, + NoiseModelInputEntity.class, + jdbi, log, + new NoiseModelInputEntity(), urls, action); + coproProcessor.startProducer(integratedNoiseModelApi.getQuerySet(), Integer.valueOf(action.getContext().get("read.batch.size"))); + log.info("start producer method from copro processor "); + Thread.sleep(1000); + //8. call the method start consumer from coproprocessor + coproProcessor.startConsumer(insertQuery, Integer.valueOf(action.getContext().get("noise.consumer.API.count")), Integer.valueOf(action.getContext().get("write.batch.size")), new NoiseModelConsumerProcess(log, aMarker, action)); + log.info("start consumer method from copro processor "); + } catch (Exception e) { + log.error("Error in the Integrated noise model action {}", ExceptionUtil.toString(e)); + throw new HandymanException("Integrated noise model action failed ", e, action); - } catch (Exception e) { - log.error("Error in the Integrated noise model action {}", ExceptionUtil.toString(e)); - throw new HandymanException("Integrated noise model action failed ", e, action); + } + } + @Override + public boolean executeIf() throws Exception { + return integratedNoiseModelApi.getCondition(); } - } - @Override - public boolean executeIf() throws Exception { - return integratedNoiseModelApi.getCondition(); - } } diff --git a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelConsumerProcess.java b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelConsumerProcess.java index b9a12381b..46acc663e 100644 --- a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelConsumerProcess.java +++ b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelConsumerProcess.java @@ -1,6 +1,7 @@ package in.handyman.raven.lib.model.NoiseModel; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import in.handyman.raven.exception.HandymanException; @@ -8,8 +9,11 @@ import in.handyman.raven.lib.CoproProcessor; import in.handyman.raven.lib.model.triton.TritonInputRequest; import in.handyman.raven.lib.model.triton.TritonRequest; - -import okhttp3.*; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; import org.slf4j.Logger; import org.slf4j.Marker; @@ -19,21 +23,20 @@ import java.util.Collections; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; -public class NoiseModelConsumerProcess implements CoproProcessor.ConsumerProcess{ +public class NoiseModelConsumerProcess implements CoproProcessor.ConsumerProcess { public static final String TRITON_REQUEST_ACTIVATOR = "triton.request.activator"; private final Logger log; private final Marker aMarker; - private final ObjectMapper mapper = new ObjectMapper(); private static final MediaType MediaTypeJSON = MediaType .parse("application/json; charset=utf-8"); public final ActionExecutionAudit action; - public static String httpClientTimeout = new String(); + public final String httpClientTimeout; final OkHttpClient httpclient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.MINUTES) .writeTimeout(10, TimeUnit.MINUTES) @@ -48,17 +51,14 @@ public NoiseModelConsumerProcess(Logger log, Marker aMarker, ActionExecutionAudi } - - - @Override - public List process(URL endpoint, NoiseModelInputEntity entity) throws Exception { + public List process(URL endpoint, NoiseModelInputEntity entity) throws Exception { log.info("copro consumer process started"); - List noiseOutputEntities = new ArrayList<>(); + List noiseOutputEntities = new ArrayList<>(); final String filePath = entity.getInputFilePath(); final String noiseDetectionModel = "NOISE_DETECTION_MODEL"; final Long rootPipelineId = entity.getRootPipelineId(); - final Long actionId = action.getActionId(); + final Long actionId = action.getActionId(); final ObjectMapper objectMapper = new ObjectMapper(); //payload final NoiseModelData NoiseModelData = new NoiseModelData(); @@ -75,7 +75,7 @@ public List process(URL endpoint, NoiseModelInputEntity final String jsonInputRequest = objectMapper.writeValueAsString(NoiseModelData); TritonRequest requestBody = new TritonRequest(); - requestBody.setName("NOISE-DETECTION"); + requestBody.setName("NOISE MODEL START"); requestBody.setShape(List.of(1, 1)); requestBody.setDatatype("BYTES"); requestBody.setData(Collections.singletonList(jsonInputRequest)); @@ -90,11 +90,13 @@ public List process(URL endpoint, NoiseModelInputEntity } String tritonRequestActivator = action.getContext().get(TRITON_REQUEST_ACTIVATOR); - final Request Requests = new Request.Builder().url(endpoint).post(RequestBody.create(jsonRequest, MediaTypeJSON)).build(); if (Objects.equals("false", tritonRequestActivator)) { Request request = new Request.Builder().url(endpoint) .post(RequestBody.create(jsonInputRequest, MediaTypeJSON)).build(); - coproRequestBuilder(entity, request, objectMapper, rootPipelineId,noiseOutputEntities); + coproRequestBuilder(entity, request, objectMapper, rootPipelineId, noiseOutputEntities); + } else { + final Request tritonRequest = new Request.Builder().url(endpoint).post(RequestBody.create(jsonRequest, MediaTypeJSON)).build(); + tritonRequestBuilder(entity, tritonRequest, objectMapper, noiseOutputEntities); } if (log.isInfoEnabled()) { @@ -102,25 +104,158 @@ public List process(URL endpoint, NoiseModelInputEntity } return noiseOutputEntities; } - private void coproRequestBuilder (NoiseModelInputEntity entity, Request request, ObjectMapper objectMapper, Long rootPipelineId ,List noiseOutputEntities) { + + private void tritonRequestBuilder(NoiseModelInputEntity entity, Request request, ObjectMapper objectMapper, List parentObj) { String originId = entity.getOriginId(); Integer paperNo = entity.getPaperNo(); Integer groupId = entity.getGroupId(); - String fileId = entity.getFileId(); - String filePath=entity.getInputFilePath(); + Long tenantId = entity.getTenantId(); + Long processId = action.getProcessId(); - // exectution is after getting resopnse try (Response response = httpclient.newCall(request).execute()) { + + + if (log.isInfoEnabled()) { + log.info(aMarker, "coproProcessor consumer process response with status{}, and message as {}, ", response.isSuccessful(), response.message()); + } if (response.isSuccessful()) { String responseBody = Objects.requireNonNull(response.body()).string(); - // Parse the JSON string - JsonNode rootNode = objectMapper.readTree(responseBody); + NoiseModelResponse noiseModelResponse = objectMapper.readValue(responseBody, NoiseModelResponse.class); + if (noiseModelResponse.getOutputs() != null && !noiseModelResponse.getOutputs().isEmpty()) { + noiseModelResponse.getOutputs().forEach(o -> o.getData().forEach(noiseModelDataItem -> + extractedOutputRequest(entity, objectMapper, parentObj, noiseModelResponse.getModelName(), noiseModelResponse.getModelVersion(), noiseModelDataItem, paperNo) + )); + } + + } else { + parentObj.add( + NoiseModelOutputEntity + .builder() + .originId(Optional.ofNullable(originId).map(String::valueOf).orElse(null)) + .groupId(groupId) + .processId(processId) + .tenantId(tenantId) + .status("FAILED") + .stage("NOISE_DETECTION_MODEL") + .message(response.message()) + .createdOn(LocalDateTime.now()) + .rootPipelineId(entity.getRootPipelineId()) + .build()); + log.error(aMarker, "Error in response {}", response.message()); + } + + } catch (Exception exception) { + parentObj.add( + NoiseModelOutputEntity + .builder() + .originId(Optional.ofNullable(originId).map(String::valueOf).orElse(null)) + .groupId(groupId) + .processId(processId) + .tenantId(tenantId) + .status("FAILED") + .stage("NOISE_DETECTION_MODEL") + .message(exception.getMessage()) + .createdOn(LocalDateTime.now()) + .rootPipelineId(entity.getRootPipelineId()) + .build()); + HandymanException handymanException = new HandymanException(exception); + HandymanException.insertException("NOISE_DETECTION_MODEL consumer failed for originId " + originId, handymanException, this.action); + log.error(aMarker, "The Exception occurred in request {}", request, exception); + } + } + + + private void extractedOutputRequest(NoiseModelInputEntity entity, ObjectMapper objectMapper, List parentObj, String modelName, String modelVersion, String noiseModelDataItem, Integer paperNo) { + String originId = entity.getOriginId(); + Integer groupId = entity.getGroupId(); + Long tenantId = entity.getTenantId(); + Long processId = action.getProcessId(); + + try { + JsonNode rootNode = objectMapper.readTree(noiseModelDataItem); + + + if (rootNode != null && !rootNode.isEmpty()) { + String inputFilePath = rootNode.path("inputFilePath").asText(); + String consolidatedClass = rootNode.path("consolidatedClass").asText(); + Double consolidatedConfidenceScore = rootNode.path("consolidatedConfidenceScore").asDouble(); + String extractedValue = rootNode.path("noiseModelsResult").toString(); + + String hwClass = rootNode + .path("noiseModelsResult") + .path("hwNoiseDetectionOutput").toString(); + String checkBoxClass = rootNode + .path("noiseModelsResult") + .path("checkNoiseDetectionOutput").toString(); + String tickNoiseClass = rootNode + .path("noiseModelsResult") + .path("checkboxMarkDetectionOutput").toString(); + String speckleClass = rootNode + .path("noiseModelsResult") + .path("speckleNoiseDetectionOutput").toString(); + + parentObj.add(NoiseModelOutputEntity.builder() + .originId(originId) + .paperNo(paperNo) + .groupId(groupId) + .processId(processId) + .tenantId(tenantId) + .inputFilePath(inputFilePath) + .consolidatedConfidenceScore(consolidatedConfidenceScore) + .consolidatedClass(consolidatedClass) + .noiseModelsResult(extractedValue) + .hwNoiseDetectionOutput(hwClass) + .checkNoiseDetectionOutput(checkBoxClass) + .checkboxMarkDetectionOutput(tickNoiseClass) + .speckleNoiseDetectionOutput(speckleClass) + .createdOn(LocalDateTime.now()) + .rootPipelineId(action.getRootPipelineId()) + .status("COMPLETED") + .stage("NOISE_DETECTION_MODEL") + .message("noise detection completed") + .modelName(modelName) + .modelVersion(modelVersion) + .build()); + } + + } catch (JsonProcessingException e) { + parentObj.add( + NoiseModelOutputEntity + .builder() + .originId(Optional.ofNullable(originId).map(String::valueOf).orElse(null)) + .groupId(groupId) + .processId(processId) + .tenantId(tenantId) + .status("FAILED") + .stage("NOISE_DETECTION_MODEL") + .message(e.getMessage()) + .createdOn(LocalDateTime.now()) + .rootPipelineId(entity.getRootPipelineId()) + .build()); + HandymanException handymanException = new HandymanException(e); + HandymanException.insertException("NOISE_DETECTION_MODEL consumer failed for originId " + originId, handymanException, this.action); + log.error(aMarker, "The Exception occurred in request {}", e.toString()); + } + } + + private void coproRequestBuilder(NoiseModelInputEntity entity, Request request, ObjectMapper objectMapper, Long rootPipelineId, List noiseOutputEntities) { + String originId = entity.getOriginId(); + Integer paperNo = entity.getPaperNo(); + Integer groupId = entity.getGroupId(); + Long processId = action.getProcessId(); + Long tenantId = entity.getTenantId(); + + + try (Response response = httpclient.newCall(request).execute()) { + if (response.isSuccessful()) { + String responseBody = Objects.requireNonNull(response.body()).string(); + + JsonNode rootNode = objectMapper.readTree(responseBody); + if (rootNode != null && !rootNode.isEmpty()) { - Integer processId = rootNode.path("processId").asInt(); - Integer tenantId = rootNode.path("tenantId").asInt(); String inputFilePath = rootNode.path("inputFilePath").asText(); String consolidatedClass = rootNode.path("consolidatedClass").asText(); Double consolidatedConfidenceScore = rootNode.path("consolidatedConfidenceScore").asDouble(); @@ -141,7 +276,7 @@ private void coproRequestBuilder (NoiseModelInputEntity entity, Request request, .path("noiseModelsResult") .path("speckleNoiseDetection").toString(); - noiseOutputEntities.add(NoiseModelOutputEnitity.builder() + noiseOutputEntities.add(NoiseModelOutputEntity.builder() .originId(originId) .paperNo(paperNo) .groupId(groupId) @@ -164,7 +299,7 @@ private void coproRequestBuilder (NoiseModelInputEntity entity, Request request, } else { - noiseOutputEntities.add(NoiseModelOutputEnitity.builder() + noiseOutputEntities.add(NoiseModelOutputEntity.builder() .originId(originId) .paperNo(paperNo) .groupId(groupId) @@ -177,7 +312,7 @@ private void coproRequestBuilder (NoiseModelInputEntity entity, Request request, } } else { - noiseOutputEntities.add(NoiseModelOutputEnitity.builder() + noiseOutputEntities.add(NoiseModelOutputEntity.builder() .originId(originId) .paperNo(paperNo) .groupId(groupId) @@ -191,7 +326,7 @@ private void coproRequestBuilder (NoiseModelInputEntity entity, Request request, } } catch (Exception e) { - noiseOutputEntities.add(NoiseModelOutputEnitity.builder() + noiseOutputEntities.add(NoiseModelOutputEntity.builder() .originId(originId) .paperNo(paperNo) .groupId(groupId) @@ -208,4 +343,4 @@ private void coproRequestBuilder (NoiseModelInputEntity entity, Request request, } - } +} diff --git a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelDataItem.java b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelDataItem.java new file mode 100644 index 000000000..f93da5093 --- /dev/null +++ b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelDataItem.java @@ -0,0 +1,41 @@ +package in.handyman.raven.lib.model.NoiseModel; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class NoiseModelDataItem { + + + @JsonProperty("origin_id") + private String originId; + @JsonProperty("paper_no") + private Integer paperNo; + @JsonProperty("process_id") + private Integer processId; + @JsonProperty("group_id") + private Integer groupId; + @JsonProperty("tenant_id") + private Integer tenantId; + @JsonProperty("input_file_path") + private String inputFilePath; + @JsonProperty("consolidated_class") + private String consolidatedClass; + @JsonProperty("consolidated_confidence_score") + private String consolidatedConfidenceScore; + @JsonProperty("noise_models_result") + private String noiseModelsResult; + + + + + + + +} diff --git a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutput.java b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutput.java new file mode 100644 index 000000000..4224f20b4 --- /dev/null +++ b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutput.java @@ -0,0 +1,19 @@ +package in.handyman.raven.lib.model.NoiseModel; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class NoiseModelOutput { + private String name; + private String datatype; + private List shape; + private List data; +} diff --git a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutputEnitity.java b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutputEntity.java similarity index 66% rename from src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutputEnitity.java rename to src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutputEntity.java index 1b6826e91..994d2ff65 100644 --- a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutputEnitity.java +++ b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelOutputEntity.java @@ -1,6 +1,6 @@ package in.handyman.raven.lib.model.NoiseModel; -import in.handyman.raven.lib.CoproProcessor; +import in.handyman.raven.lib.CoproProcessor; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -16,12 +16,12 @@ @NoArgsConstructor @Builder -public class NoiseModelOutputEnitity implements CoproProcessor.Entity { +public class NoiseModelOutputEntity implements CoproProcessor.Entity { private String originId; private Integer paperNo; - private Integer processId; + private Long processId; private Integer groupId; - private Integer tenantId; + private Long tenantId; private String inputFilePath; private Double consolidatedConfidenceScore; private String consolidatedClass; @@ -35,13 +35,16 @@ public class NoiseModelOutputEnitity implements CoproProcessor.Entity { private String status; private String stage; private String message; + private String modelName; + private String modelVersion; + @Override public List getRowData() { - return Stream.of( this.originId, this.paperNo, - this.processId, this.groupId, this.tenantId,this.inputFilePath, this.consolidatedConfidenceScore, - this.consolidatedClass,this.noiseModelsResult, this.hwNoiseDetectionOutput, + return Stream.of(this.originId, this.paperNo, + this.processId, this.groupId, this.tenantId, this.inputFilePath, this.consolidatedConfidenceScore, + this.consolidatedClass, this.noiseModelsResult, this.hwNoiseDetectionOutput, this.checkNoiseDetectionOutput, this.checkboxMarkDetectionOutput, - this.speckleNoiseDetectionOutput, this.createdOn,this.rootPipelineId, - this.status,this.stage,this.message).collect(Collectors.toList()); + this.speckleNoiseDetectionOutput, this.createdOn, this.rootPipelineId, + this.status, this.stage, this.message, this.modelName, this.modelVersion).collect(Collectors.toList()); } } \ No newline at end of file diff --git a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelResponse.java b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelResponse.java index f42c98317..784686f01 100644 --- a/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelResponse.java +++ b/src/main/java/in/handyman/raven/lib/model/NoiseModel/NoiseModelResponse.java @@ -1,42 +1,25 @@ package in.handyman.raven.lib.model.NoiseModel; import com.fasterxml.jackson.annotation.JsonProperty; -//import in.handyman.raven.lib.model.qrExtraction.QrExtractionOutput; +import in.handyman.raven.lib.model.paperitemizer.PaperItemizerOutput; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + @Data @AllArgsConstructor @NoArgsConstructor @Builder public class NoiseModelResponse { + @JsonProperty("model_name") + private String modelName; - @JsonProperty("origin_id") - private String originId; - @JsonProperty("paper_no") - private Integer paperNo; - @JsonProperty("process_id") - private Integer processId; - @JsonProperty("group_id") - private Integer groupId; - @JsonProperty("tenant_id") - private Integer tenantId; - @JsonProperty("input_file_path") - private String inputFilePath; - @JsonProperty("consolidated_class") - private String consolidatedClass; - @JsonProperty("consolidated_confidence_score") - private String consolidatedConfidenceScore; - @JsonProperty("noise_models_result") - private String noiseModelsResult; - - - - - - + @JsonProperty("model_version") + private String modelVersion; + private List outputs; }