Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/gradle/org.jsoup-jsoup-1.17.1
Browse files Browse the repository at this point in the history
  • Loading branch information
spokenbird authored Nov 27, 2023
2 parents 1991bd3 + 44f3df3 commit 11a3f75
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 16 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/publish-snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
server-id: github
settings-path: ${{ github.workspace }}
- name: Create jar and publish to Sonatype
uses: gradle/gradle-build-action@v2.9.0
uses: gradle/gradle-build-action@v2.10.0
with:
arguments: jar publish
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
echo "signing.gnupg.passphrase=${{ secrets.PLATFORM_ROBOT_GPG_PASSPHRASE }}" >> ~/.gradle/gradle.properties
echo "no-tty" >> ~/.gnupg/gpg.conf >> ~/.gradle/gradle.properties
- name: Publish package
uses: gradle/gradle-build-action@v2.9.0
uses: gradle/gradle-build-action@v2.10.0
with:
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
env:
Expand Down
31 changes: 17 additions & 14 deletions src/main/java/formflow/library/pdf/DatabaseFieldPreparer.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,23 @@ public class DatabaseFieldPreparer implements DefaultSubmissionFieldPreparer {
public Map<String, SubmissionField> prepareSubmissionFields(Submission submission, PdfMap pdfMap) {
Map<String, SubmissionField> databaseFields = new HashMap<>();
Map<String, Object> dbFields = pdfMap.getDbFields();

dbFields.forEach((fieldName, value) -> {
switch (fieldName) {
case "submittedAt" ->
databaseFields.put(fieldName, new DatabaseField(fieldName, formatDateWithNoTime(submission.getSubmittedAt())));
case "submissionId" -> databaseFields.put(fieldName, new DatabaseField(fieldName, submission.getId().toString()));
case "createdAt" ->
databaseFields.put(fieldName, new DatabaseField(fieldName, formatDateWithNoTime(submission.getCreatedAt())));
case "updatedAt" ->
databaseFields.put(fieldName, new DatabaseField(fieldName, formatDateWithNoTime(submission.getUpdatedAt())));
case "flow" -> databaseFields.put(fieldName, new DatabaseField(fieldName, submission.getFlow()));
default -> log.error("Unable to map unknown database field: {}", fieldName);
}
});

if (dbFields != null) {
dbFields.forEach((fieldName, value) -> {
switch (fieldName) {
case "submittedAt" ->
databaseFields.put(fieldName, new DatabaseField(fieldName, formatDateWithNoTime(submission.getSubmittedAt())));
case "submissionId" -> databaseFields.put(fieldName, new DatabaseField(fieldName, submission.getId().toString()));
case "createdAt" ->
databaseFields.put(fieldName, new DatabaseField(fieldName, formatDateWithNoTime(submission.getCreatedAt())));
case "updatedAt" ->
databaseFields.put(fieldName, new DatabaseField(fieldName, formatDateWithNoTime(submission.getUpdatedAt())));
case "flow" -> databaseFields.put(fieldName, new DatabaseField(fieldName, submission.getFlow()));
default -> log.error("Unable to map unknown database field: {}", fieldName);
}
});
}

return databaseFields;
}

Expand Down
28 changes: 28 additions & 0 deletions src/test/java/formflow/library/pdf/DatabaseFieldPreparerTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package formflow.library.pdf;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;

import formflow.library.data.Submission;
import java.util.List;
Expand Down Expand Up @@ -59,4 +60,31 @@ void shouldNotCreateDbFieldsForItemsNotPresentInPdfMap() {
Map.entry("updatedAt", new DatabaseField("updatedAt", "09/15/2020"))
);
}

@Test
void DbFieldsShouldNotBeRequired_shouldNotThrowErrorIfDbFieldsIsNull() {
DatabaseFieldPreparer dataBaseFieldPreparer = new DatabaseFieldPreparer();
PdfMap pdfMap = new PdfMap();
pdfMap.setFlow("flow1");
// Assert Does Not throw for a completely missing dbFields Map
pdfMapConfiguration = new PdfMapConfiguration(List.of(pdfMap));
assertDoesNotThrow(() -> dataBaseFieldPreparer.prepareSubmissionFields(submission,
pdfMapConfiguration.getPdfMap(submission.getFlow())));
assertThat(dataBaseFieldPreparer.prepareSubmissionFields(submission,
pdfMapConfiguration.getPdfMap(submission.getFlow()))).isEmpty();

// Assert does not throw for a null dbFields Map value
pdfMap.setDbFields(null);
assertDoesNotThrow(() -> dataBaseFieldPreparer.prepareSubmissionFields(submission,
pdfMapConfiguration.getPdfMap(submission.getFlow())));
assertThat(dataBaseFieldPreparer.prepareSubmissionFields(submission,
pdfMapConfiguration.getPdfMap(submission.getFlow()))).isEmpty();

// Assert does not throw for an empty dbFields Map value
pdfMap.setDbFields(Map.of());
assertDoesNotThrow(() -> dataBaseFieldPreparer.prepareSubmissionFields(submission,
pdfMapConfiguration.getPdfMap(submission.getFlow())));
assertThat(dataBaseFieldPreparer.prepareSubmissionFields(submission,
pdfMapConfiguration.getPdfMap(submission.getFlow()))).isEmpty();
}
}

0 comments on commit 11a3f75

Please sign in to comment.