private static final boolean checkTest(Number siteId) { final Map<String, Object> dbData = new HashMap<String, Object>(); System.out.println("Site id is " + siteId); try { gimmi.content.Site newSite = new gimmi.content.Site(SiteTest.db); ResultSet newSiteRS = newSite.getTable().find("site_id", siteId.toString()); if (newSiteRS.next()) { // simple types dbData.put("timestamp", newSiteRS.getString("crawl_time")); dbData.put("time", newSiteRS.getString("crawl_time")); dbData.put("url", newSiteRS.getString("url_path")); dbData.put("rootfile", newSiteRS.getString("root_file")); dbData.put("title", newSiteRS.getString("title")); dbData.put("storage", newSiteRS.getString("storage_path")); // referenced types Language language = new Language(SiteTest.db); dbData.put( "languagecode", language.getNameById("language_id", newSiteRS.getInt("language_id"))); Country country = new Country(SiteTest.db); dbData.put( "countrycode", country.getNameById("country_id", newSiteRS.getInt("country_id"))); // relation types SiteHasCategory siteCategory = new SiteHasCategory(SiteTest.db); ResultSet siteCategoryRS = siteCategory .getTable() .joinWithCondition( "category_id", new Category(SiteTest.db).getTable(), "category_id", siteCategory.getTable().getName() + ".site_id='" + siteId + "'"); if (siteCategoryRS.next()) { dbData.put("category", newSite.getCategoryNameById(siteId).toString()); } } } catch (Exception e) { Testing.err(e); } for (String setting : SiteTest.properties.keySet()) { String test = null; if (setting == "url") { try { test = (new URL(SiteTest.properties.get(setting).toString()).getPath()) .equals(dbData.get(setting)) ? "ok" : "fail?"; } catch (MalformedURLException e) { Testing.err(e); } } else if (setting == "timestamp") { // cut the hundreds - they aren't stored in the db String ts1 = SiteTest.properties.get(setting).toString(); ts1 = ts1.substring(0, ts1.lastIndexOf(".")); String ts2 = SiteTest.properties.get(setting).toString(); ts2 = ts2.substring(0, ts2.lastIndexOf(".")); test = ts1.equals(ts2) ? "ok" : "fail?"; } else if (setting == "storage") { String ts = SiteTest.properties.get(setting).toString(); // fix slashes like on add to db if (!ts.startsWith("/")) { ts = "/" + ts; } if (!ts.endsWith("/")) { ts = ts + "/"; } test = ts.equals(dbData.get(setting)) ? "ok" : "fail?"; } else { test = SiteTest.properties.get(setting).equals(dbData.get(setting)) ? "ok" : "fail?"; } System.out.printf( "%-15s: set['%-45s'] get['%-45s'] = %s\n", setting, SiteTest.properties.get(setting), dbData.get(setting), test); } return true; }