private static Metadata get(Metadata metadata, QueryPath frame, DataType type){ if(type == DataType.LIST){ return get(metadata.getProperties().get(QueryPath.getWildCard()), frame.subPath(1, frame.size())); } else{ return get(metadata.getProperties().get(frame.get(0).get()), frame.subPath(1, frame.size())); } } }
public String translatePath(String path) { String fieldPath; if (parentPath != null) { QueryPath parent = QueryPath.concat(parentPath); int i = parent.size(); QueryPath subPath = QueryPath.concat(path); String itemPath = subPath.subPath(i, subPath.size()).toString(); QueryPath qp = QueryPath.concat(parentPath, itemPath); fieldPath = qp.toString(); } else { fieldPath = path; } fieldPath = fieldPath.replace('*', Character.forDigit(itemCount-1, 10)); return fieldPath; }
public String translatePath(String path, String parentPath, int num) { String fieldPath; if (parentPath != null) { QueryPath parent = QueryPath.concat(parentPath); int i = parent.size(); QueryPath subPath = QueryPath.concat(path); String itemPath = subPath.subPath(i, subPath.size()).toString(); QueryPath qp = QueryPath.concat(parentPath, itemPath); fieldPath = qp.toString(); } else { fieldPath = path; } fieldPath = fieldPath.replace("*", "" + num); return fieldPath; }
public void remove(final QueryPath path) { QueryPath parent = null; QueryPath leavePath = null; if (path != null && path.size() >= 2) { parent = path.subPath(0, path.size() - 1); leavePath = path.subPath(path.size() - 1, path.size()); Object parentData = this.get(parent); if (parentData != null && parentData instanceof Data) { ((Data) parentData).remove( new Data.StringKey(leavePath.toString())); } } else if (path != null) { root.remove(new Data.StringKey(path.toString())); } }
public static Metadata get(Metadata metadata, QueryPath frame) { if(frame.size() == 1) { return metadata.getProperties().get(frame.get(0).get()); } else { if (metadata.getDataType() == DataType.LIST){ return get(metadata, frame, DataType.LIST); } else{ return get(metadata.getProperties().get(frame.get(0).get()), frame.subPath(1, frame.size())); } } }
final QueryPath relative = path.subPath(i + 1, path.size()); if (!relative.isEmpty()) { for (Key wildcardKey : keys) { if (!("_runtimeData".equals(wildcardKey.get()))) { QueryPath wildcardPath = path.subPath(0, path.size() - 1); wildcardPath.add(wildcardKey); result.put(wildcardPath, d.get(wildcardKey));
QueryPath translatedPath = fullPath.subPath(0, fullPath.size()-1); translatedPath.add(new Data.StringKey("_runtimeData")); translatedPath.add(new Data.StringKey((String)fullPath.get(fullPath.size() - 1).get())); translatedPath.add(new Data.StringKey("id-translation")); fieldPath = translatedPath.subPath(i, translatedPath.size()); fieldPath = fullPath.subPath(i, fullPath.size()); fieldPath = fullPath.subPath(i, fullPath.size());
public void set(final QueryPath path, final Value value) { definition.ensurePath(root, path, value instanceof DataValue); if (path.size() > 1) { final QueryPath q = path.subPath(0, path.size() - 1); final Data d = root.query(q); d.set(path.get(path.size() - 1), value); } else { root.set(path.get(0), value); } }
/** * Flags the data at the provided path as dirty * * @param model * the DataModel containing the dirty data * @param qPath * the path to the dirty data */ protected void setDirtyFlag(DataModel model, QueryPath qPath) { QueryPath parent = qPath.subPath(0, qPath.size() - 1); QueryPath qPathDirty = new QueryPath(); qPathDirty.addAll(parent); qPathDirty.add(RUNTIME_ROOT); qPathDirty.add(DIRTY_PATH); ensureDirtyFlagPath(model.getRoot(), qPathDirty); Data flags = model.get(qPathDirty); flags.set(qPath.get(qPath.size() - 1), Boolean.TRUE); }
private void dirtyCheckField(FieldDescriptor fieldDescriptor, DataModel model){ QueryPath fieldPath = QueryPath.parse(fieldDescriptor.getFieldKey()); QueryPath qPathDirty = fieldPath.subPath(0, fieldPath.size() - 1); qPathDirty.add(ModelWidgetBindingSupport.RUNTIME_ROOT); qPathDirty.add(ModelWidgetBindingSupport.DIRTY_PATH); qPathDirty.add(fieldPath.get(fieldPath.size()-1)); Boolean dirty = false; if(ensureDirtyFlagPath(model.getRoot(), qPathDirty)){ dirty = model.get(qPathDirty); } if(dirty){ setIsDirty(true); fieldDescriptor.setDirty(true); } }
QueryPath translationPath = qPath.subPath(0, qPath.size()-1); translationPath.add(new Data.StringKey("_runtimeData")); translationPath.add(new Data.StringKey((String)qPath.get(qPath.size() - 1).get()));