From c9e48bd2dff2b5766589024cf7264189b5f2a05c Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期五, 03 一月 2025 14:03:33 +0800
Subject: [PATCH] cpp释放java占用内存

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java
index e42c921..b4a0756 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java
@@ -1,15 +1,18 @@
 package com.iailab.module.model.mdk.sample;
 
 import com.iailab.module.model.mdk.common.exceptions.ModelInvokeException;
+import com.iailab.module.model.mdk.sample.dto.ColumnItemPort;
 import com.iailab.module.model.mdk.sample.dto.SampleData;
 import com.iailab.module.model.mdk.sample.dto.SampleInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
 
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 样本构造
@@ -25,11 +28,22 @@
     @Autowired
     private SampleFactory sampleFactory;
 
-    public List<SampleData> constructSample(String typeA, String modelId, Date runTime,String itemName) throws ModelInvokeException {
+    public List<SampleData> constructSample(String typeA, String modelId, Date runTime,String itemName, Map<Integer, Integer> dynamicDataLength) throws ModelInvokeException {
         try {
             SampleInfoConstructor sampleInfoConstructor = sampleFactory.createSampleInfo(typeA, modelId);
             SampleInfo sampleInfo = sampleInfoConstructor.prepareSampleInfo(modelId, runTime);
-            SampleDataConstructor sampleDataConstructor = sampleFactory.createSampelData(typeA);
+            if (!CollectionUtils.isEmpty(dynamicDataLength) && sampleInfo.getColumnInfo() != null) {
+                 for(ColumnItemPort columnInfo : sampleInfo.getColumnInfo()) {
+                     if (!dynamicDataLength.containsKey(columnInfo.getPortOrder())) {
+                         continue;
+                     }
+                     columnInfo.setDataLength(dynamicDataLength.get(columnInfo.getPortOrder()));
+                     columnInfo.getColumnItemList().forEach(columnItem -> {
+                         columnItem.setDataLength(columnInfo.getDataLength());
+                     });
+                 }
+            }
+            SampleDataConstructor sampleDataConstructor = sampleFactory.createSampleData(typeA);
             return sampleDataConstructor.prepareSampleData(sampleInfo);
         } catch (Exception e) {
             e.printStackTrace();

--
Gitblit v1.9.3