List biobjpars = biobj.getBiObjectParameters();
List newBiobjpars = new ArrayList();
// iter over parameters
Iterator iterbiobjpars = biobjpars.iterator();
while(iterbiobjpars.hasNext()) {
BIObjectParameter biobjpar = (BIObjectParameter)iterbiobjpars.next();
String nameParInRequest = "par_" + biobj.getId() +"_" + index + "_" + biobjpar.getParameterUrlName();
String strategyToBeUsed = (String) request.getAttribute(nameParInRequest + "_strategy");
boolean useFixedValues = false;
boolean loadAtRuntime = false;
boolean useFormula = false;
if (strategyToBeUsed == null || strategyToBeUsed.equalsIgnoreCase("fixedValues")) {
useFixedValues = true;
} else if (strategyToBeUsed.equalsIgnoreCase("loadAtRuntime")) {
loadAtRuntime = true;
} else if (strategyToBeUsed.equalsIgnoreCase("useFormula")) {
useFormula = true;
}
String isIterativeStr = (String) request.getAttribute(nameParInRequest + "_Iterative");
boolean isIterative = isIterativeStr != null && isIterativeStr.equalsIgnoreCase("true");
biobjpar.setIterative(isIterative);
if (useFormula) {
String fName = (String) request.getAttribute(nameParInRequest + "_formula");
FormulaParameterValuesRetriever strategy = new FormulaParameterValuesRetriever();
Formula f = Formula.getFormula(fName);
strategy.setFormula(f);
biobjpar.setParameterValuesRetriever(strategy);
} else if (loadAtRuntime) {
RuntimeLoadingParameterValuesRetriever strategy = new RuntimeLoadingParameterValuesRetriever();
strategy.setUserIndentifierToBeUsed(profile.getUserUniqueIdentifier().toString());
String roleToBeUsed = (String) request.getAttribute(nameParInRequest + "_loadWithRole");
strategy.setRoleToBeUsed(roleToBeUsed);
biobjpar.setParameterValuesRetriever(strategy);
} else if (useFixedValues) {
biobjpar.setParameterValuesRetriever(null);
String valueParConcat = (String)request.getAttribute(nameParInRequest);
if(valueParConcat!=null){
if(valueParConcat.trim().equals("")) {
biobjpar.setParameterValues(new ArrayList());
continue;
} else {
String[] valueParArr = valueParConcat.split(splitter);
List valuePar = Arrays.asList(valueParArr);
biobjpar.setParameterValues(valuePar);
}
}
}
newBiobjpars.add(biobjpar);
}