private Set<DerivedField> getActiveDerivedFields(Set<DerivedField> derivedFields){ FieldDependencyResolver fieldDependencyResolver = getFieldDependencyResolver(); Set<Field<?>> activeFields = getActiveFields(); Set<DerivedField> activeDerivedFields = new HashSet<>(derivedFields); activeDerivedFields.retainAll(activeFields); while(true){ Set<Field<?>> fields = new LinkedHashSet<>(activeDerivedFields); fieldDependencyResolver.expand(fields, activeDerivedFields); activeFields.addAll(fields); // Removes all fields that are not derived fields fields.retainAll(derivedFields); if(fields.isEmpty()){ break; } activeDerivedFields.addAll((Set)fields); } return activeDerivedFields; } }
private Set<DerivedField> getActiveDerivedFields(Set<DerivedField> derivedFields){ FieldDependencyResolver fieldDependencyResolver = getFieldDependencyResolver(); Set<Field<?>> activeFields = getActiveFields(); Set<DerivedField> activeDerivedFields = new HashSet<>(derivedFields); activeDerivedFields.retainAll(activeFields); while(true){ Set<Field<?>> fields = new LinkedHashSet<>(activeDerivedFields); fieldDependencyResolver.expand(fields, activeDerivedFields); activeFields.addAll(fields); // Removes all fields that are not derived fields fields.retainAll(derivedFields); if(fields.isEmpty()){ break; } activeDerivedFields.addAll((Set)fields); } return activeDerivedFields; } }
private Set<DataField> getUsedDataFields(){ FieldDependencyResolver fieldDependencyResolver = getFieldDependencyResolver(); Set<Field<?>> usedFields = new HashSet<>(getActiveFields()); usedFields.addAll(getTargetFields()); fieldDependencyResolver.expand(usedFields, fieldDependencyResolver.getLocalDerivedFields()); fieldDependencyResolver.expand(usedFields, fieldDependencyResolver.getGlobalDerivedFields()); return (Set)usedFields; }
private Set<DataField> getUsedDataFields(){ FieldDependencyResolver fieldDependencyResolver = getFieldDependencyResolver(); Set<Field<?>> usedFields = new HashSet<>(getActiveFields()); usedFields.addAll(getTargetFields()); fieldDependencyResolver.expand(usedFields, fieldDependencyResolver.getLocalDerivedFields()); fieldDependencyResolver.expand(usedFields, fieldDependencyResolver.getGlobalDerivedFields()); return (Set)usedFields; }
private void expandDerivedFields(Model model, Set<Field<?>> fields){ FieldDependencyResolver fieldDependencyResolver = getFieldDependencyResolver(); fieldDependencyResolver.expand(fields, fieldDependencyResolver.getGlobalDerivedFields()); LocalTransformations localTransformations = model.getLocalTransformations(); if(localTransformations != null && localTransformations.hasDerivedFields()){ fieldDependencyResolver.expand(fields, new HashSet<>(localTransformations.getDerivedFields())); } }
private void expandDerivedFields(Model model, Set<Field<?>> fields){ FieldDependencyResolver fieldDependencyResolver = getFieldDependencyResolver(); fieldDependencyResolver.expand(fields, fieldDependencyResolver.getGlobalDerivedFields()); LocalTransformations localTransformations = model.getLocalTransformations(); if(localTransformations != null && localTransformations.hasDerivedFields()){ fieldDependencyResolver.expand(fields, new HashSet<>(localTransformations.getDerivedFields())); } }