private void scanDataVariable(SortedMap properties, OID oid, DataInfo<Variable> dataInfo) { String prefix = CONFIG_PREFIX; String ctxSuffix = ""; if (dataInfo.context != null) { ctxSuffix = CTX_ID+dataInfo.context; } prefix += ctxSuffix; prefix += OID_ID+oid.toDottedString(); String value = (String) properties.get(prefix); Variable v = createVariableFromString(value, Variable.class); dataInfo.add(v); }
private void scanDataIndexVariables(SortedMap properties, OID oid, DataInfo<IndexedVariables> dataInfo) { String prefix = CONFIG_PREFIX; String ctxSuffix = ""; if (dataInfo.context != null) { ctxSuffix = CTX_ID+dataInfo.context; } prefix += ctxSuffix; prefix += OID_ID+oid.toDottedString(); String dimension = (String) properties.get(prefix); if (dimension == null) { return; } StringTokenizer st = new StringTokenizer(dimension, ": "); int rows = Integer.parseInt(st.nextToken()); int cols = Integer.parseInt(st.nextToken()); String indexPrefix = CONFIG_PREFIX+ctxSuffix+INDEX_ID+oid.toDottedString(); String valuePrefix = CONFIG_PREFIX+ctxSuffix+VALUE_ID+oid.toDottedString(); for (int i=0; i<rows; i++) { String indexString = (String) properties.get(indexPrefix+"."+i); OID index = (OID) createVariableFromString(indexString, OID.class); Variable[] v = new Variable[cols]; for (int j=0; j<cols; j++) { String val = (String) properties.get(valuePrefix+"."+i+"."+j); if (val != null) { v[j] = createVariableFromString(val, Variable.class); } } dataInfo.add(new IndexedVariables(index, v)); } }
if (replacementValue != null) { OID oid = replacementValue.toSubIndex(impliedLength); m.appendReplacement(result, oid.toDottedString());