Produces an identity hash of entities. Identity hash is a hash that uniquely identifies an entity
and is produced using its user-defined id and structure. This hash is used to match a client-side state of an
entity severside state of it.
The identity hash is defined only for the following types of entities:
Feed,
ResourceType,
MetricType,
OperationType,
Metric,
Resource and
DataEntity.
The identity hash is an SHA1 hash of a string representation of the entity (in UTF-8 encoding). The string
representation is produced as follows:
- DataEntity: role + minimizedDataJSON
- Metric: id
- Resource: hashOf(configuration) + hashOf(connectionConfiguration) + hashOf(childResource)
+ hashOf(childMetric)* + id
- MetricType: id + type + unit
- OperationType: hashOf(returnType) + hashOf(parameterTypes) + id
- ResourceType: hashOf(configurationSchema) + hashOf(connectionConfigurationSchema) + hashOf(childOperationType)
+ id
- Feed: hashOf(childResourceType)* + hashOf(childMetricType)* + hashOf(childResource)* + hashOf(childMetric)* + id
where
hashOf() means the identity hash of the child entity