InterSystems IRIS Data Platform 2020.4 > Class Reference > %SYS namespace > %DeepSee.CubeManager.RegistryMapGroup

%DeepSee.CubeManager.RegistryMapGroup

class %DeepSee.CubeManager.RegistryMapGroup extends %Library.RegisteredObject, %XML.Adaptor, %JSON.Adaptor

A node representing the named cube groupings within the registry

Property Inventory

Method Inventory

Properties

property BuildAsynch as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
GROUP DEFAULT - Flag which allows the user to select whether the build executes synchronously or asynchronously. Asynchronous build is the default.
Property methods: BuildAsynchDisplayToLogical(), BuildAsynchGet(), BuildAsynchIsValid(), BuildAsynchLogicalToDisplay(), BuildAsynchLogicalToOdbc(), BuildAsynchLogicalToXSD(), BuildAsynchNormalize(), BuildAsynchSet(), BuildAsynchXSDToLogical()
property BuildDayOfMonth as %Integer (MAXVAL = 31, MINVAL = 1) [ InitialExpression = 1 ];
If Month is selected as the BuildTimeUnit, this will allow the user to pick which day of the month this build should take place.
Property methods: BuildDayOfMonthDisplayToLogical(), BuildDayOfMonthGet(), BuildDayOfMonthIsValid(), BuildDayOfMonthLogicalToDisplay(), BuildDayOfMonthNormalize(), BuildDayOfMonthSet(), BuildDayOfMonthXSDToLogical()
property BuildDayOfWeek as %String (DISPLAYLIST = ",Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", VALUELIST = ",1,2,3,4,5,6,7") [ InitialExpression = "1" ];
If week is selected for the BuildTimeUnit, this will allow the user to pick which day of the week the build should take place.
Property methods: BuildDayOfWeekDisplayToLogical(), BuildDayOfWeekGet(), BuildDayOfWeekIsValid(), BuildDayOfWeekLogicalToDisplay(), BuildDayOfWeekLogicalToOdbc(), BuildDayOfWeekNormalize(), BuildDayOfWeekSet()
property BuildFrequency as %Integer [ InitialExpression = 1 ];
GROUP DEFAULT - Indicates how often the cube is to be built, in units of BuidTimeUnit
Property methods: BuildFrequencyDisplayToLogical(), BuildFrequencyGet(), BuildFrequencyIsValid(), BuildFrequencyLogicalToDisplay(), BuildFrequencyNormalize(), BuildFrequencySet(), BuildFrequencyXSDToLogical()
property BuildTimeUnit as %String (DISPLAYLIST = ",Day,Week,Month", VALUELIST = ",Day,Week,Month") [ InitialExpression = "Week" ];
GROUP DEFAULT - Base unit of time for cube builds.
Property methods: BuildTimeUnitDisplayToLogical(), BuildTimeUnitGet(), BuildTimeUnitIsValid(), BuildTimeUnitLogicalToDisplay(), BuildTimeUnitLogicalToOdbc(), BuildTimeUnitNormalize(), BuildTimeUnitSet()
relationship Cubes as array of %DeepSee.CubeManager.RegistryMapCube [ InitialExpression = $listbuild("%DeepSee.CubeManager.RegistryMapCube","Group",+$this,"many",0,0) , Transient , Inverse = Group , Cardinality = many ];
The collection of cubes that are a part of this group
Property methods: CubesGet(), CubesGetObject(), CubesGetObjectId(), CubesGetSwizzled(), CubesIsEmpty(), CubesIsValid(), CubesNewObject(), CubesRClose(), CubesRExec(), CubesRFetch(), CubesRelate(), CubesSQLCompute(), CubesSet(), CubesUnRelate()
property Disabled as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
GROUP DEFAULT - Disabled = 1 will block all automatic updates while leaving the cube visible in the registry.
Property methods: DisabledDisplayToLogical(), DisabledGet(), DisabledIsValid(), DisabledLogicalToDisplay(), DisabledLogicalToOdbc(), DisabledLogicalToXSD(), DisabledNormalize(), DisabledSet(), DisabledXSDToLogical()
property GroupName as %ZEN.Datatype.string;
Display Name for the group.
Property methods: GroupNameDisplayToLogical(), GroupNameGet(), GroupNameIsValid(), GroupNameLogicalToDisplay(), GroupNameLogicalToOdbc(), GroupNameNormalize(), GroupNameSet()
property IsRegistered as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Property methods: IsRegisteredDisplayToLogical(), IsRegisteredGet(), IsRegisteredIsValid(), IsRegisteredLogicalToDisplay(), IsRegisteredLogicalToOdbc(), IsRegisteredLogicalToXSD(), IsRegisteredNormalize(), IsRegisteredSet(), IsRegisteredXSDToLogical()
property IsValid as %ZEN.Datatype.boolean;
This group is checked for validity and the result is stored in this property.
Property methods: IsValidDisplayToLogical(), IsValidGet(), IsValidIsValid(), IsValidLogicalToDisplay(), IsValidLogicalToOdbc(), IsValidLogicalToXSD(), IsValidNormalize(), IsValidSet(), IsValidXSDToLogical()
relationship Map as %DeepSee.CubeManager.RegistryMap [ Inverse = Groups , Cardinality = one ];
Reference to the parent map
Property methods: MapGet(), MapGetObject(), MapGetObjectId(), MapGetSwizzled(), MapIsValid(), MapNewObject(), MapRClose(), MapRExec(), MapRFetch(), MapRelate(), MapSQLCompute(), MapSet(), MapUnRelate()
property SynchFrequency as %Integer [ InitialExpression = 1 ];
GROUP DEFAULT - Indicates how often the cube is to be synched, in units of SynchTimeUnit
Property methods: SynchFrequencyDisplayToLogical(), SynchFrequencyGet(), SynchFrequencyIsValid(), SynchFrequencyLogicalToDisplay(), SynchFrequencyNormalize(), SynchFrequencySet(), SynchFrequencyXSDToLogical()
property SynchTimeUnit as %String (DISPLAYLIST = ",Minute,Hour,Day", VALUELIST = ",Minute,Hour,Day") [ InitialExpression = "Day" ];
GROUP DEFAULT - Base unit of time for cube synchs.
Property methods: SynchTimeUnitDisplayToLogical(), SynchTimeUnitGet(), SynchTimeUnitIsValid(), SynchTimeUnitLogicalToDisplay(), SynchTimeUnitLogicalToOdbc(), SynchTimeUnitNormalize(), SynchTimeUnitSet()
property UpdatePlan as %String (DISPLAYLIST = ",Manual,Build Only,Build and Synch,Synch Only", VALUELIST = ",Manual,Build,BuildSynch,Synch") [ InitialExpression = "BuildSynch" ];
GROUP DEFAULT - Plan for how the cube is to be managed by the build/synch tasks.
Property methods: UpdatePlanDisplayToLogical(), UpdatePlanGet(), UpdatePlanIsValid(), UpdatePlanLogicalToDisplay(), UpdatePlanLogicalToOdbc(), UpdatePlanNormalize(), UpdatePlanSet()

