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
    int createEntityTable​(java.sql.Connection conn, java.lang.String tableName)  
    int createEventTable​(java.sql.Connection conn, java.lang.String tableName)  
    <T extends RootEntity>
    EventRepositoy<T>
    createOrGetRepository​(java.lang.Class<T> rootType)  
    protected int deleteEntity​(java.sql.Connection conn, java.lang.String tableName, java.lang.String tenantId, java.lang.String brn, java.lang.String entityId)  
    void execute​(java.util.List<java.util.function.Function<java.sql.Connection,​java.lang.Integer>> consumer)  
    <T> T executeQuery​(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 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)  
    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)  
    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)  
    protected boolean isIdExist​(java.sql.Connection conn, java.lang.String tableName, java.lang.String id, java.lang.String tenantId)  
    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)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • 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

      public <T extends RootEntity> EventRepositoy<T> createOrGetRepository​(java.lang.Class<T> rootType)
      Specified by:
      createOrGetRepository in interface EventRepositoryFactory