Class JdbcQuestionnaireDatabase

java.lang.Object
io.dialob.db.spi.spring.AbstractDocumentDatabase<T>
io.dialob.db.jdbc.JdbcBackendDatabase<io.dialob.api.questionnaire.Questionnaire,io.dialob.api.questionnaire.Questionnaire.Metadata>
io.dialob.db.jdbc.JdbcQuestionnaireDatabase
All Implemented Interfaces:
JdbcDatabase, QuestionnaireDatabase

public class JdbcQuestionnaireDatabase extends JdbcBackendDatabase<io.dialob.api.questionnaire.Questionnaire,io.dialob.api.questionnaire.Questionnaire.Metadata> implements QuestionnaireDatabase
  • Constructor Details

    • JdbcQuestionnaireDatabase

      public JdbcQuestionnaireDatabase(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate, DatabaseHelper databaseHelper, org.springframework.transaction.support.TransactionTemplate transactionTemplate, com.fasterxml.jackson.databind.ObjectMapper objectMapper, String schema, Optional<FormVersionControlDatabase> versionControlDatabase, Predicate<String> isAnyTenantPredicate)
  • Method Details

    • toObject

      protected io.dialob.api.questionnaire.Questionnaire toObject(byte[] oid, int objectRev, String tenantId, byte[] formId, @NonNull String status, Timestamp created, Timestamp updated, Reader reader)
    • findOne

      @NonNull public io.dialob.api.questionnaire.Questionnaire findOne(@NonNull String tenantId, @NonNull String id, String rev)
      Specified by:
      findOne in interface QuestionnaireDatabase
      Specified by:
      findOne in class JdbcBackendDatabase<io.dialob.api.questionnaire.Questionnaire,io.dialob.api.questionnaire.Questionnaire.Metadata>
    • save

      @NonNull public io.dialob.api.questionnaire.Questionnaire save(String tenantId, @NonNull io.dialob.api.questionnaire.Questionnaire document)
      Specified by:
      save in interface QuestionnaireDatabase
      Specified by:
      save in class JdbcBackendDatabase<io.dialob.api.questionnaire.Questionnaire,io.dialob.api.questionnaire.Questionnaire.Metadata>
    • updatedDocument

      @NonNull protected io.dialob.api.questionnaire.Questionnaire updatedDocument(@NonNull io.dialob.api.questionnaire.Questionnaire document, @NonNull byte[] oid, @NonNull Integer revision, @NonNull Timestamp timestamp, @Nullable String tenantId)
      Specified by:
      updatedDocument in class JdbcBackendDatabase<io.dialob.api.questionnaire.Questionnaire,io.dialob.api.questionnaire.Questionnaire.Metadata>
    • findAllMetadata

      public void findAllMetadata(String tenantId, String ownerId, String formId, String formName, String formTag, io.dialob.api.questionnaire.Questionnaire.Metadata.Status status, @NonNull Consumer<QuestionnaireDatabase.MetadataRow> consumer)
      Specified by:
      findAllMetadata in interface QuestionnaireDatabase
    • findMetadata

      public QuestionnaireDatabase.MetadataRow findMetadata(String tenantId, String questionnaireId)
      Specified by:
      findMetadata in interface QuestionnaireDatabase
    • updateDocumentId

      @NonNull protected io.dialob.api.questionnaire.Questionnaire updateDocumentId(@NonNull io.dialob.api.questionnaire.Questionnaire document, String id)
      Specified by:
      updateDocumentId in class AbstractDocumentDatabase<io.dialob.api.questionnaire.Questionnaire>
    • updateDocumentRev

      @NonNull protected io.dialob.api.questionnaire.Questionnaire updateDocumentRev(@NonNull io.dialob.api.questionnaire.Questionnaire document, String rev)
      Specified by:
      updateDocumentRev in class AbstractDocumentDatabase<io.dialob.api.questionnaire.Questionnaire>
    • getFormRevision

      protected Integer getFormRevision(@NonNull io.dialob.api.questionnaire.Questionnaire document)
    • toFormRevision

      protected String toFormRevision(int formRev)