Package org.openremote.manager.asset
Class AssetModelService
java.lang.Object
org.apache.camel.builder.BuilderSupport
org.apache.camel.builder.RouteBuilder
org.openremote.manager.asset.AssetModelService
- 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.AssetModelProvider,org.openremote.model.ContainerService
public class AssetModelService
extends org.apache.camel.builder.RouteBuilder
implements org.openremote.model.ContainerService, org.openremote.model.AssetModelProvider
A service for abstracting
ValueUtil and handling local model requests vs
GatewayAsset model requests. It also manages the AssetModelResource and provides support for model requests via the client event bus.
Also implements an AssetModelProvider that loads descriptors from the file system; specifically in
PersistenceService.OR_STORAGE_DIR/DIRECTORY_NAME; file structure should be a JSON representation
of AssetTypeInfo.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ClientEventServicestatic final Stringprotected GatewayServiceprotected ManagerIdentityServiceprotected static com.fasterxml.jackson.databind.ObjectMapperprotected static Loggerprotected org.openremote.container.persistence.PersistenceServiceprotected PathFields inherited from class org.apache.camel.builder.RouteBuilder
logFields inherited from interface org.openremote.model.ContainerService
DEFAULT_PRIORITY, HIGH_PRIORITY, LOW_PRIORITY, MED_PRIORITYFields inherited from interface org.apache.camel.Ordered
HIGHEST, LOWEST -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidorg.openremote.model.asset.AssetDescriptor<?>[]org.openremote.model.asset.AssetDescriptor<?>[]getAssetDescriptors(String parentId, String parentType) org.openremote.model.asset.AssetTypeInfogetAssetInfo(String parentId, String assetType) org.openremote.model.asset.AssetTypeInfo[]getAssetInfos(String parentId, String parentType) Map<String, Collection<org.openremote.model.value.AttributeDescriptor<?>>> Map<String, Collection<org.openremote.model.value.MetaItemDescriptor<?>>> getMetaItemDescriptors(String parentId) intMap<String, Collection<org.openremote.model.value.ValueDescriptor<?>>> getValueDescriptors(String parentId) voidinit(org.openremote.model.Container container) protected voidbooleanprotected <T> Stream<T> loadDescriptors(Class<T> descriptorClazz, Path descriptorPath) protected <T> Tvoidstart(org.openremote.model.Container container) voidstop(org.openremote.model.Container container) booleanMethods 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, validatorMethods 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, xpathMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.openremote.model.AssetModelProvider
onAssetModelFinished
-
Field Details
-
JSON
protected static com.fasterxml.jackson.databind.ObjectMapper JSON -
LOG
-
DIRECTORY_NAME
- See Also:
-
identityService
-
clientEventService
-
gatewayService
-
persistenceService
protected org.openremote.container.persistence.PersistenceService persistenceService -
dynamicAssetTypeInfos
-
storageDir
-
-
Constructor Details
-
AssetModelService
public AssetModelService()
-
-
Method Details
-
getPriority
public int getPriority()- Specified by:
getPriorityin interfaceorg.openremote.model.ContainerService
-
configure
- Specified by:
configurein classorg.apache.camel.builder.RouteBuilder- Throws:
Exception
-
init
- Specified by:
initin interfaceorg.openremote.model.ContainerService- Throws:
Exception
-
initDynamicModel
protected void initDynamicModel() -
start
- Specified by:
startin interfaceorg.openremote.model.ContainerService- Throws:
Exception
-
stop
- Specified by:
stopin interfaceorg.openremote.model.ContainerService- Throws:
Exception
-
useAutoScan
public boolean useAutoScan()- Specified by:
useAutoScanin interfaceorg.openremote.model.AssetModelProvider
-
getAssetDescriptors
public org.openremote.model.asset.AssetDescriptor<?>[] getAssetDescriptors()- Specified by:
getAssetDescriptorsin interfaceorg.openremote.model.AssetModelProvider
-
getAttributeDescriptors
public Map<String,Collection<org.openremote.model.value.AttributeDescriptor<?>>> getAttributeDescriptors()- Specified by:
getAttributeDescriptorsin interfaceorg.openremote.model.AssetModelProvider
-
getMetaItemDescriptors
public Map<String,Collection<org.openremote.model.value.MetaItemDescriptor<?>>> getMetaItemDescriptors()- Specified by:
getMetaItemDescriptorsin interfaceorg.openremote.model.AssetModelProvider
-
getValueDescriptors
- Specified by:
getValueDescriptorsin interfaceorg.openremote.model.AssetModelProvider
-
isDynamic
public boolean isDynamic()- Specified by:
isDynamicin interfaceorg.openremote.model.AssetModelProvider
-
getAssetInfos
-
getAssetInfo
-
getAssetDescriptors
-
getValueDescriptors
-
getMetaItemDescriptors
-
parse
protected <T> T parse(String jsonString, Class<T> type) throws com.fasterxml.jackson.core.JsonProcessingException - Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
loadDescriptors
-