public Map listSets() throws NoSetHierarchyException, OAIInternalServerError { Hashtable setKeys = PropertiesManager.getInstance() .getPropertyStartingWith(Constants.getInstance().OAICAT_SETS); String[] keys = (String[]) setKeys.keySet().toArray(new String[0]); Vector<String> folderSets = getFolderSets(); if (keys.length == 0 && folderSets.size() == 0) { throw new NoSetHierarchyException(); } else { purge(); // clean out old resumptionTokens Map listSetsMap = new HashMap(); ArrayList sets = new ArrayList(); for (String key : keys) { String setSpec = key.replace(Constants.getInstance().OAICAT_SETS + ".", "") .replace("." + Constants.getInstance().OAICAT_SETS_ID, ""); sets.add(getSetXMLRepository(PropertiesManager.getInstance().getProperty(key), setSpec)); } for (String folderString : folderSets) { sets.add(getSetXML(folderString)); } listSetsMap.put("sets", sets.iterator()); return listSetsMap; } }
public FileSystemLomCatalog(Properties properties) { String maxListSize = properties.getProperty(Constants.getInstance().OAICAT_SERVER_CATALOG_MAXLSTSIZE); if (maxListSize == null) { throw new IllegalArgumentException( Constants.getInstance().OAICAT_SERVER_CATALOG_MAXLSTSIZE + " is missing from the properties file"); } else { FileSystemLomCatalog.maxListSize = Integer.parseInt(maxListSize); } String basePath = properties.getProperty(Constants.getInstance().OAICAT_SERVER_CATALOG_FS_DIR); if (basePath == null) { throw new IllegalArgumentException( Constants.getInstance().OAICAT_SERVER_CATALOG_MAXLSTSIZE + " is missing from the properties file"); } else { FileSystemLomCatalog.basePath = basePath; } String ext = properties.getProperty(Constants.getInstance().OAICAT_SERVER_CATALOG_FS_EXT); if (ext == null) { throw new IllegalArgumentException( Constants.getInstance().OAICAT_SERVER_CATALOG_FS_EXT + " is missing from the properties file"); } else { FileSystemLomCatalog.ext = ext; } String showCount = properties.getProperty(Constants.getInstance().OAICAT_SERVER_CATALOG_SHOW_COUNT); if (showCount == null) { showCount = "false"; } FileSystemLomCatalog.showCount = new Boolean(showCount).booleanValue(); try { Hashtable setKeys = PropertiesManager.getInstance() .getPropertyStartingWith(Constants.getInstance().OAICAT_SETS); String[] keys = (String[]) setKeys.keySet().toArray(new String[0]); String reposIdentifier = ""; for (String key : keys) { String setSpec = key.replace(Constants.getInstance().OAICAT_SETS + ".", "") .replace("." + Constants.getInstance().OAICAT_SETS_ID, ""); reposIdentifier = PropertiesManager.getInstance().getProperty(key); sets.put(setSpec, reposIdentifier); } } catch (Exception e) { // NOOP } }