@Nonnull private static Optional<FormRequirementEntity> findFormRequirementEntity(@Nonnull RequirementInstance requirement, @Nonnull String typeName, boolean mainForm) { Stream<FormRequirementEntity> entities = requirement.getEntity().getFormRequirementEntities().stream(); //Filter byName entities = entities.filter(x -> { if (x.getForm() != null) { return typeName.equals(RequirementUtil.getTypeName(x)); } else if (x.getCurrentDraftEntity() != null) { return typeName.equals(RequirementUtil.getTypeName(x.getCurrentDraftEntity())); } return false; }); if (!mainForm) { //Filter byTask Optional<IEntityTaskDefinition> currentTask = RequirementUtil.getCurrentTaskDefinitionOpt(requirement.getEntity()); if (currentTask.isPresent()) { entities = entities.filter(x -> x.getTaskDefinitionEntity().equals(currentTask.get())); } } return entities.findFirst(); }
@Nonnull private static Optional<FormRequirementEntity> findFormRequirementEntity(@Nonnull RequirementInstance requirement, @Nonnull String typeName, boolean mainForm) { Stream<FormRequirementEntity> entities = requirement.getEntity().getFormRequirementEntities().stream(); //Filter byName entities = entities.filter(x -> { if (x.getForm() != null) { return typeName.equals(RequirementUtil.getTypeName(x)); } else if (x.getCurrentDraftEntity() != null) { return typeName.equals(RequirementUtil.getTypeName(x.getCurrentDraftEntity())); } return false; }); if (!mainForm) { //Filter byTask Optional<IEntityTaskDefinition> currentTask = RequirementUtil.getCurrentTaskDefinitionOpt(requirement.getEntity()); if (currentTask.isPresent()) { entities = entities.filter(x -> x.getTaskDefinitionEntity().equals(currentTask.get())); } } return entities.findFirst(); }
@Nonnull private static Optional<FormRequirementEntity> findFormRequirementEntity(@Nonnull RequirementInstance requirement, @Nonnull String typeName, boolean mainForm) { Stream<FormRequirementEntity> entities = requirement.getEntity().getFormRequirementEntities().stream(); //Filter byName entities = entities.filter(x -> { if (x.getForm() != null) { return typeName.equals(RequirementUtil.getTypeName(x)); } else if (x.getCurrentDraftEntity() != null) { return typeName.equals(RequirementUtil.getTypeName(x.getCurrentDraftEntity())); } return false; }); if (!mainForm) { //Filter byTask Optional<IEntityTaskDefinition> currentTask = RequirementUtil.getCurrentTaskDefinitionOpt(requirement.getEntity()); if (currentTask.isPresent()) { entities = entities.filter(x -> x.getTaskDefinitionEntity().equals(currentTask.get())); } } return entities.findFirst(); }
public FormPetitionEntity findFormPetitionEntity(P petition, String typeName, boolean mainForm) { FormPetitionEntity formPetitionEntity; final Predicate<FormPetitionEntity> byName = x -> { if (x.getForm() != null) { return typeName.equals(x.getForm().getFormType().getAbbreviation()); } else if (x.getCurrentDraftEntity() != null) { return typeName.equals(x.getCurrentDraftEntity().getForm().getFormType().getAbbreviation()); } return false; }; final Predicate<FormPetitionEntity> byTask = x -> x.getTaskDefinitionEntity().equals(getCurrentTaskDefinition(petition).orElse(null)); if (mainForm) { formPetitionEntity = petition.getFormPetitionEntities().stream() .filter(byName) .findFirst().orElse(null); } else { formPetitionEntity = petition.getFormPetitionEntities().stream() .filter(byName) .filter(byTask) .findFirst() .orElse(null); } return formPetitionEntity; }