{
final Repository repository = uid.getRepository();
ResourceStoreRequest request;
final Collection<StorageItem> augmentedItems = new ArrayList<StorageItem>(items);
final LocalRepositoryStorage storage = repository.getLocalStorage();
try {
if ("/".equals(uid.getPath())) {
request = new ResourceStoreRequest(META_PATH);
if (!storage.containsItem(repository, request)) {
// need to create /.meta so we can safely traverse into it later on...
final StorageItem metaDir = new DefaultStorageCollectionItem(repository, request, true, true);
storage.storeItem(repository, metaDir);
augmentedItems.add(metaDir);
}
}
else if (META_PATH.equals(uid.getPath())) {
request = new ResourceStoreRequest(OBR_PATH);
if (!storage.containsItem(repository, request)) {
// add a temporary storage item to the list (don't actually store it)
final ContentLocator content = new StringContentLocator("<repository/>");
final StorageItem obrFile = new DefaultStorageFileItem(repository, request, true, true, content);
augmentedItems.add(obrFile);
}