All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.day.cq.wcm.foundation.search.AssetRenditionFilterPredicateEvaluator Maven / Gradle / Ivy

/*************************************************************************
 *
 * ADOBE CONFIDENTIAL
 * __________________
 *
 *  Copyright 2016 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 **************************************************************************/
package com.day.cq.wcm.foundation.search;

import javax.jcr.query.Row;

import org.apache.felix.scr.annotations.Component;
import org.apache.sling.api.resource.Resource;
import com.day.cq.dam.api.Rendition;
import com.day.cq.search.Predicate;
import com.day.cq.search.eval.AbstractPredicateEvaluator;
import com.day.cq.search.eval.EvaluationContext;

/**
 * Filters out dam:Asset renditions from the search results.
 *
 * 

* This is a filtering-only predicate and cannot leverage a search index. *

* Does not support facet extraction. * *

Name:

* assetRenditionFilter * *

Properties:

*
*
assetRenditionFilter
*
any value
*
* * @since 6.3 */ @Component(metatype = false, factory = "com.day.cq.search.eval.PredicateEvaluator/assetRenditionFilter") public class AssetRenditionFilterPredicateEvaluator extends AbstractPredicateEvaluator { @Override public boolean includes(Predicate p, Row row, EvaluationContext context) { Resource res = context.getResource(row); // exclude asset renditions return res != null && res.adaptTo(Rendition.class) == null; } @Override public boolean canXpath(Predicate predicate, EvaluationContext context) { return false; } @Override public boolean canFilter(Predicate predicate, EvaluationContext context) { return true; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy