CASA/c_policy/AggregationPol.cs
2005-10-11 19:51:00 +00:00

103 lines
2.6 KiB
C#

using System;
using System.Collections;
using System.Xml;
using System.Xml.Serialization;
namespace Novell.CASA.CASAPolicy
{
public class Store
{
string storeName;
public string StoreName
{
get
{
return storeName;
}
set
{
storeName = value;
}
}
string storeId;
public string StoreId
{
get
{
return storeId;
}
set
{
storeId = value;
}
}
public Store(string name,string id)
{
storeId = id;
storeName = name;
}
}
public class AggregationPol : CASAPol
{
ArrayList storeList;
public ArrayList StoreList
{
get
{
return storeList;
}
}
public AggregationPol(ArrayList stores)
{
policyType = CASAPolType.AGGREGATION_POL;
storeList = stores;
}
public override void DumpPol()
{
Console.WriteLine("\nAggregation Policy");
IEnumerator enumerator = storeList.GetEnumerator();
while(enumerator.MoveNext())
{
Console.WriteLine("StoreName = " + ((Store)(enumerator.Current)).StoreName + " StoreId = " + ((Store)(enumerator.Current)).StoreId);
}
}
internal override void AppendToDoc(XmlDocument doc)
{
try
{
XmlElement storeElem;
XmlAttribute storeNameAttr;
XmlAttribute storeIdAttr;
string xPath = "";
xPath = "//" + XmlConsts.CASAPolicyNode;
XmlNode rootElem = doc.SelectSingleNode(xPath);
XmlElement aggPolElem = doc.CreateElement(XmlConsts.AggregationPolicyNode);
rootElem.AppendChild(aggPolElem);
IEnumerator enumerator = storeList.GetEnumerator();
while(enumerator.MoveNext())
{
storeElem = doc.CreateElement(XmlConsts.StoreAttr);
storeNameAttr = doc.CreateAttribute(XmlConsts.StoreNameAttr);
storeNameAttr.Value = ((Store)(enumerator.Current)).StoreName;
storeElem.SetAttributeNode(storeNameAttr);
storeIdAttr = doc.CreateAttribute(XmlConsts.StoreIdAttr);
storeIdAttr.Value = ((Store)(enumerator.Current)).StoreId;
storeElem.SetAttributeNode(storeIdAttr);
aggPolElem.AppendChild(storeElem);
}
}
catch(Exception e)
{
//Console.WriteLine(e.ToString());
}
}
}
}