diff --git a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/docassemble/FilingInformationDocassembleJacksonDeserializer.java b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/docassemble/FilingInformationDocassembleJacksonDeserializer.java index 8ce45d3a..0741e99d 100644 --- a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/docassemble/FilingInformationDocassembleJacksonDeserializer.java +++ b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/docassemble/FilingInformationDocassembleJacksonDeserializer.java @@ -432,6 +432,9 @@ public FilingInformation fromNode(JsonNode node, InfoCollector collector) throws var maybeMax = getNumberMember(node, "max_fee_amount"); entities.setMaxFeeAmount(parser.vetMaxAmount(maybeMax)); + var maybeCauseOfAction = getStringMember(node, "cause_of_action_code"); + entities.setCauseOfActionCode(maybeCauseOfAction); + boolean contestedCase = false; JsonNode jsonContested = node.get("is_contested_case"); if (jsonContested != null && jsonContested.isBoolean()) { diff --git a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/model/FilingInformation.java b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/model/FilingInformation.java index 5aed0856..5a91ed08 100644 --- a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/model/FilingInformation.java +++ b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/model/FilingInformation.java @@ -71,12 +71,16 @@ public class FilingInformation { private Optional amountInControversy = Optional.empty(); private Optional maxFeeAmount = Optional.empty(); + + /** In TrueFiling AK, contains subject matter info (i.e. type of protection order sought). */ + private Optional causeOfActionCode = Optional.empty(); + private boolean contestedCase = false; private boolean outOfState = false; private EmailTemplates emailTemplates = new EmailTemplates(); /** - * Gets all of the peole who are listed by filer ids in the filing docs. This corresponds to the + * Gets all of the people who are listed by filer ids in the filing docs. This corresponds to the * `users` variable in Docassemble interviews. * * @return The People who are filers in the filing documents @@ -214,6 +218,10 @@ public Optional getMaxFeeAmount() { return maxFeeAmount; } + public Optional getCauseOfActionCode() { + return causeOfActionCode; + } + public boolean isContestedCase() { return contestedCase; } @@ -318,6 +326,10 @@ public void setMaxFeeAmount(Optional maxFeeAmount) { this.maxFeeAmount = maxFeeAmount; } + public void setCauseOfActionCode(Optional causeOfActionCode) { + this.causeOfActionCode = causeOfActionCode; + } + public void setIsContestedCase(boolean isContestedCase) { this.contestedCase = isContestedCase; } diff --git a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/truefiling/ecf4/EcfCaseTypeFactory.java b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/truefiling/ecf4/EcfCaseTypeFactory.java index eda1bbee..4949044f 100644 --- a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/truefiling/ecf4/EcfCaseTypeFactory.java +++ b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/truefiling/ecf4/EcfCaseTypeFactory.java @@ -148,7 +148,9 @@ public record ComboCaseCodes( info.getCaseDocketNumber(), comboCodes.cat(), info.getPreviousCaseId(), - info.getAmountInControversy()); + info.getAmountInControversy(), + // TODO(brycew): better cause of action default? + info.getCauseOfActionCode().orElse("")); } else if (ecftype == EcfCaseTypes.DomesticCase) { myCase = makeDomesticCaseType( @@ -437,7 +439,8 @@ private JAXBElement makeCivilCaseType( Optional caseDocketId, NameAndCode caseCategory, Optional caseTrackingId, - Optional amountInControversy) { + Optional amountInControversy, + String causeOfActionCode) { var ecfCivilObjFac = new oasis.names.tc.legalxml_courtfiling.schema.xsd.civilcase_4.ObjectFactory(); var ecfCommonObjFac = @@ -456,7 +459,8 @@ private JAXBElement makeCivilCaseType( }); c.getRest().add(caseAug); c.getRest().add(ecfAug); - c.getRest().add(ecfCommonObjFac.createCauseOfActionCode(Ecf4Helper.convertText("CIV750LT"))); + c.getRest() + .add(ecfCommonObjFac.createCauseOfActionCode(Ecf4Helper.convertText(causeOfActionCode))); c.getRest().add(ecfCivilObjFac.createClassActionIndicator(Ecf4Helper.convertBool(false))); c.getRest().add(ecfCivilObjFac.createJuryDemandIndicator(Ecf4Helper.convertBool(false))); c.getRest().add(ecfCivilObjFac.createReliefTypeCode(new TextType()));