created = file.mkdir(); } finally { lock.release();
created = file.createNewFile(); } finally { lock.release();
memoryLock.release();
@Override public boolean delete() { List<Lock> locks = new ArrayList<Lock>(); lockRecursively(locks); try { List<ResourceNotification.Event> events = SimpleResourceNotificationDispatcher.createEvents( this, ResourceNotification.Kind.ENTRY_DELETE); if (entry.delete()) { resourceNotificationDispatcher.changed( new ResourceNotification( path(), ResourceNotification.Kind.ENTRY_DELETE, System.currentTimeMillis(), events)); return true; } else { return false; } } finally { for (Lock lock : locks) { lock.release(); } } }
@Override public void close() throws IOException { final Lock lock = lock(); try { List<ResourceNotification.Event> events = SimpleResourceNotificationDispatcher.createEvents( JDBCResource.this, ResourceNotification.Kind.ENTRY_MODIFY); entry.setContent(new FileInputStream(tempFile)); resourceNotificationDispatcher.changed( new ResourceNotification( path(), ResourceNotification.Kind.ENTRY_MODIFY, System.currentTimeMillis(), events)); } finally { lock.release(); } } }
@Override public File dir() { if (getType() == Type.RESOURCE) { throw new IllegalStateException("File (not a directory)"); } final Lock lock = lock(); try { return cache.cache(this, true); } catch (IOException ex) { throw new IllegalStateException(ex); } finally { lock.release(); } }
@Override public File file() { if (getType() == Type.DIRECTORY) { throw new IllegalStateException("Directory (not a file)"); } final Lock lock = lock(); try { return cache.cache(this, false); } catch (IOException ex) { throw new IllegalStateException(ex); } finally { lock.release(); } }
@Override public InputStream in() { final Lock lock = lock(); try { entry.createResource(); return getIStream(); } finally { lock.release(); } }
@Override public void release() throws GeoWebCacheException { try { lock.release(); } catch (IllegalArgumentException trouble) { throw new GeoWebCacheException(trouble); } }
if (currLock != null) { currLock.release(); memoryLock.release();
lock.release(); throw new IllegalStateException("File not found " + actualFile, e);
@Override public void close() throws IOException { delegate.close(); // if already closed, there should be no exception (see spec Closeable) if (temp.exists()) { Lock lock = lock(); try { // no errors, overwrite the original file Files.move(temp, actualFile); } finally { lock.release(); } } }
@Override public boolean delete() { Lock lock = lock(); try { return Files.delete(file); } finally { lock.release(); } }
@Override public void close() throws IOException { closed = true; super.close(); lock.release(); }