AOT Object Assign New SecKey
static void EXU_AOTObject_AssignNewSecKey_BUS(Args _args)
{
#AOT
#Properties
TreeNode path,treeNode,node;
EXU_Tree exuTree;
TreeNodeIterator iterator;
Map map= new Map(Types::Integer,Types::String);
MapEnumerator mapEnumerator;
UtilElementType elementType;
str name,newKeyName,newObjectName;
boolean ret,newObjectRet,checkSecurityKeyExist;
TreeNode newSecuirtyTreenode, setOnObject;
#define.DEL('DEL_')
#define.TMP('TMP')
#define.EXU('EXU_')
#define.SecurityKey("SecurityKey")
#define.DisplayMenuItem("DisplayMenuItem")
#define.ActionMenuItem("ActionMenuItem")
#define.OutputMenuItem("OutputMenuItem")
#define.Menu("Menu")
#define.View("View")
#define.Table("Table")
;
map.insert(1,#DisplayMenuItem);
map.insert(2,#ActionMenuItem);
map.insert(3,#OutputMenuItem);
map.insert(4,#Menu);
map.insert(5,#View);
map.insert(6,#Table);
mapEnumerator = map.getEnumerator();
while(mapEnumerator.moveNext())
{
iterator = null;
treeNode = null;
info(mapEnumerator.currentValue());
switch(any2int(mapEnumerator.currentKey()))
{
case 1:
path = treenode::findNode(#MenuItemsDisplayPath);
break;
case 2:
path = treenode::findNode(#MenuItemsActionPath);
break;
case 3:
path = treenode::findNode(#MenuItemsOutputPath);
break;
case 4:
path = treenode::findNode(#MenusPath);
break;
case 5:
path = treenode::findNode(#ViewsPath);
break;
case 6:
path = treenode::findNode(#TablesPath);
break;
default:
continue;
}
iterator = path.AOTiterator();
treeNode = iterator.next();
while(treeNode)
{
name = SysTreeNode::applObjectName(treeNode.treeNodePath()); // Return the current Object Name
if(strScan(name,#DEL,1,strLen(name))|| strScan(name,#TMP,1,strLen(name))) // Check Object Name start with 'DEL_' or 'TMP'
{
ret = true;
}
if(SysTreeNode::isNodeInLayer(treeNode, UtilEntryLevel::bus) && //Check Object exist in BUS layer or not
treeNode.AOTgetProperty(#PropertySecuritykey) == '' && // Check Object Property i.e.(Security Key is blank)
!ret)
{
newKeyName = #EXU + name ; // A new unique security key name
newObjectName = treeNode.newObjectName(newKeyName); // Suggest a new name for the object if exist else return the same name
if(newKeyName != newObjectName) // Check new Object Name exist in AOT or not
{
checkSecurityKeyExist = true; // If name already exist then checkSecuirtyKeyExist = true;
}
if(newKeyName)
{
/*if(!checkSecurityKeyExist)
{
newSecuirtyTreenode = TreeNode::findNode(#SecurityKeysPath); //Find the security key node in AOT
newSecuirtyTreenode.AoTadd(newKeyName); // Create and add a new Secruity Key to AOT
sqlDataDictionary::Synchronize();
}
setOnObject = TreeNode::findNode(treeNode.treeNodePath()); //Find the current Object in the AOT
setOnObject.AOTsetProperty(#SecurityKey,newKeyName); //Assign a newly created Security Key to Objects Properties
setOnObject.AOTsave();*/
info(strfmt("Object Name : %1 ,Security Key Name : %2 , Path : %3, Object type: %4, Layer : %5, Configuration Key : %6",
name,
newKeyName,
treeNode.treeNodePath(),
any2int(mapEnumerator.currentKey()) > 3 ? mapEnumerator.currentValue() : treeNode.AOTgetProperty(#PropertyObjectType),
'bus',
treenode.AOTgetProperty(#PropertyConfigurationkey)
));
}
}
treeNode = treenode.AOTnextSibling();
checkSecurityKeyExist = false;
ret = false;
}
}
}
static void EXU_AOTObject_AssignNewSecKey_BUS(Args _args)
{
#AOT
#Properties
TreeNode path,treeNode,node;
EXU_Tree exuTree;
TreeNodeIterator iterator;
Map map= new Map(Types::Integer,Types::String);
MapEnumerator mapEnumerator;
UtilElementType elementType;
str name,newKeyName,newObjectName;
boolean ret,newObjectRet,checkSecurityKeyExist;
TreeNode newSecuirtyTreenode, setOnObject;
#define.DEL('DEL_')
#define.TMP('TMP')
#define.EXU('EXU_')
#define.SecurityKey("SecurityKey")
#define.DisplayMenuItem("DisplayMenuItem")
#define.ActionMenuItem("ActionMenuItem")
#define.OutputMenuItem("OutputMenuItem")
#define.Menu("Menu")
#define.View("View")
#define.Table("Table")
;
map.insert(1,#DisplayMenuItem);
map.insert(2,#ActionMenuItem);
map.insert(3,#OutputMenuItem);
map.insert(4,#Menu);
map.insert(5,#View);
map.insert(6,#Table);
mapEnumerator = map.getEnumerator();
while(mapEnumerator.moveNext())
{
iterator = null;
treeNode = null;
info(mapEnumerator.currentValue());
switch(any2int(mapEnumerator.currentKey()))
{
case 1:
path = treenode::findNode(#MenuItemsDisplayPath);
break;
case 2:
path = treenode::findNode(#MenuItemsActionPath);
break;
case 3:
path = treenode::findNode(#MenuItemsOutputPath);
break;
case 4:
path = treenode::findNode(#MenusPath);
break;
case 5:
path = treenode::findNode(#ViewsPath);
break;
case 6:
path = treenode::findNode(#TablesPath);
break;
default:
continue;
}
iterator = path.AOTiterator();
treeNode = iterator.next();
while(treeNode)
{
name = SysTreeNode::applObjectName(treeNode.treeNodePath()); // Return the current Object Name
if(strScan(name,#DEL,1,strLen(name))|| strScan(name,#TMP,1,strLen(name))) // Check Object Name start with 'DEL_' or 'TMP'
{
ret = true;
}
if(SysTreeNode::isNodeInLayer(treeNode, UtilEntryLevel::bus) && //Check Object exist in BUS layer or not
treeNode.AOTgetProperty(#PropertySecuritykey) == '' && // Check Object Property i.e.(Security Key is blank)
!ret)
{
newKeyName = #EXU + name ; // A new unique security key name
newObjectName = treeNode.newObjectName(newKeyName); // Suggest a new name for the object if exist else return the same name
if(newKeyName != newObjectName) // Check new Object Name exist in AOT or not
{
checkSecurityKeyExist = true; // If name already exist then checkSecuirtyKeyExist = true;
}
if(newKeyName)
{
/*if(!checkSecurityKeyExist)
{
newSecuirtyTreenode = TreeNode::findNode(#SecurityKeysPath); //Find the security key node in AOT
newSecuirtyTreenode.AoTadd(newKeyName); // Create and add a new Secruity Key to AOT
sqlDataDictionary::Synchronize();
}
setOnObject = TreeNode::findNode(treeNode.treeNodePath()); //Find the current Object in the AOT
setOnObject.AOTsetProperty(#SecurityKey,newKeyName); //Assign a newly created Security Key to Objects Properties
setOnObject.AOTsave();*/
info(strfmt("Object Name : %1 ,Security Key Name : %2 , Path : %3, Object type: %4, Layer : %5, Configuration Key : %6",
name,
newKeyName,
treeNode.treeNodePath(),
any2int(mapEnumerator.currentKey()) > 3 ? mapEnumerator.currentValue() : treeNode.AOTgetProperty(#PropertyObjectType),
'bus',
treenode.AOTgetProperty(#PropertyConfigurationkey)
));
}
}
treeNode = treenode.AOTnextSibling();
checkSecurityKeyExist = false;
ret = false;
}
}
}
No comments:
Post a Comment