Package io.dialob.db.jdbc
Class JdbcVersionControlledFormDatabase
- java.lang.Object
-
- io.dialob.db.jdbc.JdbcVersionControlledFormDatabase
-
- All Implemented Interfaces:
JdbcDatabase,FormDatabase,FormVersionControlDatabase
public class JdbcVersionControlledFormDatabase extends Object implements FormDatabase, FormVersionControlDatabase, JdbcDatabase
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.dialob.form.service.api.FormDatabase
FormDatabase.FormMetadataRow
-
-
Field Summary
Fields Modifier and Type Field Description protected DatabaseHelperdatabaseHelperprotected FormDatabaseformDatabaseprotected StringformRevTableNameprotected StringformTableNameprotected Predicate<String>isAnyTenantPredicateprotected org.springframework.jdbc.core.JdbcTemplatejdbcTemplatestatic StringLATESTprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapperprotected org.springframework.transaction.support.TransactionTemplatetransactionTemplate
-
Constructor Summary
Constructors Constructor Description JdbcVersionControlledFormDatabase(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate, String schema, DatabaseHelper databaseHelper, org.springframework.transaction.support.TransactionTemplate transactionTemplate, FormDatabase formDatabase, Predicate<String> isAnyTenantPredicate, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancreateControlledForm(String tenantId, String formName, String formDocumentId, String label)StringcreateSnapshot(String tenantId, String formId)Optional<io.dialob.api.form.FormTag>createTag(String tenantId, String formName, String newTag, String description, String formDocumentIdOrRefName, io.dialob.api.form.FormTag.Type type)Optional<io.dialob.api.form.FormTag>createTagOnLatest(String tenantId, String formName, String tag, String description, boolean snapshot)booleandelete(String tenantId, String id)booleandeleteTag(String tenantId, String formName, String tag)protected <R> RdoTransaction(Function<org.springframework.jdbc.core.JdbcTemplate,R> operation)booleanexists(String tenantId, String id)voidfindAllMetadata(String tenantId, io.dialob.api.form.Form.Metadata metadata, Consumer<FormDatabase.FormMetadataRow> consumer)StringfindFormDocumentId(String tenantId, String formName, String tag)io.dialob.api.form.FormfindOne(String tenantId, String id)io.dialob.api.form.FormfindOne(String tenantId, String id, String rev)Optional<io.dialob.api.form.FormTag>findTag(String tenantId, String formName, String name)List<io.dialob.api.form.FormTag>findTags(String tenantId, String formId, io.dialob.api.form.FormTag.Type type)booleanformNameExists(String tenantId, String formName)DatabaseHelpergetDatabaseHelper()FormDatabasegetFormDatabase()booleanisFormDocumentTagged(String tenantId, String formDocumentId)booleanisName(String tenantId, String formId)Optional<io.dialob.api.form.FormTag>moveTag(String tenantId, io.dialob.api.form.FormTag updateTag)List<io.dialob.api.form.FormTag>queryTags(String tenantId, String formName, String formId, String name, io.dialob.api.form.FormTag.Type type)io.dialob.api.form.Formsave(String tenantId, io.dialob.api.form.Form document)booleanupdateLabel(String tenantId, String formName, String label)booleanupdateLatest(String tenantId, String formId, io.dialob.api.form.FormTag tag)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.dialob.db.jdbc.JdbcDatabase
toJdbcId
-
-
-
-
Field Detail
-
LATEST
public static final String LATEST
- See Also:
- Constant Field Values
-
jdbcTemplate
protected final org.springframework.jdbc.core.JdbcTemplate jdbcTemplate
-
transactionTemplate
protected final org.springframework.transaction.support.TransactionTemplate transactionTemplate
-
formDatabase
protected final FormDatabase formDatabase
-
formTableName
protected String formTableName
-
formRevTableName
protected String formRevTableName
-
databaseHelper
protected final DatabaseHelper databaseHelper
-
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
-
Constructor Detail
-
JdbcVersionControlledFormDatabase
public JdbcVersionControlledFormDatabase(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate, String schema, DatabaseHelper databaseHelper, org.springframework.transaction.support.TransactionTemplate transactionTemplate, FormDatabase formDatabase, Predicate<String> isAnyTenantPredicate, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Detail
-
createControlledForm
public boolean createControlledForm(String tenantId, String formName, String formDocumentId, String label)
-
createTag
public Optional<io.dialob.api.form.FormTag> createTag(@NonNull String tenantId, @NonNull String formName, String newTag, String description, String formDocumentIdOrRefName, @NonNull io.dialob.api.form.FormTag.Type type)
- Specified by:
createTagin interfaceFormVersionControlDatabase
-
createTagOnLatest
public Optional<io.dialob.api.form.FormTag> createTagOnLatest(String tenantId, @NonNull String formName, String tag, String description, boolean snapshot)
- Specified by:
createTagOnLatestin interfaceFormVersionControlDatabase
-
deleteTag
public boolean deleteTag(String tenantId, @NonNull String formName, String tag)
- Specified by:
deleteTagin interfaceFormVersionControlDatabase
-
updateLabel
public boolean updateLabel(String tenantId, @NonNull String formName, String label)
- Specified by:
updateLabelin interfaceFormVersionControlDatabase
-
createSnapshot
public String createSnapshot(String tenantId, @NonNull String formId)
- Specified by:
createSnapshotin interfaceFormVersionControlDatabase
-
updateLatest
public boolean updateLatest(String tenantId, @NonNull String formId, @NonNull io.dialob.api.form.FormTag tag)
- Specified by:
updateLatestin interfaceFormVersionControlDatabase
-
isName
public boolean isName(String tenantId, @NonNull String formId)
- Specified by:
isNamein interfaceFormVersionControlDatabase
-
findTags
@NonNull public List<io.dialob.api.form.FormTag> findTags(String tenantId, @NonNull String formId, io.dialob.api.form.FormTag.Type type)
- Specified by:
findTagsin interfaceFormVersionControlDatabase
-
findTag
public Optional<io.dialob.api.form.FormTag> findTag(String tenantId, @NonNull String formName, @Nullable String name)
- Specified by:
findTagin interfaceFormVersionControlDatabase
-
queryTags
@NonNull public List<io.dialob.api.form.FormTag> queryTags(String tenantId, String formName, String formId, String name, io.dialob.api.form.FormTag.Type type)
- Specified by:
queryTagsin interfaceFormVersionControlDatabase
-
moveTag
public Optional<io.dialob.api.form.FormTag> moveTag(String tenantId, io.dialob.api.form.FormTag updateTag)
- Specified by:
moveTagin interfaceFormVersionControlDatabase
-
getFormDatabase
@NonNull public FormDatabase getFormDatabase()
- Specified by:
getFormDatabasein interfaceFormVersionControlDatabase
-
findOne
@NonNull public io.dialob.api.form.Form findOne(@Nonnull String tenantId, @Nonnull String id, String rev)- Specified by:
findOnein interfaceFormDatabase
-
findOne
@NonNull public io.dialob.api.form.Form findOne(@Nonnull String tenantId, @Nonnull String id)- Specified by:
findOnein interfaceFormDatabase
-
exists
public boolean exists(@Nonnull String tenantId, @Nonnull String id)- Specified by:
existsin interfaceFormDatabase
-
delete
public boolean delete(String tenantId, @NonNull String id)
- Specified by:
deletein interfaceFormDatabase- Specified by:
deletein interfaceFormVersionControlDatabase
-
save
@NonNull public io.dialob.api.form.Form save(String tenantId, @NonNull io.dialob.api.form.Form document)
- Specified by:
savein interfaceFormDatabase
-
findAllMetadata
public void findAllMetadata(String tenantId, io.dialob.api.form.Form.Metadata metadata, @NonNull Consumer<FormDatabase.FormMetadataRow> consumer)
- Specified by:
findAllMetadatain interfaceFormDatabase
-
doTransaction
protected <R> R doTransaction(Function<org.springframework.jdbc.core.JdbcTemplate,R> operation)
-
getDatabaseHelper
public DatabaseHelper getDatabaseHelper()
- Specified by:
getDatabaseHelperin interfaceJdbcDatabase
-
-