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

    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