Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions src/main/java/com/imsweb/staging/Staging.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import java.io.InputStream;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
Expand Down Expand Up @@ -583,7 +582,7 @@ public StagingData stage(StagingData data) {
if (schemas.isEmpty())
data.setResult(StagingData.Result.FAILED_NO_MATCHING_SCHEMA);
else
data.setResult(StagingData.Result.FAILED_MULITPLE_MATCHING_SCHEMAS);
data.setResult(StagingData.Result.FAILED_MULTIPLE_MATCHING_SCHEMAS);
return data;
}

Expand Down Expand Up @@ -682,8 +681,7 @@ private void addContextKeys(Map<String, String> context) {
context.put(CTX_ALGORITHM_VERSION, getVersion());

// put the current year in the context
Calendar now = Calendar.getInstance();
context.put(CTX_YEAR_CURRENT, String.valueOf(now.get(Calendar.YEAR)));
context.put(CTX_YEAR_CURRENT, String.valueOf(java.time.LocalDate.now().getYear()));
}

/**
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/com/imsweb/staging/engine/DecisionEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,10 @@ else if (input.getDefaultTable() != null) {

/**
* Using the supplied context, process a schema. The results will be added to the context.
* <p>
* **The context Map is mutated in place.** Input values are trimmed, defaults are resolved,
* and the map's contents are replaced with only the staging outputs by the time this method returns.
* Do not reuse the same Map instance across multiple calls unless you deep-copy it first.
* @param schemaId an schema identifier
* @param context a Map containing the context
* @return a Result
Expand All @@ -640,6 +644,10 @@ public Result process(String schemaId, Map<String, String> context) {

/**
* Using the supplied context, process a schema. The results will be added to the context.
* <p>
* **The context Map is mutated in place.** Input values are trimmed, defaults are resolved,
* and the map's contents are replaced with only the staging outputs by the time this method returns.
* Do not reuse the same Map instance across multiple calls unless you deep-copy it first.
* <p>
* Input-mapping destination keys on a table path are temporary aliases scoped to that path. They are added before the path is processed and removed afterward. An input-mapping
* destination must therefore not be used to preserve a pre-existing context value; any previous value with the same key is overwritten and is not restored.
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/com/imsweb/staging/entities/StagingData.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ public enum Result {
FAILED_NO_MATCHING_SCHEMA,

// multiple matching schemas were found; a discriminator is probably needed
FAILED_MULTIPLE_MATCHING_SCHEMAS,

/**
* @deprecated use {@link #FAILED_MULTIPLE_MATCHING_SCHEMAS}
*/
@Deprecated(since = "12.0", forRemoval = true)
FAILED_MULITPLE_MATCHING_SCHEMAS,

// year of DX out of valid range
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,13 @@ public void setInputs(Map<String, List<StagingRange>> inputs) {
* @param key key
* @param range range
*/
@SuppressWarnings("unchecked")
@Override
public void addInput(String key, List<? extends Range> range) {
_inputs.put(key, (List<StagingRange>)range);
}
public void addInput(String key, List<? extends Range> range) {
List<StagingRange> staging = new ArrayList<>();
for (Range r : range)
staging.add((StagingRange)r);
_inputs.put(key, staging);
}

@Override
@JsonProperty("endpoint")
Expand All @@ -63,7 +65,9 @@ public void setEndpoints(List<StagingEndpoint> endpoints) {
}

@Override
public void addEndpoint(Endpoint endpoint) {
_endpoints.add((StagingEndpoint)endpoint);
}
public void addEndpoint(Endpoint endpoint) {
if (!(endpoint instanceof StagingEndpoint s))
throw new IllegalArgumentException("Only StagingEndpoint accepted: " + endpoint.getClass().getName());
_endpoints.add(s);
}
}
2 changes: 1 addition & 1 deletion src/test/java/com/imsweb/staging/cs/CsStagingTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@ void testBadLookupInStage() {
data.setInput(CsStagingData.CsInput.PRIMARY_SITE, "C111");
data.setInput(CsStagingData.CsInput.HISTOLOGY, "8200");
_STAGING.stage(data);
assertEquals(Result.FAILED_MULITPLE_MATCHING_SCHEMAS, data.getResult());
assertEquals(Result.FAILED_MULTIPLE_MATCHING_SCHEMAS, data.getResult());
}

@Test
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/imsweb/staging/eod/EodStagingTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ void testBadLookupInStage() {
data.setInput(EodInput.PRIMARY_SITE, "C111");
data.setInput(EodInput.HISTOLOGY, "8200");
_STAGING.stage(data);
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULITPLE_MATCHING_SCHEMAS);
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULTIPLE_MATCHING_SCHEMAS);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,16 +270,16 @@ void testBadLookupInStage() {
data.setInput(PediatricInput.PRIMARY_SITE, "C699");
data.setInput(PediatricInput.HISTOLOGY, "9500");
_STAGING.stage(data);
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULITPLE_MATCHING_SCHEMAS);
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULTIPLE_MATCHING_SCHEMAS);

// test other constructors
_STAGING.stage(new PediatricStagingData("C699", "9500", "15"));
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULITPLE_MATCHING_SCHEMAS);
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULTIPLE_MATCHING_SCHEMAS);

data = new PediatricStagingData("C699", "9500");
data.setInput(PediatricInput.AGE_DX, "15");
_STAGING.stage(data);
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULITPLE_MATCHING_SCHEMAS);
assertThat(data.getResult()).isEqualTo(Result.FAILED_MULTIPLE_MATCHING_SCHEMAS);

assertThat(data.getInput(PediatricInput.PRIMARY_SITE)).isEqualTo("C699");
assertThat(data.getInput(PediatricInput.HISTOLOGY)).isEqualTo("9500");
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ void testBadLookupInStage() {
data.setInput(TnmStagingData.TnmInput.PRIMARY_SITE, "C111");
data.setInput(TnmStagingData.TnmInput.HISTOLOGY, "8200");
_STAGING.stage(data);
assertEquals(Result.FAILED_MULITPLE_MATCHING_SCHEMAS, data.getResult());
assertEquals(Result.FAILED_MULTIPLE_MATCHING_SCHEMAS, data.getResult());
}

@Test
Expand Down
Loading