Skip to content
Snippets Groups Projects
Commit e7772704 authored by Staiger, Christine's avatar Staiger, Christine
Browse files

Adding interactive rule to move the bitstream of an data object to another resource.

parent be6e708d
No related branches found
No related tags found
No related merge requests found
# Moves the bitstream of a data object to another resource.
# USAGE:
# irule -F physmoveData.r "*coll='/npecZone/home/christine/game'" "*resc='demoResc'"
# irule -F physmoveData.r "*coll='/npecZone/home/christine/game'" "*data='test.txt'" "*resc='demoResc'"
replicateData{
#debug check input
writeLine("stdout", "*coll, *data, *resc");
msiGetObjType(*coll, *colltype);
msiGetObjType(*resc, *resctype);
if(*resctype != '-r'){
writeLine("stdout", "No resource specified.");
msiGoodFailure()
}
if(*colltype != "-c"){
writeLine("stdout", "No valid collection given.")
msiGoodFailure()
}
#single file
if(*data != "" ){
msiGetObjType("*coll/*data", *datatype);
if(*datatype != "-d"){
writeLine("stdout", "No valid data given.");
msiGoodFailure()
}
else{
physmove(*coll, *data, *resc);
}
}
#collection
else{
writeLine("stdout", "Trimming collection.")
foreach(*row in SELECT DATA_NAME, COLL_NAME
where COLL_NAME like "*coll/%"){
*dataname = *row.DATA_NAME;
*collname = *row.COLL_NAME;
writeLine("stdout", "*collname, *dataname");
physmove(*collname, *dataname, *resc);
}
foreach(*row in SELECT DATA_NAME, COLL_NAME
where COLL_NAME like *coll){
*dataname = *row.DATA_NAME;
*collname = *row.COLL_NAME;
writeLine("stdout", "*collname, *dataname");
physmove(*collname, *dataname, *resc);
}
}
}
physmove(*collname, *dataname, *rescname){
writeLine("stdout", "Moving *collname/*dataname to resource *rescname");
msiDataObjPhymv("*collname/*dataname", *rescname, "null", "null", "null", *state);
}
INPUT *coll = "", *data = "", *resc = ""
OUTPUT ruleExecOut
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment