//public IMetadataSet GetMetadata(Guid metadataId, string name, string value, INode node, IRelationship relationship, ConnectionType connectionType) //{ // Soap.SoapMetadataSet newMetadatSet = new Soap.SoapMetadataSet(MapManager); // newMetadatSet.Id = metadataId; // newMetadatSet.Name = name; // newMetadatSet.Value = value; // newMetadatSet.Node = node; // newMetadatSet.Relationship = relationship; // newMetadatSet.ConnectionType = connectionType; // Metadata[metadataId] = newMetadatSet; // return newMetadatSet; //} public void UpgradeFacade(TransactionFramework.ISoapTransactionLink link, ServerObjects.Metadata serviceMetadata) { if (!InProcessMetadata.ContainsKey(link)) { return; } FacadeMetadataSet facadeMetadataSet = InProcessMetadata[link]; InProcess.InProcessMetadata inProcessMetadata = facadeMetadataSet.BaseMetadata as InProcess.InProcessMetadata; if (inProcessMetadata == null) { return; } Soap.SoapMetadataSet soapMetadataSet = new Soap.SoapMetadataSet(inProcessMetadata, serviceMetadata); IMetadataSetManager soapMetadataSetManager = soapMetadataSet as IMetadataSetManager; IMetadataSetManager inProcessMetadataSetManager = inProcessMetadata as IMetadataSetManager; if (soapMetadataSetManager != null && inProcessMetadataSetManager != null) { soapMetadataSetManager.Container = inProcessMetadataSetManager.Container; } facadeMetadataSet.BaseMetadata = soapMetadataSet; Metadata[soapMetadataSet.Id] = soapMetadataSet; InProcessMetadata.Remove(link); }
public virtual void Delete(ref TransactionChain chain) { IMetadataSetManager metadataSetManager = this; metadataSetManager.Container.Remove(this); /// TODO: Need to consider whether the following should be done here. //MetadataSetFactory.GetInstance(MapManager).Remove(this); }
//public void Load(Guid metadataId, string name, string value) //{ // Load(metadataId, null, name, value); //} //public void Load(Guid metadataId, INode node, string name, string value) //{ // Load(metadataId, node, null, name, value); //} public IMetadataSet Load(ServerObjects.Metadata serviceMetadata, INode node) { IMetadataSet metadataSet = MetadataSetFactory.GetInstance(MapManager).GetMetadata(serviceMetadata, node, Parent); Metadata.Add(metadataSet); IMetadataSetManager metadataSetManager = metadataSet as IMetadataSetManager; if (metadataSetManager != null) { metadataSetManager.Container = this; } return(metadataSet); }
public IMetadataSet Load(ServerObjects.Metadata serviceMetadata, IRelationship relationship) { IMetadataSet metadataSet = MetadataSetFactory.GetInstance(MapManager).GetMetadata(serviceMetadata, Parent, relationship); if (!ContainedMetadata.Contains(metadataSet.Id)) { Metadata.Add(metadataSet); ContainedMetadata.Add(metadataSet.Id); } IMetadataSetManager metadataSetManager = metadataSet as IMetadataSetManager; if (metadataSetManager != null) { metadataSetManager.Container = this; } return(metadataSet); }
public IMetadataSet Add(IRelationship relationship, ConnectionType connectionType, string name, string value, ref TransactionChain chain) { IMetadataSet metadataSet = null; if (connectionType != null && relationship != null) { foreach (IMetadataSet metadata in Metadata) { if (metadata.Name == name && metadata.Relationship.Id == relationship.Id && metadata.ConnectionType.Id == connectionType.Id) { metadataSet = metadata; break; } } } else if (connectionType == null && relationship != null) { foreach (IMetadataSet metadata in Metadata) { if (metadata.Name == name && metadata.Relationship.Id == relationship.Id) { metadataSet = metadata; break; } } } else { foreach (IMetadataSet metadata in Metadata) { if (metadata.Name == name) { metadataSet = metadata; break; } } } if (metadataSet != null) { //TransactionFramework.UpdateMetadataTransactionLink updateMetadataTransaction = UpdateMetadataTransaction(metadataSet, Parent, name, value); metadataSet.Update(null, value, null, null, null, ref chain); } else { AddMetadataTransactionLink addMetadataTransaction = AddMetadataTransaction(metadataSet, Parent, relationship, connectionType, name, value); metadataSet = MetadataSetFactory.GetInstance(MapManager).GetMetadata(addMetadataTransaction, addMetadataTransaction.DomainId, addMetadataTransaction.RootMapId.Value, name, value, Parent, relationship, connectionType); chain.AddTransaction(addMetadataTransaction); Metadata.Add(metadataSet); IMetadataSetManager metadataSetManager = metadataSet as IMetadataSetManager; if (metadataSetManager != null) { metadataSetManager.Container = this; } } return(metadataSet); }