Wednesday, 15 April 2015

api - how to get path of rule (folder structure) using java -



api - how to get path of rule (folder structure) using java -

i'm trying folder construction of rule using java teamserver api .

ilrsessionfactory mill = new ilrremotesessionfactory(); seek { factory.connect(login, password, serverurl, datasource); ilrsession session = factory.getsession(); ilrruleproject ruleproject = (ilrruleproject) ilrsessionhelper.getprojectnamed(session, project); ilrbaseline currentbaseline = ilrsessionhelper.getcurrentbaseline(session, ruleproject); session.setworkingbaseline(currentbaseline); string query = new string("find business rules such name of each business rule \"r105_1_krl\""); ilrdefaultsearchcriteria criteria = new ilrdefaultsearchcriteria( query.tostring()); list summaries = session.findelements(criteria, ilrmodelconstants.element_summary); (int = 0; < summaries.size(); i++) { ilrelementsummary rulesummary = (ilrelementsummary) summaries.get(i); string rulename = rulesummary.getname(); system.out.println("\t" + rulename); }

if there named r105_1_krl rule , can reach using java , decİsİon center api. need location of rule. such xyz bundle / abc folder / def folder

in add-on , when wrote next 2 line in loop , can reach these properties ; expiration date, effective date, created by, lastly changed on ... but, can not reach folder info of properties of rule.

ilractionrule rule = (ilractionrule) elementdetails; string lastchangedby = string.valueof(rule.getpropertyvalue("lastchangedby"));

here solution.

public static string gethierarchypath (ilrelementdetails element) { seek { if (!(element instanceof ilrrule)) homecoming element.getname(); ilrrule rule = (ilrrule)element; stringbuffer sb = new stringbuffer (); // rule name string name = rule.getname(); // rule bundle ilrrulepackage current = rule.getrulepackage(); stack<string> stack = new stack<string> (); while (true) { if (current==null) break; // force bundle name onto stack stack.push("/" + current.getname()); // next parent ... current = current.getparent(); } // pop stack , build path while (!stack.empty()) { string folder = (string) stack.pop(); sb.append(folder); } // append rule name path sb.append("/").append(name); // homecoming built path homecoming sb.tostring(); } grab (exception e) { homecoming element.getname(); } }

java api center ibm rule

No comments:

Post a Comment