Class DashboardStorageService

java.lang.Object
org.apache.camel.builder.BuilderSupport
org.apache.camel.builder.RouteBuilder
org.openremote.manager.dashboard.DashboardStorageService
All Implemented Interfaces:
org.apache.camel.builder.ModelRoutesBuilder, org.apache.camel.CamelContextAware, org.apache.camel.Ordered, org.apache.camel.RoutesBuilder, org.apache.camel.spi.HasCamelContext, org.apache.camel.spi.ResourceAware, org.openremote.model.ContainerService

public class DashboardStorageService extends org.apache.camel.builder.RouteBuilder implements org.openremote.model.ContainerService
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
    protected static final Logger
     
    protected org.openremote.container.persistence.PersistenceService
     
    protected org.openremote.container.timer.TimerService
     

    Fields inherited from class org.apache.camel.builder.RouteBuilder

    log

    Fields inherited from interface org.openremote.model.ContainerService

    DEFAULT_PRIORITY, HIGH_PRIORITY, LOW_PRIORITY, MED_PRIORITY

    Fields inherited from interface org.apache.camel.Ordered

    HIGHEST, LOWEST
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected StringBuilder
    appendSqlAssetConditionsFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams, String userId)
    Builds SQL section for filtering dashboards by assets present in the widgets.
    protected StringBuilder
    appendSqlDashboardConditionsFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams, String userId)
    Builds SQL section for filtering dashboards by dashboard conditions, such as DashboardAccess (PRIVATE, SHARED, PUBLIC), and applies the necessary data to the sqlBuilder and sqlParams parameters.
    protected StringBuilder
    appendSqlIdFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams)
    Builds SQL section for filtering dashboards by ID, and applies the necessary data to the sqlBuilder and sqlParams parameters.
    protected StringBuilder
    appendSqlNamesFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams)
    Builds SQL section for filtering dashboards by display name using StringPredicate, and applies the necessary data to the sqlBuilder and sqlParams parameters.
    protected StringBuilder
    appendSqlUserIdsFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams)
     
    void
     
    org.openremote.model.dashboard.Dashboard
    createNew(org.openremote.model.dashboard.Dashboard dashboard)
     
    boolean
    delete(String dashboardId, String realm, String userId)
     
    void
    init(org.openremote.model.Container container)
     
    protected org.openremote.model.dashboard.Dashboard[]
    query(org.openremote.model.query.DashboardQuery dashboardQuery, String userId)
    Pulls dashboards from the database based on the query object.
    void
    start(org.openremote.model.Container container)
     
    void
    stop(org.openremote.model.Container container)
     
    org.openremote.model.dashboard.Dashboard
    update(org.openremote.model.dashboard.Dashboard dashboard, String realm, String userId)
     

    Methods inherited from class org.apache.camel.builder.RouteBuilder

    addLifecycleInterceptor, addRoutes, addRoutesToCamelContext, addTemplatedRoutesToCamelContext, bindToRegistry, bindToRegistry, checkInitialized, configuration, configureRest, configureRests, configureRoute, configureRouteConfiguration, configureRoutes, configureRouteTemplate, configureTemplatedRoute, customize, customize, dataFormat, errorHandler, errorHandler, expression, from, from, from, fromF, fromV, fromV, getBeans, getOrder, getResource, getRestCollection, getRestConfiguration, getRests, getRouteCollection, getRoutes, getRouteTemplateCollection, getTemplatedRouteCollection, initializeCamelContext, intercept, interceptFrom, interceptFrom, interceptSendToEndpoint, loadRoutesBuilder, loadRoutesBuilder, onCompletion, onException, onException, populateBeans, populateOrUpdateRoutes, populateRests, populateRoutes, populateRouteTemplates, populateTemplatedRoutes, populateTransformers, populateValidators, prepareModel, property, propertyInject, removeLifecycleInterceptor, rest, rest, restConfiguration, routeTemplate, setErrorHandlerFactory, setResource, setRestCollection, setRouteTemplateCollection, setTemplatedRouteCollection, templatedRoute, tokenizer, toString, transformer, updateRoutesToCamelContext, validator

    Methods inherited from class org.apache.camel.builder.BuilderSupport

    body, bodyAs, constant, constant, constant, createErrorHandlerBuilder, csimple, csimple, datasonnet, datasonnet, datasonnet, deadLetterChannel, deadLetterChannel, defaultErrorHandler, endpoint, endpoint, exceptionMessage, exchangeProperty, expression, getCamelContext, getContext, getErrorHandlerFactory, hasErrorHandlerFactory, header, java, java, joor, joor, jq, jq, jsonpath, jsonpath, jtaTransactionErrorHandler, jtaTransactionErrorHandler, jtaTransactionErrorHandler, method, method, method, method, noErrorHandler, regexReplaceAll, regexReplaceAll, setCamelContext, simple, simple, simpleF, simpleF, springTransactionErrorHandler, springTransactionErrorHandler, springTransactionErrorHandler, systemProperty, systemProperty, variable, xpath, xpath, xpath, xpath

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.openremote.model.ContainerService

    getPriority
  • Field Details

    • LOG

      protected static final Logger LOG
    • identityService

      protected ManagerIdentityService identityService
    • persistenceService

      protected org.openremote.container.persistence.PersistenceService persistenceService
    • assetStorageService

      protected AssetStorageService assetStorageService
    • timerService

      protected org.openremote.container.timer.TimerService timerService
  • Constructor Details

    • DashboardStorageService

      public DashboardStorageService()
  • Method Details

    • configure

      public void configure() throws Exception
      Specified by:
      configure in class org.apache.camel.builder.RouteBuilder
      Throws:
      Exception
    • init

      public void init(org.openremote.model.Container container) throws Exception
      Specified by:
      init in interface org.openremote.model.ContainerService
      Throws:
      Exception
    • start

      public void start(org.openremote.model.Container container) throws Exception
      Specified by:
      start in interface org.openremote.model.ContainerService
      Throws:
      Exception
    • stop

      public void stop(org.openremote.model.Container container) throws Exception
      Specified by:
      stop in interface org.openremote.model.ContainerService
      Throws:
      Exception
    • query

      protected org.openremote.model.dashboard.Dashboard[] query(org.openremote.model.query.DashboardQuery dashboardQuery, String userId)
      Pulls dashboards from the database based on the query object. Useful to specifically filter and request dashboards.
      Parameters:
      dashboardQuery - see DashboardQuery for specification
      Returns:
      List of dashboards present in the database
    • appendSqlIdFilter

      protected StringBuilder appendSqlIdFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams)
      Builds SQL section for filtering dashboards by ID, and applies the necessary data to the sqlBuilder and sqlParams parameters.
      Returns:
      StringBuilder used for building
    • appendSqlNamesFilter

      protected StringBuilder appendSqlNamesFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams)
      Builds SQL section for filtering dashboards by display name using StringPredicate, and applies the necessary data to the sqlBuilder and sqlParams parameters.
      Returns:
      StringBuilder used for building
    • appendSqlUserIdsFilter

      protected StringBuilder appendSqlUserIdsFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams)
    • appendSqlDashboardConditionsFilter

      protected StringBuilder appendSqlDashboardConditionsFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams, String userId)
      Builds SQL section for filtering dashboards by dashboard conditions, such as DashboardAccess (PRIVATE, SHARED, PUBLIC), and applies the necessary data to the sqlBuilder and sqlParams parameters.
      Returns:
      StringBuilder used for building
    • appendSqlAssetConditionsFilter

      protected StringBuilder appendSqlAssetConditionsFilter(StringBuilder sqlBuilder, org.openremote.model.query.DashboardQuery query, Map<String,Object> sqlParams, String userId)
      Builds SQL section for filtering dashboards by assets present in the widgets. For example, to only query dashboards when the user has access to the assets used. Using DashboardQuery.AssetAccess, it applies the necessary data to the sqlBuilder and sqlParams parameters.
      Returns:
      StringBuilder used for building
    • createNew

      public org.openremote.model.dashboard.Dashboard createNew(org.openremote.model.dashboard.Dashboard dashboard)
    • update

      public org.openremote.model.dashboard.Dashboard update(org.openremote.model.dashboard.Dashboard dashboard, String realm, String userId) throws IllegalArgumentException
      Throws:
      IllegalArgumentException
    • delete

      public boolean delete(String dashboardId, String realm, String userId) throws IllegalArgumentException
      Throws:
      IllegalArgumentException