/* * (non-Javadoc) * * @see org.abstracthorizon.proximity.storage.Storage#retrieveItem(java.lang.String, boolean) */ public Item retrieveItem(String path, boolean propsOnly) throws ItemNotFoundException, StorageException { logger.debug("Retrieving {} from storage directory {}", path, getStorageBaseDir()); try { ItemProperties properties = loadItemProperties(path); Item result = new Item(); result.setProperties(properties); if (!propsOnly) { File target = new File(getStorageBaseDir(), path); if (target.isFile()) { result.setStream(new LazyFileInputStream(target)); properties.setSize(target.length()); properties.setLastModified(new Date(target.lastModified())); } } return result; } catch (FileNotFoundException ex) { throw new ItemNotFoundException( "FileNotFound in FS storage [" + getStorageBaseDir() + "] for path [" + path + "]"); } }