org.hackystat.telemetry.analyzer.configuration
Class PersistentTelemetryDefinitionManager

java.lang.Object
  extended by org.hackystat.telemetry.analyzer.configuration.TelemetryDefinitionManager
      extended by org.hackystat.telemetry.analyzer.configuration.PersistentTelemetryDefinitionManager

 class PersistentTelemetryDefinitionManager
extends TelemetryDefinitionManager

Implements a persistent Telemetry definition manager. Reads in Telemetry definitions from the telemetrydefinitions.xml file.

All public methods in the class are thread-safe.

In Version 7, this class also was responsible for persisting dynamically defined definitions. It does not currently support dynamic persistent definition in Version 8.

Author:
(Cedric) Qin Zhang

Constructor Summary
PersistentTelemetryDefinitionManager(java.lang.String defDirString)
          Creates a new Persistent Telemetry Definition Manager, reading in the pre-defined definitions from the telemetrydefinitions.xml file.
 
Method Summary
 void add(TelemetryDefinitionInfo defInfo)
          Adds information about a definition.
 TelemetryDefinitionInfo get(org.hackystat.sensorbase.resource.users.jaxb.User owner, java.lang.String name, boolean includeShared, TelemetryDefinitionType type)
          Gets the telemetry definition information by name.
 java.util.Collection<TelemetryDefinitionInfo> getAll(org.hackystat.sensorbase.resource.users.jaxb.User owner, boolean includeShared, TelemetryDefinitionType type)
          Gets all telemetry definitions that this user has access to.
 java.util.List<TelemetryDefinition> getDefinitions()
          Returns the list of telemetry definitions.
(package private)  boolean isDefinition(java.lang.String name)
          Checks whether the name has already been used by any type of telemetry definition.
 void remove(org.hackystat.sensorbase.resource.users.jaxb.User owner, java.lang.String name, TelemetryDefinitionType type)
          Deletes a telemetry object definition.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PersistentTelemetryDefinitionManager

PersistentTelemetryDefinitionManager(java.lang.String defDirString)
Creates a new Persistent Telemetry Definition Manager, reading in the pre-defined definitions from the telemetrydefinitions.xml file.

Parameters:
defDirString - A string defining the directory where additional telemetry definitions can be found, or null if not available.
Method Detail

get

public TelemetryDefinitionInfo get(org.hackystat.sensorbase.resource.users.jaxb.User owner,
                                   java.lang.String name,
                                   boolean includeShared,
                                   TelemetryDefinitionType type)
Gets the telemetry definition information by name.

Specified by:
get in class TelemetryDefinitionManager
Parameters:
owner - The owner under which to find the telemetry definition object.
name - The name of the telemetry definition.
includeShared - If true, then those telemetry definitions owned by other users, but is shared will also be returned.
type - The definition type.
Returns:
The object if found, or null.

getAll

public java.util.Collection<TelemetryDefinitionInfo> getAll(org.hackystat.sensorbase.resource.users.jaxb.User owner,
                                                            boolean includeShared,
                                                            TelemetryDefinitionType type)
Gets all telemetry definitions that this user has access to.

Specified by:
getAll in class TelemetryDefinitionManager
Parameters:
owner - The owner of the telemetry definitions returned.
includeShared - If true, then those telemetry definitions owned by other users, but is shared will also be returned.
type - The definition type.
Returns:
A collection of found objects.

add

public final void add(TelemetryDefinitionInfo defInfo)
               throws TelemetryConfigurationException
Adds information about a definition.

Specified by:
add in class TelemetryDefinitionManager
Parameters:
defInfo - Information about the definition to be added.
Throws:
TelemetryConfigurationException - If there is duplicated definition.

isDefinition

final boolean isDefinition(java.lang.String name)
Checks whether the name has already been used by any type of telemetry definition.

Parameters:
name - The name.
Returns:
True if the name has already been used.

remove

public void remove(org.hackystat.sensorbase.resource.users.jaxb.User owner,
                   java.lang.String name,
                   TelemetryDefinitionType type)
Deletes a telemetry object definition. Does nothing if the definition does not exist.

Specified by:
remove in class TelemetryDefinitionManager
Parameters:
owner - The owner of the definition.
name - The name of the definition.
type - The definition type.

getDefinitions

public java.util.List<TelemetryDefinition> getDefinitions()
Returns the list of telemetry definitions.

Specified by:
getDefinitions in class TelemetryDefinitionManager
Returns:
The list of definitions.