@@ -0,0 +1,3681 @@
+/*%0A *  Copyright (c) 2004-2022, University of Oslo%0A *  All rights reserved.%0A *%0A *  Redistribution and use in source and binary forms, with or without%0A *  modification, are permitted provided that the following conditions are met:%0A *  Redistributions of source code must retain the above copyright notice, this%0A *  list of conditions and the following disclaimer.%0A *%0A *  Redistributions in binary form must reproduce the above copyright notice,%0A *  this list of conditions and the following disclaimer in the documentation%0A *  and/or other materials provided with the distribution.%0A *  Neither the name of the HISP project nor the names of its contributors may%0A *  be used to endorse or promote products derived from this software without%0A *  specific prior written permission.%0A *%0A *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS %22AS IS%22 AND%0A *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0A *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0A *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR%0A *  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES%0A *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;%0A *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON%0A *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT%0A *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS%0A *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0A */%0Apackage org.hisp.dhis.android.core.trackedentity.internal;%0A%0Aimport org.hisp.dhis.android.core.arch.db.access.DatabaseAdapter;%0Aimport org.hisp.dhis.android.core.arch.db.stores.internal.SingleParentChildStore;%0Aimport org.hisp.dhis.android.core.arch.db.stores.internal.StoreFactory;%0Aimport org.hisp.dhis.android.core.arch.repositories.children.internal.ChildrenAppender;%0Aimport org.hisp.dhis.android.core.trackedentity.AttributeValueFilter;%0Aimport org.hisp.dhis.android.core.trackedentity.EntityQueryCriteria;%0Aimport org.hisp.dhis.android.core.trackedentity.TrackedEntityInstanceFilter;%0A%0Apublic final class TrackedEntityInstanceFilterAttributeValueFilterChildrenAppender %0A        extends ChildrenAppender%3CTrackedEntityInstanceFilter%3E %7B%0A%0A    private final SingleParentChildStore%3CTrackedEntityInstanceFilter, AttributeValueFilter%3E childStore;%0A%0A    private TrackedEntityInstanceFilterAttributeValueFilterChildrenAppender(%0A            SingleParentChildStore%3CTrackedEntityInstanceFilter, AttributeValueFilter%3E childStore) %7B%0A        this.childStore = childStore;%0A    %7D%0A%0A    @Override%0A    public TrackedEntityInstanceFilter appendChildren(TrackedEntityInstanceFilter trackedEntityInstanceFilter) %7B%0A        if (trackedEntityInstanceFilter.entityQueryCriteria() != null) %7B%0A            EntityQueryCriteria.Builder criteriaBuilder = trackedEntityInstanceFilter.entityQueryCriteria().toBuilder();%0A            criteriaBuilder.attributeValueFilters(childStore.getChildren(trackedEntityInstanceFilter));%0A            return trackedEntityInstanceFilter.toBuilder().entityQueryCriteria(criteriaBuilder.build()).build();%0A        %7D%0A        return TrackedEntityInstanceFilter.builder().build();%0A    %7D%0A%0A    public static ChildrenAppender%3CTrackedEntityInstanceFilter%3E create(DatabaseAdapter databaseAdapter) %7B%0A        return new TrackedEntityInstanceFilterAttributeValueFilterChildrenAppender(%0A                StoreFactory.singleParentChildStore(%0A                        databaseAdapter,%0A                        AttributeValueFilterStore.CHILD_PROJECTION,%0A                        AttributeValueFilter::create)%0A        );%0A    %7D%0A%7D

Add TrackedEntityInstanceFilterAttributeValueFilterChildrenAppender