*
* @throws Exception
*/
public void testEncodeFeatureMember() {
WFSInfo wfs = getGeoServer().getService(WFSInfo.class);
boolean encodeFeatureMember = wfs.isEncodeFeatureMember();
// test one featureMember element
wfs.setEncodeFeatureMember(false);
getGeoServer().save(wfs);
String path = "wfs?request=GetFeature&typename=gsml:GeologicUnit&featureid=gsml.geologicunit.16777549126932776,gsml.geologicunit.167775491110573732,gsml.geologicunit.16777549126930540";
Document doc = getAsDOM(path);
LOGGER.info("WFS GetFeature&typename=gsml:GeologicUnit response:\n" + prettyString(doc));
checkSchemaLocation(doc);
assertXpathEvaluatesTo("3", "/wfs:FeatureCollection/@numberOfFeatures", doc);
assertXpathCount(3, "//gsml:GeologicUnit", doc);
assertEquals(0, doc.getElementsByTagName("gml:featureMember").getLength());
assertEquals(1, doc.getElementsByTagName("gml:featureMembers").getLength());
checkGU167775491110573732(doc);
checkGU16777549126930540(doc);
checkGU16777549126932776(doc);
// test many featureMember
wfs.setEncodeFeatureMember(true);
getGeoServer().save(wfs);
path = "wfs?request=GetFeature&typename=gsml:GeologicUnit&featureid=gsml.geologicunit.16777549126932776,gsml.geologicunit.167775491110573732,gsml.geologicunit.16777549126930540";
doc = getAsDOM(path);
LOGGER.info("WFS GetFeature&typename=gsml:GeologicUnit response:\n" + prettyString(doc));
checkSchemaLocation(doc);
assertXpathEvaluatesTo("3", "/wfs:FeatureCollection/@numberOfFeatures", doc);
assertXpathCount(3, "//gsml:GeologicUnit", doc);
assertEquals(3, doc.getElementsByTagName("gml:featureMember").getLength());
assertEquals(0, doc.getElementsByTagName("gml:featureMembers").getLength());
checkGU167775491110573732(doc);
checkGU16777549126930540(doc);
checkGU16777549126932776(doc);
wfs = getGeoServer().getService(WFSInfo.class);
wfs.setEncodeFeatureMember(encodeFeatureMember);
getGeoServer().save(wfs);
}