103 lines
2.6 KiB
C#
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());
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|