public void evaluateFileBenchmarkGoal(URI inputFile, String addedBenchmarkGoalID,
String sSourceValue, String sTargetValue, String sEvaluationValue) throws InvalidInputException{
if((this.getInputBenchmarkGoals().keySet().contains(addedBenchmarkGoalID))&&(this.getInputFileURIs().contains(inputFile))){
//get the input BenchmarkGoal
BenchmarkGoalImpl goal = ((BenchmarkGoalImpl)this.getInputBenchmarkGoals().get(addedBenchmarkGoalID)).clone();
//get file's BenchmarkGoalSet
HashMap<String,BenchmarkGoalImpl> hmFileGoals = this.fileBenchmarkGoals.get(inputFile);
//checks if for this inputfile a HashMap has already been created or if it's the first time
boolean bMarker = false;
if(hmFileGoals == null){
hmFileGoals = new HashMap<String, BenchmarkGoalImpl>();
bMarker = true;
}
String oldSourceValue="";
String oldTargetValue="";
String oldEvaluationValue="";
if(hmFileGoals.keySet().size()>0){
if(hmFileGoals.keySet().contains(addedBenchmarkGoalID)){
BenchmarkGoal bmTemp = hmFileGoals.get(addedBenchmarkGoalID);
oldSourceValue = bmTemp.getSourceValue();
oldTargetValue = bmTemp.getTargetValue();
oldEvaluationValue = bmTemp.getEvaluationValue();
hmFileGoals.remove(addedBenchmarkGoalID);
}
}
//set value:
if((sSourceValue!=null)&&(!sSourceValue.equals(""))){
goal.setSourceValue(sSourceValue);
}
else{
//check if we have some old values to set:
if((sSourceValue==null)&&(oldSourceValue!=null)&&(!oldSourceValue.equals(""))){
goal.setSourceValue(oldSourceValue);
}
}
if((sTargetValue!=null)&&(!sTargetValue.equals(""))){
goal.setTargetValue(sTargetValue);
}
else{
//check if we have some old values to set:
if((sTargetValue==null)&&(oldTargetValue!=null)&&(!oldTargetValue.equals(""))){
goal.setTargetValue(oldTargetValue);
}
}
if((sEvaluationValue!=null)&&(!sEvaluationValue.equals(""))){
goal.setEvaluationValue(sEvaluationValue);
}
else{
//check if we have some old values to set:
if((sEvaluationValue==null)&&(oldEvaluationValue!=null)&&(!oldEvaluationValue.equals(""))){
goal.setEvaluationValue(oldEvaluationValue);
}
}
hmFileGoals.put(goal.getID(), goal);
if(bMarker){
this.fileBenchmarkGoals.put(inputFile, hmFileGoals);
}
}
else{