@Override public String getMimeType(Object value, Operation operation) throws ServiceException { return getOutputFormat(); } }
JSONType.useJsonp(getMimeType(featureTypeInfos, describeFeatureType)); if (jsonp) { outWriter.write(getCallbackFunction() + "("); if (ad == schema.getGeometryDescriptor()) { describeProperty(ad.getLocalName(), ad, jw, true); } else { describeProperty(ad.getLocalName(), ad, jw, false);
private static void describeProperty( String name, AttributeDescriptor ad, GeoJSONBuilder jw, boolean isGeometry) { jw.object(); jw.key("name").value(name); jw.key("maxOccurs").value(ad.getMaxOccurs()); jw.key("minOccurs").value(ad.getMinOccurs()); jw.key("nillable").value((ad.getMinOccurs() > 0) ? false : true); Class<?> binding = ad.getType().getBinding(); if (isGeometry) { jw.key("type").value("gml:" + mapToJsonType(binding)); } else { jw.key("type").value("xsd:" + mapToJsonType(binding)); } jw.key("localType").value(mapToJsonType(binding)); jw.endObject(); // end of attribute description }