// csw:CqlText
if ((constraintLanguage != null) && constraintLanguage.equalsIgnoreCase("CQL_TEXT")) {
String cql = Val.chkStr(constraint);
qOptions.setQueryConstraintCql(cql);
ICqlParser parser = factory.makeCqlParser(context,constraintVersion);
if (parser == null) {
String msg = "IProviderFactory.makeCqlParser: instantiation failed.";
throw new OwsException(OwsException.OWSCODE_NoApplicableCode,locator,msg);
} else {
parser.parseCql(context,cql);
}
}
// ogc:Filter
if ((constraintLanguage == null) || constraintLanguage.equalsIgnoreCase("FILTER")) {
Node ndFilter = null;
IFilterParser parser = factory.makeFilterParser(context,constraintVersion);
if (parser == null) {
String msg = "IProviderFactory.makeFilterParser: instantiation failed.";
throw new OwsException(OwsException.OWSCODE_NoApplicableCode,locator,msg);
}
String constraintFilter = Val.chkStr(constraint);
if (constraintFilter.length() > 0) {
String[] namespace = pHelper.getParameterValues(request,"namespace",",");
ndFilter = this.buildFilterNode(namespace,constraintFilter);
parser.parseFilter(context,ndFilter,xpath);
}
}
// ogc:SortBy
locator = "sortBy";
String[] sortBy = pHelper.getParameterValues(request,"sortBy",",");
if (sortBy != null) {
Node ndSortBy = this.buildSortByNode(sortBy);
if (ndSortBy != null) {
ISortByParser parser = factory.makeSortByParser(context);
if (parser == null) {
String msg = "IProviderFactory.makeSortByParser: instantiation failed.";
throw new OwsException(OwsException.OWSCODE_NoApplicableCode,locator,msg);
} else {
parser.parseSortBy(context,ndSortBy,xpath);
}
}
}
// execute the request