Class PostgresRepositoryFactory
java.lang.Object
com.cloudimpl.outstack.spring.repo.PostgresRepositoryFactory
- All Implemented Interfaces:
EventRepositoryFactory
public class PostgresRepositoryFactory extends java.lang.Object implements EventRepositoryFactory
- Author:
- nuwan
-
Field Summary
Fields inherited from interface com.cloudimpl.outstack.runtime.EventRepositoryFactory
eventStream, mapRepos -
Constructor Summary
Constructors Constructor Description PostgresRepositoryFactory(ResourceHelper helper, ComponentProvider.ProviderConfigs providerConfig) -
Method Summary
Modifier and Type Method Description intcreateEntityTable(java.sql.Connection conn, java.lang.String tableName)intcreateEventTable(java.sql.Connection conn, java.lang.String tableName)<T extends RootEntity>
EventRepositoy<T>createOrGetRepository(java.lang.Class<T> rootType)protected intdeleteEntity(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityId)voidexecute(java.util.List<java.util.function.Function<java.sql.Connection,java.lang.Integer>> consumer)<T> TexecuteQuery(java.util.function.Function<java.sql.Connection,T> queryHandler)protected java.util.Collection<java.lang.String>getChildEntityByType(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.lang.String rootId, java.lang.String entityType, java.lang.String tenantId, java.lang.String filter, java.lang.String orderBy, int offset, int limit)protected java.util.Optional<java.lang.String>getEntityByBrn(java.sql.Connection conn, java.lang.String tableName, java.lang.String brn, java.lang.String tenantId)protected java.util.Optional<java.lang.String>getEntityByTrn(java.sql.Connection conn, java.lang.String tableName, java.lang.String entityType, java.lang.String id, java.lang.String tenantId)protected java.util.Collection<java.lang.String>getEvents(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String trn, java.lang.String eventOwner, java.lang.String eventOwnerId, long eventSeq)protected java.util.Collection<java.lang.String>getRootEntityByType(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.lang.String tenantId, java.lang.String filter, java.lang.String orderBy, int offset, int limit)protected intinsertCheckpoint(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityType, java.lang.String entityId, java.lang.String json, long lastSeq)protected intinsertEntity(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String rootEntityType, java.lang.String rootId, java.lang.String brn, java.lang.String entityType, java.lang.String entityId, java.lang.String json, long lastSeq)protected intinsertEvent(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String trn, java.lang.String eventOwner, java.lang.String eventOwnerId, java.lang.String eventType, long eventSeq, java.lang.String json)protected booleanisIdExist(java.sql.Connection conn, java.lang.String tableName, java.lang.String id, java.lang.String tenantId)protected intupdateEntity(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityType, java.lang.String entityId, java.lang.String json, long lastSeq, long updatedSeq)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
PostgresRepositoryFactory
public PostgresRepositoryFactory(ResourceHelper helper, ComponentProvider.ProviderConfigs providerConfig) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
-
Method Details
-
execute
public void execute(java.util.List<java.util.function.Function<java.sql.Connection,java.lang.Integer>> consumer) -
createEntityTable
public int createEntityTable(java.sql.Connection conn, java.lang.String tableName) -
createEventTable
public int createEventTable(java.sql.Connection conn, java.lang.String tableName) -
executeQuery
public <T> T executeQuery(java.util.function.Function<java.sql.Connection,T> queryHandler) -
insertEntity
protected int insertEntity(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String rootEntityType, java.lang.String rootId, java.lang.String brn, java.lang.String entityType, java.lang.String entityId, java.lang.String json, long lastSeq) -
insertCheckpoint
protected int insertCheckpoint(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityType, java.lang.String entityId, java.lang.String json, long lastSeq) -
insertEvent
protected int insertEvent(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String trn, java.lang.String eventOwner, java.lang.String eventOwnerId, java.lang.String eventType, long eventSeq, java.lang.String json) -
getEvents
protected java.util.Collection<java.lang.String> getEvents(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String trn, java.lang.String eventOwner, java.lang.String eventOwnerId, long eventSeq) -
updateEntity
protected int updateEntity(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityType, java.lang.String entityId, java.lang.String json, long lastSeq, long updatedSeq) -
deleteEntity
protected int deleteEntity(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityId) -
getEntityByBrn
protected java.util.Optional<java.lang.String> getEntityByBrn(java.sql.Connection conn, java.lang.String tableName, java.lang.String brn, java.lang.String tenantId) -
getEntityByTrn
protected java.util.Optional<java.lang.String> getEntityByTrn(java.sql.Connection conn, java.lang.String tableName, java.lang.String entityType, java.lang.String id, java.lang.String tenantId) -
getRootEntityByType
protected java.util.Collection<java.lang.String> getRootEntityByType(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.lang.String tenantId, java.lang.String filter, java.lang.String orderBy, int offset, int limit) -
getChildEntityByType
protected java.util.Collection<java.lang.String> getChildEntityByType(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.lang.String rootId, java.lang.String entityType, java.lang.String tenantId, java.lang.String filter, java.lang.String orderBy, int offset, int limit) -
isIdExist
protected boolean isIdExist(java.sql.Connection conn, java.lang.String tableName, java.lang.String id, java.lang.String tenantId) -
createOrGetRepository
- Specified by:
createOrGetRepositoryin interfaceEventRepositoryFactory
-