Package ddf.catalog.metacard.validation
Class MetacardValidityFilterPlugin
java.lang.Object
ddf.catalog.plugin.PreFederatedLocalProviderQueryPlugin
ddf.catalog.metacard.validation.MetacardValidityFilterPlugin
- All Implemented Interfaces:
ddf.catalog.plugin.PolicyPlugin,ddf.catalog.plugin.PreFederatedQueryPlugin
public class MetacardValidityFilterPlugin
extends ddf.catalog.plugin.PreFederatedLocalProviderQueryPlugin
implements ddf.catalog.plugin.PolicyPlugin
A
PreFederatedQueryPlugin and PolicyPlugin which performs
filtering of Metacards. For the PreFederatedQueryPlugin, the
Query's filter is modified, which can help improve performance. For the PolicyPlugin, filtering is done post-query on the resulting Metacards from the query.
User roles are checked at both the PreFederatedQueryPlugin and
PolicyPlugin post-query points.
-
Field Summary
Fields inherited from class ddf.catalog.plugin.PreFederatedLocalProviderQueryPlugin
catalogProvidersFields inherited from interface ddf.catalog.plugin.PolicyPlugin
OPERATION_SECURITY -
Constructor Summary
ConstructorsConstructorDescriptionMetacardValidityFilterPlugin(ddf.catalog.filter.FilterBuilder filterBuilder, List<ddf.catalog.source.CatalogProvider> catalogProviders) -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanddf.catalog.operation.QueryRequestprocess(ddf.catalog.source.Source source, ddf.catalog.operation.QueryRequest input) Modifies the incomingQueryRequests filter depending upon the configuration for this plugin.ddf.catalog.plugin.PolicyResponseprocessPostDelete(ddf.catalog.data.Metacard input, Map<String, Serializable> properties) ddf.catalog.plugin.PolicyResponseprocessPostQuery(ddf.catalog.data.Result input, Map<String, Serializable> properties) ddf.catalog.plugin.PolicyResponseprocessPostResource(ddf.catalog.operation.ResourceResponse resourceResponse, ddf.catalog.data.Metacard metacard) ddf.catalog.plugin.PolicyResponseprocessPreCreate(ddf.catalog.data.Metacard input, Map<String, Serializable> properties) ddf.catalog.plugin.PolicyResponseprocessPreDelete(List<ddf.catalog.data.Metacard> metacards, Map<String, Serializable> properties) ddf.catalog.plugin.PolicyResponseprocessPreQuery(ddf.catalog.operation.Query query, Map<String, Serializable> properties) ddf.catalog.plugin.PolicyResponseprocessPreResource(ddf.catalog.operation.ResourceRequest resourceRequest) ddf.catalog.plugin.PolicyResponseprocessPreUpdate(ddf.catalog.data.Metacard input, Map<String, Serializable> properties) voidsetAttributeMap(List<String> attributeMappings) voidsetAttributeMap(Map<String, List<String>> attributeMap) Even though Blueprint uses the other setter, at least one Setter method has to match the type of the Getter method for property attributeMap or an exception will be thrown.voidsetFilterErrors(boolean filterErrors) voidsetFilterWarnings(boolean filterWarnings) voidsetPermissions(ddf.security.permission.Permissions permissions) Methods inherited from class ddf.catalog.plugin.PreFederatedLocalProviderQueryPlugin
isLocalSource
-
Constructor Details
-
MetacardValidityFilterPlugin
public MetacardValidityFilterPlugin(ddf.catalog.filter.FilterBuilder filterBuilder, List<ddf.catalog.source.CatalogProvider> catalogProviders)
-
-
Method Details
-
processPreCreate
public ddf.catalog.plugin.PolicyResponse processPreCreate(ddf.catalog.data.Metacard input, Map<String, Serializable> properties) throws ddf.catalog.plugin.StopProcessingException- Specified by:
processPreCreatein interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
processPreUpdate
public ddf.catalog.plugin.PolicyResponse processPreUpdate(ddf.catalog.data.Metacard input, Map<String, Serializable> properties) throws ddf.catalog.plugin.StopProcessingException- Specified by:
processPreUpdatein interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
processPreDelete
public ddf.catalog.plugin.PolicyResponse processPreDelete(List<ddf.catalog.data.Metacard> metacards, Map<String, Serializable> properties) throws ddf.catalog.plugin.StopProcessingException- Specified by:
processPreDeletein interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
processPostDelete
public ddf.catalog.plugin.PolicyResponse processPostDelete(ddf.catalog.data.Metacard input, Map<String, Serializable> properties) throws ddf.catalog.plugin.StopProcessingException- Specified by:
processPostDeletein interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
processPreQuery
public ddf.catalog.plugin.PolicyResponse processPreQuery(ddf.catalog.operation.Query query, Map<String, Serializable> properties) throws ddf.catalog.plugin.StopProcessingException- Specified by:
processPreQueryin interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
processPostQuery
public ddf.catalog.plugin.PolicyResponse processPostQuery(ddf.catalog.data.Result input, Map<String, Serializable> properties) throws ddf.catalog.plugin.StopProcessingException- Specified by:
processPostQueryin interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
process
public ddf.catalog.operation.QueryRequest process(ddf.catalog.source.Source source, ddf.catalog.operation.QueryRequest input) throws ddf.catalog.plugin.StopProcessingException Modifies the incomingQueryRequests filter depending upon the configuration for this plugin. If aSubjectcontains the appropriate configured roles, it will always receiveMetacards with errors and/or warnings, otherwise theSubjectwill receive results based on thefilterErrorsandfilterWarningsflags.- Specified by:
processin interfaceddf.catalog.plugin.PreFederatedQueryPlugin- Specified by:
processin classddf.catalog.plugin.PreFederatedLocalProviderQueryPlugin- Parameters:
source-Sourcebeing queriedinput-QueryRequestbeing sent to theSource- Returns:
- new
QueryRequestif the filter was modified, otherwise the originalQueryRequest - Throws:
ddf.catalog.plugin.StopProcessingException- if theSubjectis not available
-
processPreResource
public ddf.catalog.plugin.PolicyResponse processPreResource(ddf.catalog.operation.ResourceRequest resourceRequest) throws ddf.catalog.plugin.StopProcessingException - Specified by:
processPreResourcein interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
processPostResource
public ddf.catalog.plugin.PolicyResponse processPostResource(ddf.catalog.operation.ResourceResponse resourceResponse, ddf.catalog.data.Metacard metacard) throws ddf.catalog.plugin.StopProcessingException - Specified by:
processPostResourcein interfaceddf.catalog.plugin.PolicyPlugin- Throws:
ddf.catalog.plugin.StopProcessingException
-
setFilterErrors
public void setFilterErrors(boolean filterErrors) -
getFilterErrors
public boolean getFilterErrors() -
setFilterWarnings
public void setFilterWarnings(boolean filterWarnings) -
getFilterWarnings
public boolean getFilterWarnings() -
getAttributeMap
-
setPermissions
public void setPermissions(ddf.security.permission.Permissions permissions) -
setAttributeMap
Even though Blueprint uses the other setter, at least one Setter method has to match the type of the Getter method for property attributeMap or an exception will be thrown. -
setAttributeMap
-