@Override public boolean renameTo(Resource dest) { if (dest instanceof FileSystemResourceStore.FileSystemResource) { return file.renameTo(((FileSystemResourceStore.FileSystemResource) dest).file); } else if (dest instanceof ResourceAdaptor) { return file.renameTo(((ResourceAdaptor) dest).file); } else { return Resources.renameByCopy(this, dest); } }
@Override public boolean renameTo(Resource dest) { if (dest.parent().path().contains(path())) { LOGGER.log(Level.FINE, "Cannot rename a resource to a descendant of itself"); return false; } try { if (dest instanceof FileSystemResource) { rename(file, ((FileSystemResource) dest).file); } else if (dest instanceof Files.ResourceAdaptor) { rename(file, ((Files.ResourceAdaptor) dest).file); } else { return Resources.renameByCopy(this, dest); } } catch (IOException e) { LOGGER.log( Level.WARNING, "Failed to rename file resource " + path + " to " + dest.path(), e); return false; } return true; }
@Override public boolean renameTo(Resource dest) { List<ResourceNotification.Event> eventsDelete = SimpleResourceNotificationDispatcher.createEvents( this, ResourceNotification.Kind.ENTRY_DELETE); List<ResourceNotification.Event> eventsRename = SimpleResourceNotificationDispatcher.createRenameEvents(this, dest); boolean result; if (dest instanceof JDBCResource) { result = entry.renameTo(((JDBCResource) dest).entry); } else { result = Resources.renameByCopy(this, dest); } if (result) { resourceNotificationDispatcher.changed( new ResourceNotification( path(), ResourceNotification.Kind.ENTRY_DELETE, System.currentTimeMillis(), eventsDelete)); resourceNotificationDispatcher.changed( new ResourceNotification( path(), eventsRename.get(0).getKind(), System.currentTimeMillis(), eventsRename)); } return result; }