@Override public File getFile(final IResourceReference resourceReference) throws URISyntaxException { return ResourceReferenceUtilities.getFile(resourceReference); }
@Override public boolean isFileSystemResource(final IResourceReference resourceReference) { return ResourceReferenceUtilities.isFileSystemResource(resourceReference); }
@Override public String toString(final IResourceReference resourceReference) { return ResourceReferenceUtilities.toString(resourceReference); }
private boolean isAccepted(final ImageFileFilter fileFilter, final IResourceReference imageFile) { try { if (ResourceReferenceUtilities.isFileSystemResource(imageFile)) { final File file = ResourceReferenceUtilities.getFile(imageFile); return file != null && file.isFile() && fileFilter.accept(file); } return imageFile != null; } catch (final URISyntaxException exception) { return false; } }
@Override public URI getUri(final IResourceReference resourceReference) throws URISyntaxException { return ResourceReferenceUtilities.getUri(resourceReference); }
@Override public String getExtension(final IResourceReference resourceReference) { if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return getExtension(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) { // nothing to do } } return ResourceReferenceUtilities.getExtension(resourceReference); }
@Override public Path getPath(final IResourceReference resourceReference) throws URISyntaxException { return ResourceReferenceUtilities.getPath(resourceReference); }
@Override public boolean isMemoryResource(final IResourceReference resourceReference) { return ResourceReferenceUtilities.isMemoryResource(resourceReference); }
@Override public URL getUrl(final IResourceReference resourceReference) throws MalformedURLException { return ResourceReferenceUtilities.getUrl(resourceReference); }
@Override public IResourceReference restore(final IResourceReference resourceReference) throws IOException { try { if (!ResourceReferenceUtilities.isFileSystemResource(resourceReference)) { throw new IOException("Unsupported resource"); //$NON-NLS-1$ } final File file = ResourceReferenceUtilities.getFile(resourceReference); final File backup = new File(file.getPath() + "~"); //$NON-NLS-1$ if (backup.exists()) { Files.copy(backup.toPath(), file.toPath(), StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE); if (!file.exists()) { throw new IOException("Coudn't restore file " + file); //$NON-NLS-1$ } return new ResourceReferenceFactory().create(backup); } return null; } catch (final URISyntaxException exception) { throw new IOException(exception.getLocalizedMessage(), exception); } } }
@Override public URI getUri(final IResourceReference resourceReference) throws URISyntaxException { return ResourceReferenceUtilities.getUri(resourceReference); }
@Override public String getExtension(final IResourceReference resourceReference) { if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return getExtension(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) { // nothing to do } } return ResourceReferenceUtilities.getExtension(resourceReference); }
@Override public Path getPath(final IResourceReference resourceReference) throws URISyntaxException { return ResourceReferenceUtilities.getPath(resourceReference); }
@Override public boolean isMemoryResource(final IResourceReference resourceReference) { return ResourceReferenceUtilities.isMemoryResource(resourceReference); }
@Override public URL getUrl(final IResourceReference resourceReference) throws MalformedURLException { return ResourceReferenceUtilities.getUrl(resourceReference); }
@Override public IResourceReference restore(final IResourceReference resourceReference) throws IOException { try { if (!ResourceReferenceUtilities.isFileSystemResource(resourceReference)) { throw new IOException("Unsupported resource"); //$NON-NLS-1$ } final File file = ResourceReferenceUtilities.getFile(resourceReference); final File backup = new File(file.getPath() + "~"); //$NON-NLS-1$ if (backup.exists()) { Files.copy(backup.toPath(), file.toPath(), StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE); if (!file.exists()) { throw new IOException("Coudn't restore file " + file); //$NON-NLS-1$ } return new ResourceReferenceFactory().create(backup); } return null; } catch (final URISyntaxException exception) { throw new IOException(exception.getLocalizedMessage(), exception); } } }
@Override public String toString(final IResourceReference resourceReference) { return ResourceReferenceUtilities.toString(resourceReference); }
@Override public boolean isFileSystemResource(final IResourceReference resourceReference) { return ResourceReferenceUtilities.isFileSystemResource(resourceReference); }
@Override public File getFile(final IResourceReference resourceReference) throws URISyntaxException { return ResourceReferenceUtilities.getFile(resourceReference); }
private byte[] read(final IResourceReference resourceReference) { if (resourceReference == null) { final String message = "Error loading text resource, resource value is not defined"; //$NON-NLS-1$ logger.log(ILevel.ERROR, message); throw new RuntimeException(message); } try (InputStream input = this.resourceReferenceHandler.openInputStream(resourceReference);) { return read(input); } catch (final Exception e) { final String message = MessageFormat .format("Error loading text resource ''{0}''", ResourceReferenceUtilities.toString(resourceReference)); //$NON-NLS-1$ logger.log(ILevel.ERROR, message, e); throw new RuntimeException(message, e); } }