DependencyCollection ISoapTransactionLinkExecutor.UpdateDependencies() { ISoapTransactionLinkExecutor executor = (ISoapTransactionLinkExecutor)this; foreach (KeyValuePair <ConnectionType, INode> nodePairs in ProxyNodeConnections) { IFacade iFacadeNode = nodePairs.Value as IFacade; if (iFacadeNode != null) { if (!iFacadeNode.IsConcrete) { FacadeNode facadeNode = iFacadeNode as FacadeNode; InProcess.InProcessNode inProcessNode = facadeNode.BaseNode as InProcess.InProcessNode; if (inProcessNode != null && inProcessNode.OriginLink != null && inProcessNode.OriginLink.OriginChain != OriginChain) { executor.Dependencies.AddFacade(iFacadeNode); } } } } return(executor.Dependencies); }
public SoapNode(InProcess.InProcessNode inProcessNode, ServerObjects.Node serviceNode) { ServiceNode = serviceNode; InProcessNode = inProcessNode; Id = serviceNode.NodeUid; DomainId = inProcessNode.DomainId; RootMapId = inProcessNode.RootMapId; OriginalId = inProcessNode.OriginalId; NodeType = inProcessNode.NodeType; Status = Proxy.LoadState.Full; MapManager = inProcessNode.MapManager; Relationships = inProcessNode.Relationships; Metadata = inProcessNode.Metadata; }
public INode CreateNode(TransactionFramework.ISoapTransactionLink transactionLink, Guid domainId, Guid rootMapId, NodeType nodeType, string originalId) { FacadeNode facadeNode = new FacadeNode(); InProcess.InProcessNode node = new InProcess.InProcessNode(MapManager); node.OriginLink = transactionLink; node.Facade = facadeNode; node.Id = Guid.NewGuid(); node.DomainId = domainId; node.RootMapId = rootMapId; node.NodeType = nodeType; node.OriginalId = originalId; node.Status = LoadState.Full; facadeNode.BaseNode = node; InProcessNodes.Add(transactionLink, facadeNode); return facadeNode; }
public INode CreateNode(TransactionFramework.ISoapTransactionLink transactionLink, Guid domainId, Guid rootMapId, NodeType nodeType, string originalId) { FacadeNode facadeNode = new FacadeNode(); InProcess.InProcessNode node = new InProcess.InProcessNode(MapManager); node.OriginLink = transactionLink; node.Facade = facadeNode; node.Id = Guid.NewGuid(); node.DomainId = domainId; node.RootMapId = rootMapId; node.NodeType = nodeType; node.OriginalId = originalId; node.Status = LoadState.Full; facadeNode.BaseNode = node; InProcessNodes.Add(transactionLink, facadeNode); return(facadeNode); }
public void UpgradeFacade(TransactionFramework.ISoapTransactionLink transactionLink, ServerObjects.Node serviceNode) { if (InProcessNodes.ContainsKey(transactionLink)) { FacadeNode facadeNode = InProcessNodes[transactionLink]; InProcess.InProcessNode inProcessNode = facadeNode.BaseNode as InProcess.InProcessNode; if (inProcessNode != null) { SoapNode soapNode = new SoapNode(inProcessNode, serviceNode); facadeNode.BaseNode = soapNode; InProcessNodes.Remove(transactionLink); ProxyNodes[facadeNode.Id] = facadeNode; /// TODO: Need to consider a better way to do this. I don't like that there is a need to call this afterwards and maybe it should be done when creating the SoapNode. I don't like it because it doesn't have to be done everytime a new SoapNode is created e.g. if the SoapNode is created from a Service.NO as opposed to a returned call like here. soapNode.ProcessDelayedActions(); } } }
DependencyCollection ISoapTransactionLinkExecutor.UpdateDependencies() { ISoapTransactionLinkExecutor executor = (ISoapTransactionLinkExecutor)this; IFacade iFacadeNode = Node as IFacade; if (iFacadeNode != null) { if (!iFacadeNode.IsConcrete) { FacadeNode facadeNode = iFacadeNode as FacadeNode; InProcess.InProcessNode inProcessNode = facadeNode.BaseNode as InProcess.InProcessNode; if (inProcessNode != null && inProcessNode.OriginLink != null && inProcessNode.OriginLink.OriginChain != OriginChain) { executor.Dependencies.AddFacade(iFacadeNode); } } } return(executor.Dependencies); }
public DelayedNodeActions(InProcess.InProcessNode nodeContext) { NodeContext = nodeContext; }