From 4cddc9efe4d5892e58bb09d298cdad21e8a926e4 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Mon, 18 Sep 2023 22:14:49 -0500 Subject: [PATCH] remove future parameter from FullDataToRenderDataTransformer --- .../FullDataToRenderDataTransformer.java | 3 +- .../file/renderfile/RenderDataMetaFile.java | 32 ++++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/transformers/FullDataToRenderDataTransformer.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/transformers/FullDataToRenderDataTransformer.java index 44a4c0757..6046b3ff9 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/transformers/FullDataToRenderDataTransformer.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/transformers/FullDataToRenderDataTransformer.java @@ -69,8 +69,7 @@ public class FullDataToRenderDataTransformer // public transformer interface // //==============================// - public static CompletableFuture transformFullDataToRenderSourceAsync(IFullDataSource fullDataSource, IDhClientLevel level) { return CompletableFuture.supplyAsync(() -> transformFullDataToRenderSource(fullDataSource, level), transformerThreadPool); } - public static CompletableFuture transformFullDataToRenderSourceAsync(CompletableFuture fullDataSourceFuture, IDhClientLevel level) { return fullDataSourceFuture.thenApplyAsync((fullDataSource) -> transformFullDataToRenderSource(fullDataSource, level), transformerThreadPool); } + public static CompletableFuture transformFullDataToRenderSourceUsingExecutorAsync(IFullDataSource fullDataSource, IDhClientLevel level) { return CompletableFuture.supplyAsync(() -> transformFullDataToRenderSource(fullDataSource, level), transformerThreadPool); } private static ColumnRenderSource transformFullDataToRenderSource(IFullDataSource fullDataSource, IDhClientLevel level) { if (fullDataSource == null) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderDataMetaFile.java b/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderDataMetaFile.java index 761e945df..375568eba 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderDataMetaFile.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderDataMetaFile.java @@ -342,26 +342,36 @@ public class RenderDataMetaFile extends AbstractMetaDataContainerFile implements // convert the full data source into a render source - CompletableFuture transformFuture = FullDataToRenderDataTransformer.transformFullDataToRenderSourceAsync(fullDataSourceFuture, this.clientLevel) - .handle((newRenderSource, ex) -> + CompletableFuture transformFuture = fullDataSourceFuture + .handle((fullDataSource, ex) -> { if (ex == null) { + ColumnRenderSource newRenderSource = null; + try + { + newRenderSource = FullDataToRenderDataTransformer.transformFullDataToRenderSourceUsingExecutorAsync(fullDataSource, this.clientLevel).join(); + } + catch (Exception e) + { + LOGGER.error("Unable to transform full data to render data for file: "+this.file, e); + } + try { if (newRenderSource != null) { renderSource.updateFromRenderSource(newRenderSource); + + // update the meta data + this.baseMetaData.dataVersion.set(renderDataVersionRef.value); + this.baseMetaData.dataLevel = renderSource.getDataDetail(); + this.baseMetaData.dataTypeId = RENDER_SOURCE_TYPE_ID; + this.baseMetaData.binaryDataFormatVersion = renderSource.getRenderDataFormatVersion(); + + // save to file + this.save(renderSource); } - - // update the meta data - this.baseMetaData.dataVersion.set(renderDataVersionRef.value); - this.baseMetaData.dataLevel = renderSource.getDataDetail(); - this.baseMetaData.dataTypeId = RENDER_SOURCE_TYPE_ID; - this.baseMetaData.binaryDataFormatVersion = renderSource.getRenderDataFormatVersion(); - - // save to file - this.save(renderSource); } catch (Throwable e) {