Node node = ((JackElement)master).getNode();
try {
for (String name : data.keySet()) {
CaoMetaDefinition def = master.getMetadata().getDefinition(name);
log.debug("Set property " + name + "[" + def.getType() + "]=" + getString(name));
switch (def.getType()) {
case LIST:
CaoList list = getList(name);
CaoMetaDefinition def2 = list.getMetadata().getDefinitionAt(0);
LinkedList<Value> values = new LinkedList<Value>();
for (CaoElement item : list.getElements()) {
values.add( toValue(def2.getType(),def2.getName(),item) );
}
node.getProperty(name).setValue(values.toArray(new Value[values.size()]));
break;
default:
Value value = toValue(def.getType(),name,this);