list.addElement("Feature Class Schema: " + fcsURL);
CoverageTable ct = cat.getCoverageTable(covname);
// CoverageTable opens alot of files, go through and close
// them
for (Iterator i = ct.getFeatureClasses().values().iterator(); i.hasNext();) {
FeatureClassInfo fci = (FeatureClassInfo) i.next();
fci.close();
}
Map ftypeinfo = new TreeMap(ct.getFeatureTypeInfo());
if (ftypeinfo.size() == 0) {
list.addElement("No Feature Types in FCA");
} else {
HtmlListElement flist = new HtmlListElement("Feature Types (from "
+ buildURL(request, response, pathPrefix, "fca") + ")");
list.addElement(flist);
for (Iterator i = ftypeinfo.values().iterator(); i.hasNext();) {
CoverageTable.FeatureClassRec fcr = (CoverageTable.FeatureClassRec) i.next();
String name = fcr.feature_class.toLowerCase();
// char t = fcr.type;
String desc = fcr.description;
String tstring = "[unknown] ";
String suffix = "";
switch (fcr.type) {
case CoverageTable.TEXT_FEATURETYPE:
tstring = "[text feature] ";
suffix = ".tft";
break;
case CoverageTable.EDGE_FEATURETYPE:
tstring = "[edge feature] ";
suffix = ".lft";
break;
case CoverageTable.AREA_FEATURETYPE:
tstring = "[area feature] ";
suffix = ".aft";
break;
case CoverageTable.UPOINT_FEATURETYPE:
FeatureClassInfo fci = ct.getFeatureClassInfo(name);
char type = (fci != null) ? fci.getFeatureType()
: CoverageTable.SKIP_FEATURETYPE;
if (type == CoverageTable.EPOINT_FEATURETYPE) {
tstring = "[entity point feature] ";
} else if (type == CoverageTable.CPOINT_FEATURETYPE) {
tstring = "[connected point feature] ";