Methods

method %OnNew(pRegGroupName="") as %Status [ Language = objectscript ]
This callback automatically performs some of the property settings as it is created for the RegistryMap
classmethod BuildGroup(pGroupIndex="", pAsync As %Boolean = 1, pVerbose As %Boolean = 1, pIndexOnly As %Boolean = 0, pMaxFacts As %Integer = 0, pTracking As %Boolean = 0, pUpdateAll=0, ByRef pBuildStats) as %Status [ Language = objectscript ]
This method walks through all cubes contained in the group and checks to see if it should be updated. Prior to running the synchronize, this method will run the cube's Pre-Synch Code if present.
The cube will be built if any of these conditions are met:
- The cube has not been built within the scheduled time period
- It is the day of the week/month scheduled for the cube build
- A cube is dependent on another cube that has been built in this cycle

- The pUpdateAll flag is set to 1
classmethod SynchronizeGroup(pGroupIndex="", pVerbose As %Boolean = 1, Output pFactsUpdated As %Integer, pUpdateAll=0, ByRef pSynchronizeStats, pReadCommitted As %Boolean = 1, pCheckReferences As %Boolean = 1, pAsync As %Boolean = 0) as %Status [ Language = objectscript ]
This method walks through all cubes contained in the group and checks to see if it should be updated.
The cube will be synchronized if either of these conditions are met:
- the cube has not been synchronized within the scheduled time period
- a cube is dependent on another cube that has been synchronized in this cycle
- The pUpdateAll flag is set to 1
and the Pre-Synchronization Code has not set the $$$AbortSynch token to 1
method ToArray(ByRef pGroup, ByRef pCubes, ByRef pBuildOrders) as %Status [ Language = objectscript ]
Convert this group object to array form. This will match the index arrays returned using the call
%DeepSee.CubeManager.Utils.GetCubeGroups()(.pGroups,.pCubes,.pBuildOrders)
trimmed to the subset of only the cubes in this group

Inherited Members

Inherited Methods

Feedback