Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Optional;

public class CourtLocationInfo {
public String code;
Expand Down Expand Up @@ -95,7 +94,15 @@ public class CourtLocationInfo {
public String protectedcasereplacementstring;

public boolean allowzerofeeswithoutfilingparty;
public Optional<Boolean> allowserviceoninitial;

public static enum BoolOrDefault {
TRUE,
FALSE,
DEFAULT
}

public BoolOrDefault
allowserviceoninitial; // if default, check DataField FilingServiceCheckBoxInitial
public boolean allowaddservicecontactsoninitial;

/** True if the court allows redaction of documents. See TODO(#39) */
Expand Down Expand Up @@ -201,9 +208,13 @@ public CourtLocationInfo(ResultSet rs) throws SQLException {
this.allowzerofeeswithoutfilingparty = Boolean.parseBoolean(rs.getString(24));
String serviceoninitial = rs.getString(25);
if (serviceoninitial == null || serviceoninitial.isBlank()) {
this.allowserviceoninitial = Optional.empty();
this.allowserviceoninitial = BoolOrDefault.DEFAULT;
} else {
this.allowserviceoninitial = Optional.of(Boolean.parseBoolean(serviceoninitial));
if (Boolean.parseBoolean(serviceoninitial)) {
this.allowserviceoninitial = BoolOrDefault.TRUE;
} else {
this.allowserviceoninitial = BoolOrDefault.FALSE;
}
}
this.allowaddservicecontactsoninitial = Boolean.parseBoolean(rs.getString(26));
this.allowredaction = Boolean.parseBoolean(rs.getString(27));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -869,10 +869,12 @@ public JAXBElement<DocumentType> filingDocToXml(
collector.addRequired(var);
}
}
Optional<Boolean> maybeServiceOnInitial = this.court.allowserviceoninitial;
boolean serviceOnInitial =
maybeServiceOnInitial.orElse(
allDataFields.getFieldRow("FilingServiceCheckBoxInitial").isvisible);
switch (this.court.allowserviceoninitial) {
case TRUE -> true;
case FALSE -> false;
case DEFAULT -> allDataFields.getFieldRow("FilingServiceCheckBoxInitial").isvisible;
};
// From Reference Guide: if no FilingAction is provided, the original default behavior applies:
// * ReviewFiling API w/o service contacts: EFile
// * ReviewFiling API w/ service contacts: EfileAndServe
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -343,16 +343,14 @@ private CoreMessageAndNames prepareFiling(
cfm.getDocumentIdentification().add(id);
}

Optional<Boolean> serviceOnInitial = locationInfo.allowserviceoninitial;
if (serviceOnInitial.isEmpty()) {
serviceOnInitial =
Optional.of(
cd.getDataField(locationInfo.code, "FilingServiceCheckBoxInitial").isvisible);
}
if (isInitialFiling
&& !serviceOnInitial.orElse(
cd.getDataField(locationInfo.code, "FilingServiceCheckBoxInitial").isvisible)
&& info.getServiceContacts().size() > 0) {
boolean serviceOnInitial =
switch (locationInfo.allowserviceoninitial) {
case TRUE -> true;
case FALSE -> false;
case DEFAULT ->
cd.getDataField(locationInfo.code, "FilingServiceCheckBoxInitial").isvisible;
};
if (isInitialFiling && !serviceOnInitial && info.getServiceContacts().size() > 0) {
FilingError err =
FilingError.malformedInterview(
"Court " + locationInfo.name + " doesn't allow service on initial filings");
Expand Down
Loading