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 intdeleteChildEntityByRootId(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String rootEntityType, java.lang.String rootId)protected intdeleteEntity(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityId)protected intdeleteEventsByRootId(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String rootId)protected intdeleteEventsByTrn(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String trn, java.lang.String eventOwner, java.lang.String eventOwnerId)voidexecute(java.util.List<java.util.function.Function<java.sql.Connection,java.lang.Integer>> consumer)SqlResultSetexecuteCustomRawQuery(java.util.function.Function<java.sql.Connection,java.sql.ResultSet> queryHandler)<T> TexecuteQuery(java.util.function.Function<java.sql.Connection,T> queryHandler)protected java.sql.ResultSetexecuteRawQuery(java.sql.Connection conn, java.lang.String query)protected ResultSet<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.util.List<java.lang.String> tenantIds, java.lang.String filter, java.lang.String orderBy, int pageNum, int pageSize)protected longgetChildEntityByTypeCount(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.lang.String rootId, java.lang.String entityType, java.util.List<java.lang.String> tenantIds, java.lang.String filter)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 ResultSet<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, java.lang.String filter, java.lang.String orderBy, int pageNum, int pageSize)protected ResultSet<java.lang.String>getRootEntityByType(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.util.List<java.lang.String> tenantIds, java.lang.String filter, java.lang.String orderBy, int pageNum, int pageSize)protected longgetRootEntityByTypeCount(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.util.List<java.lang.String> tenantIds, java.lang.String filter)protected longgetTotalEventsCount(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 filter)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) -
deleteChildEntityByRootId
protected int deleteChildEntityByRootId(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String rootEntityType, java.lang.String rootId) -
deleteEventsByRootId
protected int deleteEventsByRootId(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String rootId) -
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) -
deleteEventsByTrn
protected int deleteEventsByTrn(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String trn, java.lang.String eventOwner, java.lang.String eventOwnerId) -
getEvents
protected ResultSet<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, java.lang.String filter, java.lang.String orderBy, int pageNum, int pageSize) -
getTotalEventsCount
protected long getTotalEventsCount(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 filter) -
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 ResultSet<java.lang.String> getRootEntityByType(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.util.List<java.lang.String> tenantIds, java.lang.String filter, java.lang.String orderBy, int pageNum, int pageSize) -
getRootEntityByTypeCount
protected long getRootEntityByTypeCount(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.util.List<java.lang.String> tenantIds, java.lang.String filter) -
getChildEntityByTypeCount
protected long getChildEntityByTypeCount(java.sql.Connection conn, java.lang.String tableName, java.lang.String rootEntityType, java.lang.String rootId, java.lang.String entityType, java.util.List<java.lang.String> tenantIds, java.lang.String filter) -
getChildEntityByType
protected ResultSet<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.util.List<java.lang.String> tenantIds, java.lang.String filter, java.lang.String orderBy, int pageNum, int pageSize) -
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
-
executeRawQuery
protected java.sql.ResultSet executeRawQuery(java.sql.Connection conn, java.lang.String query) -
executeCustomRawQuery
public SqlResultSet executeCustomRawQuery(java.util.function.Function<java.sql.Connection,java.sql.ResultSet> queryHandler)
-