internal static ContextPartitionIdentifier[] GetTreeCompositeKey( ContextControllerFactory[] nestedContextFactories, Object initPartitionKey, ContextControllerTreeEntry treeEntry, IDictionary <ContextController, ContextControllerTreeEntry> subcontexts) { var length = nestedContextFactories.Length; var keys = new ContextPartitionIdentifier[length]; keys[length - 1] = nestedContextFactories[length - 1].KeyPayloadToIdentifier(initPartitionKey); keys[length - 2] = nestedContextFactories[length - 2].KeyPayloadToIdentifier(treeEntry.InitPartitionKey); // get parent's parent if (length > 2) { var parent = treeEntry.Parent; var parentEntry = subcontexts.Get(parent); for (var i = 0; i < length - 2; i++) { keys[length - 2 - i] = nestedContextFactories[length - 2 - i].KeyPayloadToIdentifier(parentEntry.InitPartitionKey); parent = parentEntry.Parent; parentEntry = subcontexts.Get(parent); } } return(keys); }
/// <summary> /// Ctor. /// </summary> /// <param name="agentInstanceId">agent instance id</param> /// <param name="identifier">context partition identification</param> /// <param name="state">variable state</param> public ContextPartitionVariableState( int agentInstanceId, ContextPartitionIdentifier identifier, object state) { AgentInstanceId = agentInstanceId; Identifier = identifier; State = state; }
/// <summary> /// Ctor. /// </summary> /// <param name="runtimeURI">runtime URI</param> /// <param name="contextDeploymentId">deployment id of create-context statement</param> /// <param name="contextName">context name</param> /// <param name="id">context partition id</param> /// <param name="identifier">identifier</param> public ContextStateEventContextPartitionAllocated( string runtimeURI, string contextDeploymentId, string contextName, int id, ContextPartitionIdentifier identifier) : base(runtimeURI, contextDeploymentId, contextName, id) { Identifier = identifier; }
public bool Filter(ContextPartitionIdentifier contextPartitionIdentifier) { var id = (ContextPartitionIdentifierCategory) contextPartitionIdentifier; if (matchCategory == null && cpids.Contains(id.ContextPartitionId)) { throw new EPException("Already exists context Id: " + id.ContextPartitionId); } cpids.Add(id.ContextPartitionId); categories.Add(id.Label); return matchCategory != null && matchCategory.Equals(id.Label); }
public bool Filter(ContextPartitionIdentifier contextPartitionIdentifier) { var id = (ContextPartitionIdentifierHash) contextPartitionIdentifier; if (match == null && cpids.Contains(id.ContextPartitionId)) { throw new EPException("Already exists context Id: " + id.ContextPartitionId); } cpids.Add(id.ContextPartitionId); Contexts.Add(id.Hash); return match.Contains(id.Hash); }
public bool Filter(ContextPartitionIdentifier contextPartitionIdentifier) { var id = (ContextPartitionIdentifierCategory)contextPartitionIdentifier; if (_matchCategory == null && _cpids.Contains(id.ContextPartitionId.Value)) { throw new Exception("Already exists context id: " + id.ContextPartitionId); } _cpids.Add(id.ContextPartitionId.Value); _categories.Add(id.Label); return(_matchCategory != null && _matchCategory.Equals(id.Label)); }
public bool Filter(ContextPartitionIdentifier contextPartitionIdentifier) { var id = (ContextPartitionIdentifierHash)contextPartitionIdentifier; if (_match == null && _cpids.Contains(id.ContextPartitionId)) { throw new EPRuntimeException("Already exists context id: " + id.ContextPartitionId); } _cpids.Add(id.ContextPartitionId); _contexts.Add(id.Hash); return(_match.Contains(id.Hash)); }
public void Visit(int nestingLevel, int pathId, ContextStatePathValueBinding binding, Object payload, ContextController contextController, ContextControllerInstanceHandle instanceHandle) { ContextStatePathKey key = new ContextStatePathKey(nestingLevel, pathId, instanceHandle.SubPathId); int agentInstanceId = instanceHandle.ContextPartitionOrPathId; States.Put(key, new ContextStatePathValue(agentInstanceId, binding.ToByteArray(payload), instanceHandle.Instances.State)); ContextPartitionState state = instanceHandle.Instances.State; ContextPartitionIdentifier identifier = contextController.Factory.KeyPayloadToIdentifier(payload); ContextPartitionDescriptor descriptor = new ContextPartitionDescriptor(agentInstanceId, identifier, state); ContextPartitionInfo.Put(agentInstanceId, descriptor); }
public bool Filter(ContextPartitionIdentifier contextPartitionIdentifier) { var id = (ContextPartitionIdentifierInitiatedTerminated) contextPartitionIdentifier; if (_matchP00Value == null && _cpids.Contains(id.ContextPartitionId)) { throw new EPRuntimeException("Already exists context id: " + id.ContextPartitionId); } _cpids.Add(id.ContextPartitionId); _startTimes.Add(id.StartTime); var p00Value = (string) ((EventBean) id.Properties.Get("s0")).Get("p00"); _p00PropertyValues.Add(p00Value); _lastValue = id; return _matchP00Value != null && _matchP00Value.Equals(p00Value); }
public ContextPartitionIdentifier GetContextPartitionIdentifier(object[] partitionKeys) { if (ContextDefinition.ControllerFactories.Length == 1) { return ContextDefinition.ControllerFactories[0].GetContextPartitionIdentifier(partitionKeys[0]); } var identifiers = new ContextPartitionIdentifier[partitionKeys.Length]; for (var i = 0; i < partitionKeys.Length; i++) { identifiers[i] = ContextDefinition.ControllerFactories[i] .GetContextPartitionIdentifier(partitionKeys[i]); } return new ContextPartitionIdentifierNested(identifiers); }
public void DeletePath(ContextPartitionIdentifier identifier) { var category = (ContextPartitionIdentifierCategory)identifier; var count = 0; foreach (var cat in _factory.CategorySpec.Items) { if (cat.Name.Equals(category.Label)) { _handleCategories.Remove(count); break; } count++; } }
public void DeletePath(ContextPartitionIdentifier identifier) { var initterm = (ContextPartitionIdentifierInitiatedTerminated)identifier; foreach (var entry in EndConditions) { if (Compare(initterm.StartTime, initterm.Properties, initterm.EndTime, entry.Value.StartTime, entry.Value.StartProperties, entry.Value.EndTime)) { entry.Key.Deactivate(); EndConditions.Remove(entry.Key); RemoveDistinctKey(entry.Value); break; } } }
public void DeletePath(ContextPartitionIdentifier identifier) { var hash = (ContextPartitionIdentifierHash)identifier; _partitionKeys.Remove(hash.Hash); }
public void DeletePath(ContextPartitionIdentifier identifier) { var partitioned = (ContextPartitionIdentifierPartitioned)identifier; _partitionKeys.Remove(GetKeyObjectForLookup(partitioned.Keys)); }
/// <summary>Ctor. </summary> /// <param name="agentInstanceId">context partition id</param> /// <param name="identifier">identifier object specific to context declaration</param> /// <param name="state">current state</param> public ContextPartitionDescriptor(int agentInstanceId, ContextPartitionIdentifier identifier, ContextPartitionState state) { AgentInstanceId = agentInstanceId; Identifier = identifier; State = state; }
public bool Filter(ContextPartitionIdentifier contextPartitionIdentifier) { return true; }