/** * Creates an S-RAMP archive from an existing archive file. * @param file * @throws SrampArchiveException */ public SrampArchive(File file) throws SrampArchiveException { this(); this.originalFile = file; this.shouldDeleteOriginalFile = false; try { ArchiveUtils.unpackToWorkDir(this.originalFile, this.workDir); } catch (IOException e) { if (this.workDir != null) { try { FileUtils.deleteDirectory(this.workDir); } catch (IOException e1) { } } throw new SrampArchiveException(Messages.i18n.format("FAILED_TO_UNPACK_ARCHIVE_TO_WORK_DIR"), e); //$NON-NLS-1$ } }
/** * Creates an S-RAMP archive from an {@link InputStream}. This will consume and close the * {@link InputStream}, creating a temporary local file that will be used as the basis for * the archive input. * @param input * @throws SrampArchiveException */ public SrampArchive(InputStream input) throws SrampArchiveException { this(); this.originalFile = null; this.shouldDeleteOriginalFile = true; try { this.originalFile = File.createTempFile("s-ramp-archive", ".zip"); //$NON-NLS-1$ //$NON-NLS-2$ copyZipStream(input, this.originalFile); ArchiveUtils.unpackToWorkDir(this.originalFile, this.workDir); } catch (IOException e) { if (this.workDir != null) { try { FileUtils.deleteDirectory(this.workDir); } catch (IOException e1) { } } if (this.originalFile != null && this.originalFile.exists()) { this.originalFile.delete(); } throw new SrampArchiveException(Messages.i18n.format("FAILED_TO_UNPACK_ARCHIVE_TO_WORK_DIR"), e); //$NON-NLS-1$ } }
/** * Constructor from JAR input stream. Note, this will consume and close the given {@link InputStream}. * @param jarStream * @throws ZipToSrampArchiveException */ public ZipToSrampArchive(InputStream jarStream) throws ZipToSrampArchiveException { this.originalJar = null; this.shouldDeleteOriginalJar = true; this.jarWorkDir = null; try { this.originalJar = File.createTempFile("j2sramp", ".jar"); //$NON-NLS-1$ //$NON-NLS-2$ copyJarStream(jarStream, this.originalJar); jarWorkDir = createJarWorkDir(); ArchiveUtils.unpackToWorkDir(this.originalJar, this.jarWorkDir); context = new ZipToSrampArchiveContext(this.jarWorkDir); } catch (IOException e) { if (this.jarWorkDir != null) { try { FileUtils.deleteDirectory(this.jarWorkDir); } catch (IOException e1) { } } if (this.originalJar != null && this.originalJar.exists()) { this.originalJar.delete(); } throw new ZipToSrampArchiveException(e); } }
/** * Constructor. * @param jar * @throws ZipToSrampArchiveException */ public ZipToSrampArchive(File jar) throws ZipToSrampArchiveException { this.originalJar = jar; this.shouldDeleteOriginalJar = false; this.jarWorkDir = null; try { jarWorkDir = createJarWorkDir(); ArchiveUtils.unpackToWorkDir(this.originalJar, this.jarWorkDir); context = new ZipToSrampArchiveContext(this.jarWorkDir); } catch (IOException e) { if (this.jarWorkDir != null) { try { FileUtils.deleteDirectory(this.jarWorkDir); } catch (IOException e1) { } } throw new ZipToSrampArchiveException(e); } }