Debug.output("VPFLayer.LST: CAT discrepancy (run with -Ddbug.vpf for more details)");
Debug.output("VPFLayer.LST: CAT discrepancy (run with -Ddebug.vpf for more details)");
    public void addDataPath(String vpfpath) throws FormatException {	if (Debug.debugging("vpf")) {	    Debug.output("LST.addDataPath(" + vpfpath + ")");	}	// Figure out how files names should be constructed...	boolean addSlash = true;// 	if (vpfpath.endsWith(File.separator)) {	if (vpfpath.endsWith("/") || vpfpath.endsWith(File.separator)) {	    addSlash = false;	}	String latf = vpfpath + (addSlash?"/":"") + "lat";	String dhtf = vpfpath + (addSlash?"/":"") + "dht";	if (!BinaryFile.exists(latf)) {	    latf = latf + ".";	    dhtf = dhtf + ".";	}	DcwRecordFile latrf = new DcwRecordFile(latf);	DcwRecordFile dhtrf = new DcwRecordFile(dhtf);	List databaseVec = dhtrf.parseRow();	int dcol = dhtrf.whatColumn("database_name");	if (dcol != -1) {	    databaseName = (String)databaseVec.get(dcol);	}	dcol = dhtrf.whatColumn("database_desc");	if (dcol != -1) {	    databaseDesc = (String)databaseVec.get(dcol);	}	dhtrf.close();	dhtrf = null;		int latcols[] = latrf.lookupSchema(LATColumns, true,					   LATschematype,					   LATschemalength, false);	Debug.message("vpf", "lst.adp: looked up schema");	List l = new ArrayList(latrf.getColumnCount());	while (latrf.parseRow(l)) {	    String lname = ((String)l.get(latcols[0])).toLowerCase();	    float br[] = new float[] {		((Float)l.get(latcols[1])).floatValue(),		((Float)l.get(latcols[2])).floatValue(),		((Float)l.get(latcols[3])).floatValue(),		((Float)l.get(latcols[4])).floatValue()};	    try {	        CoverageAttributeTable table = new CoverageAttributeTable(vpfpath, lname);		CATs.put(lname, table);		boundrec.put(lname, br);		if (Debug.debugging("vpf")) {  		    Debug.output(lname + " "  + br[0] + " " + br[1] + " "				 + br[2] + " " + br[3]);		}	    } catch (FormatException fe) {		if (Debug.debugging("vpf")){		    Debug.output("*****\nVPFLayer.LST: Couldn't create CoverageAttributeTable for " + vpfpath + " " + lname + " " + fe.getMessage() + "\n--- Not a problem if you have multiple paths, and " + lname + " is included in another path ---\n*****");		    fe.printStackTrace();		} else {		    Debug.output("VPFLayer.LST: CAT discrepancy (run with -Ddbug.vpf for more details)");		}	    }	}	latrf.close();	latrf=null;    }