Package org.openbel.framework.api

Examples of org.openbel.framework.api.AnnotationFilterCriteria


        final List<FilterCriteria> criteria = filter.getFilterCriteria();
        final Map<KAMStoreDaoImpl.AnnotationType, AnnotationFilterCriteria> amap =
                sizedHashMap(criteria.size());
        for (final FilterCriteria c : criteria) {
            final AnnotationFilterCriteria afc = (AnnotationFilterCriteria) c;
            amap.put(afc.getAnnotationType(), afc);
        }

        for (Collection<Statement> stmts : results.values()) {
            final Iterator<Statement> stmtIt = stmts.iterator();
            while (stmtIt.hasNext()) {
                final Statement stmt = stmtIt.next();

                // guard against empty annotations
                if (stmt == null ||
                        stmt.getAnnotationGroup() == null ||
                        stmt.getAnnotationGroup().getAnnotations() == null)
                    continue;

                final List<Annotation> annotations = stmt.getAnnotationGroup().getAnnotations();
                for (final FilterCriteria c : criteria) {
                    // criteria is invalid, continue
                    if (c == null) {
                        continue;
                    }

                    final AnnotationFilterCriteria afc =
                            (AnnotationFilterCriteria) c;

                    // criteria's annotation type is invalid, continue
                    if (afc.getAnnotationType() == null) {
                        continue;
                    }

                    Annotation matchedAnnotation = null;
                    for (final Annotation annotation : annotations) {
                        if (annotation.getDefinition().getId().equals(afc.getAnnotationType().getName())) {
                            matchedAnnotation = annotation;
                        }
                    }

                    if (matchedAnnotation == null) {
                        if (c.isInclude()) {
                            stmtIt.remove();
                        }
                    } else {
                        boolean valueMatch = afc.getValues().contains(
                                matchedAnnotation.getValue());
                        if (valueMatch && !c.isInclude()) {
                            stmtIt.remove();
                        }
                    }
View Full Code Here


        final List<FilterCriteria> criteria = filter.getFilterCriteria();
        final Map<AnnotationType, AnnotationFilterCriteria> amap =
                sizedHashMap(criteria.size());
        for (final FilterCriteria c : criteria) {
            final AnnotationFilterCriteria afc = (AnnotationFilterCriteria) c;
            amap.put(afc.getAnnotationType(), afc);
        }

        final Iterator<BelStatement> stmtIt = stmts.iterator();
        while (stmtIt.hasNext()) {
            final BelStatement stmt = stmtIt.next();

            final List<Annotation> annotations = stmt.getAnnotationList();

            for (final FilterCriteria c : criteria) {
                // criteria is invalid, continue
                if (c == null) {
                    continue;
                }

                final AnnotationFilterCriteria afc =
                        (AnnotationFilterCriteria) c;

                // criteria's annotation type is invalid, continue
                if (afc.getAnnotationType() == null) {
                    continue;
                }

                Annotation matchedAnnotation = null;
                for (final Annotation annotation : annotations) {
                    if (annotation.getAnnotationType() == afc
                            .getAnnotationType()) {
                        matchedAnnotation = annotation;
                    }
                }

                if (matchedAnnotation == null) {
                    if (c.isInclude()) {
                        stmtIt.remove();
                    }
                } else {
                    boolean valueMatch = afc.getValues().contains(
                            matchedAnnotation.getValue());
                    if (valueMatch && !c.isInclude()) {
                        stmtIt.remove();
                    }
                }
View Full Code Here

                    }
                }
                havingClause.append(") THEN 1 ELSE 0 END)=1");

            } else if (criterion instanceof AnnotationFilterCriteria) {
                AnnotationFilterCriteria ac =
                        (AnnotationFilterCriteria) criterion;
                Integer type = ac.getAnnotationType().getId();
                Set<String> annotations = ac.getValues();
                int size = annotations.size();
                if (size == 0) {
                    continue;
                }
View Full Code Here

    @Test
    public void includeOnlyFilter() {
        AnnotationFilter filter = testKam.getKamInfo().createAnnotationFilter();

        AnnotationFilterCriteria criteria = new AnnotationFilterCriteria(
                ann1.getAnnotationType());
        criteria.setInclude(true);
        criteria.getValues().add(ann1.getValue());
        filter.add(criteria);

        List<BelStatement> filteredStmts = null;
        try {
            filteredStmts = ks.getSupportingEvidence(edge, filter);
View Full Code Here

    @Test
    public void excludeOnlyFilter() {
        AnnotationFilter filter = testKam.getKamInfo().createAnnotationFilter();

        AnnotationFilterCriteria criteria = new AnnotationFilterCriteria(
                ann2.getAnnotationType());
        criteria.setInclude(false);
        criteria.getValues().add(ann2.getValue());
        filter.add(criteria);

        List<BelStatement> filteredStmts = null;
        try {
            filteredStmts = ks.getSupportingEvidence(edge, filter);
View Full Code Here

    @Test
    public void includeExcludeFilter() {
        AnnotationFilter filter = testKam.getKamInfo().createAnnotationFilter();

        AnnotationFilterCriteria criteria1 = new AnnotationFilterCriteria(ann1.getAnnotationType());
        criteria1.setInclude(true);
        criteria1.getValues().add(ann1.getValue());
        filter.add(criteria1);
        AnnotationFilterCriteria criteria2 = new AnnotationFilterCriteria(ann2.getAnnotationType());
        criteria2.setInclude(false);
        criteria2.getValues().add(ann2.getValue());
        filter.add(criteria2);

        List<BelStatement> filteredStmts = null;
        try {
            filteredStmts = ks.getSupportingEvidence(edge, filter);
View Full Code Here

    private Collection<KamEdge> filterEdges(final KAMStore kAMStore,
            final Kam kam, final String annotationName)
            throws KAMStoreException {
        KamFilter filter = kam.getKamInfo().createKamFilter();
        AnnotationFilterCriteria criteria =
                new AnnotationFilterCriteria(getAnnotationType(kAMStore, kam,
                        annotationName));
        criteria.add(RANDOM_VALUE);
        criteria.setInclude(false);
        filter.add(criteria);
        Kam filteredKam = kAMStore.getKam(kam.getKamInfo(), filter);
        return filteredKam.getEdges();
    }
View Full Code Here

                annotationType.newInstance(
                        9, "UrogenitalSystem", null, null, AnnotationDefinitionType.URL,
                        "http://resource.belframework.org/belframework/1.0/annotation/mesh-urogenital-system.belanno")
        };

        AnnotationFilterCriteria ac1 = new AnnotationFilterCriteria(types[0]),
                ac2 = new AnnotationFilterCriteria(types[1]);

        ac1.add("Hematopoietic Stem Cells");
        ac1.add("Blood");
        ac1.add("Macrophages");
        ac1.add("Monocytes");

        ac2.add("Urinary Bladder");

        ac1.setInclude(true);
        ac2.setInclude(false);

        filter.add(ac1);
        filter.add(ac2);

        testSameResultAsPreviousImplementation(filter);
View Full Code Here

TOP

Related Classes of org.openbel.framework.api.AnnotationFilterCriteria

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.