Skip to content
Snippets Groups Projects
Commit 6483fcee authored by Tiziano Munaro's avatar Tiziano Munaro
Browse files

GREEN

Minor modifications:
* Adapt parameter names to the other implementations of
`getChildrenWithType`

Issue-Ref: 4104
Issue-Url: af3#4104



Signed-off-by: default avatarTiziano Munaro <munaro@fortiss.org>
parent 20fa9961
No related branches found
No related tags found
2 merge requests!1364104,!1354104: Add getChildrenWithType(EObject, Class<T>, Collection<Class<?extends T>)
Pipeline #27905 failed
Pipeline: maven-releng

#27906

    This commit is part of merge request !136. Comments created here will be created in the context of that merge request.
    CompositionUtils.java 34c0a191bd0fb4176c94b4d61abb5c88a679d5e8 GREEN
    EMFResourceUtils.java 68e6712a52349548bf85346900b17aa65b5f0ea9 GREEN
    EcoreSerializerBase.java 0a0c2969d793d2e68094c55c8f7b0a662ef6e5d5 GREEN
    EcoreUtils.java c38ac59cd7abad71a03d8666bf0943b40b90e58d YELLOW
    EcoreUtils.java 60e8b9f5ee65c775814f55c7ef22a57da38e7e77 GREEN
    ExtensionPointUtils.java 7ce63242b49eb9a7cd4eaadd223f5ebce1dfd75b GREEN
    HierarchicalNameComparator.java 6face1b673126701a0721af48ead2f9766c17d46 GREEN
    IdentifierUtils.java fff43dc4e84cdd89c3ece4f5d9d89aec4b0749c2 GREEN
    ......
    ......@@ -273,20 +273,28 @@ public class EcoreUtils {
    /**
    * For the given {@code element}, return the most nested ancestors of type {@code clazz} that
    * does not have any ancestors of any of the {@code admissibleSpecializations}.
    *
    * @param parent
    * the parent {@link EObject}.
    * @param type
    * the type.
    * @param admissibleSpecializations
    * {@link Collection} of admissible specializations of the given type.
    * @return a list of children.
    */
    @SuppressWarnings({"rawtypes", "unchecked"})
    public static <T extends EObject> Collection<T> getChildrenWithType(EObject element,
    Class<T> clazz, Collection<Class<? extends T>> admissibleSpecializations) {
    public static <T extends EObject> Collection<T> getChildrenWithType(EObject parent,
    Class<T> type, Collection<Class<? extends T>> admissibleSpecializations) {
    Predicate<? super EObject> hasApplicableChildren =
    modelElement -> asStream(modelElement.eAllContents())
    .anyMatch(c -> isAssignableFromAny((Collection)admissibleSpecializations,
    c.getClass()));
    Stream<T> executionUnits = asStream(element.eAllContents()).filter(clazz::isInstance)
    .filter(hasApplicableChildren.negate()).map(clazz::cast);
    Stream<T> children = asStream(parent.eAllContents()).filter(type::isInstance)
    .filter(hasApplicableChildren.negate()).map(type::cast);
    return executionUnits.collect(toList());
    return children.collect(toList());
    }
    /**
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment