+ @Override
+ @CompoundRelatedGetValue(objRelation=Plant3D.URIs.hasParameter,objType=Plant3D.URIs.Parameter,valRelation=Plant3D.URIs.hasParameterValue)
+ @CompoundGetPropertyValue(name="Parameters",tabId="Parameters",value="parameters")
+ public Map<String, Object> getParameterMap() {
+ return super.getParameterMap();
+ }
+
+ @Override
+ @CompoundRelatedSetValue(Plant3D.URIs.hasParameter)
+ public void setParameterMap(Map<String, Object> parameters) {
+ super.setParameterMap(parameters);
+ }
+
+ @CompoundGetPropertyValue(name="Parameters",tabId="Parameters",value="parameters")
+ public Map<String,Object> getParameterMapUI() {
+ // TODO : how to filter parameters that are calculated by geometry provider?
+ Map<String,Object> map = new HashMap<String, Object>(getParameterMap());
+ map.remove("radius");
+ return map;
+ }
+
+ @CompoundSetPropertyValue(value="parameters")
+ public void setParameterMapUI(Map<String, Object> parameters) {
+ Map<String, Object> curr = getParameterMap();
+ for (Entry<String, Object> entry : curr.entrySet()) {
+ if (!parameters.containsKey(entry.getKey()))
+ parameters.put(entry.getKey(), entry.getValue());
+ }
+ setParameterMap(parameters);
+ }
+