public class PrincipalSearchReport extends AbstractSecurityReport
PrincipalSearchReport
performs a search for all principals
that match the search criteria specified in the request.
The following XML structure is required in the request body:
<!ELEMENT principal-property-search ((property-search+), prop?, apply-to-principal-collection-set?) > <!ELEMENT property-search (prop, match) > prop: see RFC 2518, Section 12.11 <!ELEMENT match #PCDATA > <!ELEMENT apply-to-principal-collection-set #EMPTY >DAV:property-search contains lists the properties to be searched inside the DAV:prop element and the query string inside the DAV:match element. Multiple DAV:property-search elements or multiple elements within the DAV:prop element will be interpreted with a logical AND.
DAV:prop lists the property names to be reported in the response for each of the principle resources found.
DAV:apply-to-principal-collection-set: Optional empty element. If present in the request body the search will be executed over all members of the collections that are listed as values in the DAV:principal-collection-set property present on the resource the report has been requested for. Otherwise the search is limited to all members (at any depth) of that resource itself.
The response body must contain a single DAV:multistatus XML element.
Modifier and Type | Class and Description |
---|---|
protected class |
PrincipalSearchReport.SearchArgument
Inner utility class preparing the query arguments present in the
DAV:property-search element(s).
|
Modifier and Type | Field and Description |
---|---|
static String |
REPORT_NAME
The report name
|
static ReportType |
REPORT_TYPE
The report type
|
static String |
XML_APPLY_TO_PRINCIPAL_COLLECTION_SET |
static String |
XML_MATCH |
static String |
XML_PROPERTY_SEARCH |
responses
Constructor and Description |
---|
PrincipalSearchReport() |
Modifier and Type | Method and Description |
---|---|
PrincipalSearchReport.SearchArgument[] |
getSearchArguments()
Retrieve the search arguments used to run the search for principals.
Note, that the search result must be converted to MultiStatusResponse s
that must be returned back to this report. |
String[] |
getSearchRoots()
Retrieve the the locations where the search should be performed.
Note, that the search result must be converted to MultiStatusResponse s
that must be returned back to this report. |
ReportType |
getType()
Returns the registered type of this report.
|
void |
init(DavResource resource,
ReportInfo info)
Checks if the given resource and report info are not
null ,
that the requested report type matches this implementation and that no
other Depth header than 0 is present. |
void |
setResponses(MultiStatusResponse[] responses)
Write the search result back to the report.
|
isMultiStatusReport, toXml
public static final String XML_APPLY_TO_PRINCIPAL_COLLECTION_SET
public static final String XML_PROPERTY_SEARCH
public static final String XML_MATCH
public static final String REPORT_NAME
public static final ReportType REPORT_TYPE
public ReportType getType()
Report
Report.getType()
public void init(DavResource resource, ReportInfo info) throws DavException
AbstractSecurityReport
null
,
that the requested report type matches this implementation and that no
other Depth header than 0 is present.init
in interface Report
init
in class AbstractSecurityReport
DavException
Report.init(DavResource, ReportInfo)
public String[] getSearchRoots()
MultiStatusResponse
s
that must be returned back to this report.setResponses(MultiStatusResponse[])
public PrincipalSearchReport.SearchArgument[] getSearchArguments()
MultiStatusResponse
s
that must be returned back to this report.SearchArgument
used to run the principal
search.setResponses(MultiStatusResponse[])
public void setResponses(MultiStatusResponse[] responses)
responses
- Copyright © 2004–2021 The Apache Software Foundation. All rights reserved.