Пример #1
0
 @Override
 public synchronized void setScenarioParameters(
     Map<String, Map<String, ScenarioParameter>> parameters) {
   // perform sanity check first to avoid exploitation by hackers
   for (String obj : parameters.keySet()) {
     if (!this.scenarioParameters.containsKey(obj)) {
       throw new RuntimeException("Object with id '" + obj + "' can not be configured");
     }
     ConfigurableObject oldObj = this.scenarioParameters.get(obj);
     Map<String, ScenarioParameter> newParams = parameters.get(obj);
     for (String field : newParams.keySet()) {
       if (!oldObj.containsParam(field)) {
         throw new RuntimeException(
             "'" + obj + "'" + " has no configurable field '" + field + "'");
       }
       ScenarioParameter newParam = newParams.get(field);
       oldObj.setParamValue(field, newParam.getValue());
     }
   }
   this.updateScenarioParameters();
 }