From 7eff08a6f0bf6b66951f5b22e3ee5d5fd0ea8112 Mon Sep 17 00:00:00 2001 From: mayc Date: Thu, 20 Nov 2025 14:27:45 -0500 Subject: [PATCH] Add additional Staging initializer --- src/main/java/com/imsweb/staging/Staging.java | 12 +++++++++++- .../staging/ExternalStagingFileDataProviderTest.java | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/imsweb/staging/Staging.java b/src/main/java/com/imsweb/staging/Staging.java index 3e08c7e2..d8652eb3 100644 --- a/src/main/java/com/imsweb/staging/Staging.java +++ b/src/main/java/com/imsweb/staging/Staging.java @@ -4,6 +4,7 @@ package com.imsweb.staging; import java.io.IOException; +import java.io.InputStream; import java.nio.file.Path; import java.util.ArrayList; import java.util.Calendar; @@ -58,7 +59,7 @@ private Staging(StagingDataProvider provider) { } /** - * Create an instance of the Staging object with a pre-constructed provider + * Create an instance of the Staging object based on a provider * @param provider StagingDataProvider * @return a Staging instance */ @@ -66,6 +67,15 @@ public static Staging getInstance(StagingDataProvider provider) { return new Staging(provider); } + /** + * Create an instance of the Staging object based on an InputStream + * @param is InputStream pointing to algoruthm zip file + * @return a Staging instance + */ + public static Staging getInstance(InputStream is) throws IOException { + return new Staging(new ExternalStagingFileDataProvider(is)); + } + /** * Create an instance of the Staging object based on a Path representing an algorithm zip file * @param algorithmPath path to an algorithm zip file diff --git a/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java b/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java index 240e0cb9..b2ee6fcd 100644 --- a/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java +++ b/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java @@ -18,7 +18,7 @@ class ExternalStagingFileDataProviderTest extends FileDataProviderTest { @BeforeAll static void setup() throws IOException { try (InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("external_algorithm.zip")) { - _STAGING = Staging.getInstance(new ExternalStagingFileDataProvider(is)); + _STAGING = Staging.getInstance(is); } }