private boolean isElementEnabled(RecordElement element, Set<String> missingFields) { if (missingFields == null) { return true; } if (missingFields.size() == 0 || missingFields.contains(element.getExtension().getId())) { return false; } return true; }
/** * Given a list of enabled section elements and a list of consented section elements, disables any elements in * {@code enabledElements} that do not have the required consents. * * @param enabledElements the section elements that are currently enabled * @param consentedElements the section elements that have all the required consents */ private void disableNonConsentedElements(@Nonnull final List<RecordElement> enabledElements, @Nonnull final List<RecordElement> consentedElements) { for (final RecordElement element : enabledElements) { if (!consentedElements.contains(element)) { element.setEnabled(false); } } }
@SuppressWarnings("deprecation") @Override public List<String> getEnabledNonIdentifiableFieldNames() { List<String> result = new LinkedList<>(); for (RecordSection section : getEnabledSections()) { for (RecordElement element : section.getEnabledElements()) { if (!element.containsPrivateIdentifiableInformation()) { result.addAll(element.getDisplayedFields()); } } } return Collections.unmodifiableList(result); }
/** * Given the {@code section} that needs to be configured, and the {@code fieldOverrides enabled fields}, configures * the {@code section} elements. * * @param section the {@link RecordSection record section} that needs to be configured * @param fieldOverrides the list of identifiers for enabled fields */ private void configureFields(final RecordSection section, final List<String> fieldOverrides) { List<RecordElement> updatedElements = new ArrayList<>(section.getAllElements()); Collections.<RecordElement>sort(updatedElements, new Comparator<RecordElement>() { @Override public int compare(RecordElement o1, RecordElement o2) { int i1 = fieldOverrides.indexOf(o1.getExtension().getId()); int i2 = fieldOverrides.indexOf(o2.getExtension().getId()); return (i2 == -1 || i1 == -1) ? (i2 - i1) : (i1 - i2); } }); for (final RecordElement element : updatedElements) { if (!fieldOverrides.contains(element.getExtension().getId())) { element.setEnabled(false); } } section.setElements(updatedElements); }
@Override public List<String> getEnabledFieldNames() { final List<String> enabledFields = new LinkedList<>(); for (final RecordSection section : getEnabledSections()) { for (final RecordElement element : section.getEnabledElements()) { enabledFields.addAll(element.getDisplayedFields()); } } return Collections.unmodifiableList(enabledFields); }
@Override public List<RecordElement> getEnabledElements() { List<RecordElement> result = new LinkedList<>(); for (RecordElement element : getAllElements()) { if (element.isEnabled()) { result.add(element); } } return Collections.unmodifiableList(result); }
@Override public List<String> getAllFieldNames() { final List<String> fields = new LinkedList<>(); for (final RecordSection section : getAllSections()) { for (final RecordElement element : section.getAllElements()) { fields.addAll(element.getDisplayedFields()); } } return Collections.unmodifiableList(fields); }
@Override public List<RecordElement> getEnabledElements() { List<RecordElement> result = new LinkedList<>(); for (RecordElement element : getAllElements()) { if (element.isEnabled()) { result.add(element); } } return Collections.unmodifiableList(result); }
@Override public int compare(RecordElement o1, RecordElement o2) { int i1 = fieldOverrides.indexOf(o1.getExtension().getId()); int i2 = fieldOverrides.indexOf(o2.getExtension().getId()); return (i2 == -1 || i1 == -1) ? (i2 - i1) : (i1 - i2); } });
@Override public List<String> getEnabledNonIdentifiableFieldNames() { List<String> result = new LinkedList<String>(); for (RecordSection section : getEnabledSections()) { for (RecordElement element : section.getEnabledElements()) { if (!element.containsPrivateIdentifiableInformation()) { result.addAll(element.getDisplayedFields()); } } } return Collections.unmodifiableList(result); }
/** * Given a list of enabled section elements and a list of consented section elements, disables any elements in * {@code enabledElements} that do not have the required consents. * * @param enabledElements the section elements that are currently enabled * @param consentedElements the section elements that have all the required consents */ private void disableNonConsentedElements(@Nonnull final List<RecordElement> enabledElements, @Nonnull final List<RecordElement> consentedElements) { for (final RecordElement element : enabledElements) { if (!consentedElements.contains(element)) { element.setEnabled(false); } } }
@Override public List<String> getEnabledFieldNames() { List<String> result = new LinkedList<String>(); for (RecordSection section : getEnabledSections()) { for (RecordElement element : section.getEnabledElements()) { result.addAll(element.getDisplayedFields()); } } return Collections.unmodifiableList(result); }
/** * Given a form element and a set of non consented elements, returns true iff {@code element} is enabled, false * otherwise. * * @param element the {@link RecordElement} being examined * @param nonConsentedFields IDs of field that have not received the required consents * @return true iff {@code element} is not part of {@code nonConsentedFields}, false otherwise */ private boolean isElementEnabled(@Nonnull RecordElement element, @Nonnull Set<String> nonConsentedFields) { return !(nonConsentedFields == null) && !nonConsentedFields.contains(element.getExtension().getId()); }
@Override public int compare(RecordElement o1, RecordElement o2) { int i1 = overrides.indexOf(o1.getExtension().getId()); int i2 = overrides.indexOf(o2.getExtension().getId()); return (i2 == -1 || i1 == -1) ? (i2 - i1) : (i1 - i2); } });
/** * Given a form element and a set of non consented elements, returns true iff {@code element} is enabled, false * otherwise. * * @param element the {@link RecordElement} being examined * @param nonConsentedFields IDs of field that have not received the required consents * @return true iff {@code element} is not part of {@code nonConsentedFields}, false otherwise */ private boolean isElementEnabled(@Nonnull RecordElement element, @Nonnull Set<String> nonConsentedFields) { return !(nonConsentedFields == null) && !nonConsentedFields.contains(element.getExtension().getId()); }
@Override public List<RecordElement> getAllElements() { List<RecordElement> result = new ArrayList<RecordElement>(); List<RecordElement> allElements = super.getAllElements(); final List<String> overrides = this.configuration.getFieldsOverride(); for (RecordElement element : allElements) { result.add(new ConfiguredRecordElement(this.configuration, element.getExtension(), this)); } if (overrides != null && !overrides.isEmpty()) { Collections.<RecordElement>sort(result, new Comparator<RecordElement>() { @Override public int compare(RecordElement o1, RecordElement o2) { int i1 = overrides.indexOf(o1.getExtension().getId()); int i2 = overrides.indexOf(o2.getExtension().getId()); return (i2 == -1 || i1 == -1) ? (i2 - i1) : (i1 - i2); } }); } return Collections.unmodifiableList(result); } }