private boolean uploadTestrig(String fileOrDir, String testrigName, boolean autoAnalyze) { Path initialUploadTarget = Paths.get(fileOrDir); Path uploadTarget = initialUploadTarget; boolean createZip = Files.isDirectory(initialUploadTarget); if (createZip) { uploadTarget = CommonUtil.createTempFile("testrig", "zip"); ZipUtility.zipFiles(initialUploadTarget.toAbsolutePath(), uploadTarget.toAbsolutePath()); } try { boolean result = _workHelper.uploadSnapshot( _currContainerName, testrigName, uploadTarget.toString(), autoAnalyze); return result; } finally { if (createZip) { CommonUtil.delete(uploadTarget); } } }
@Nullable @Deprecated public Path getTestrigObject(String networkName, String testrigName, String objectName) { Path testrigDir = getdirSnapshot(networkName, testrigName); Path file = testrigDir.resolve(Paths.get(BfConsts.RELPATH_OUTPUT, objectName)); /* * Check if we got an object name outside of the testrig folder, perhaps because of ".." in the * name; disallow it */ if (!CommonUtil.getCanonicalPath(file).startsWith(CommonUtil.getCanonicalPath(testrigDir))) { throw new BatfishException("Illegal object name: '" + objectName + "'"); } // Check in output then input directories for backward compatibility // Since inputs and outputs used to be stored together, in the testrig dir if (!file.toFile().exists()) { file = testrigDir.resolve(Paths.get(BfConsts.RELPATH_INPUT, objectName)); } if (Files.isRegularFile(file)) { return file; } else if (Files.isDirectory(file)) { Path zipfile = Paths.get(file + ".zip"); if (Files.exists(zipfile)) { CommonUtil.deleteIfExists(zipfile); } ZipUtility.zipFiles(file, zipfile); // TODO: delete the zipfile return zipfile; } return null; }
/** Creates a snapshot zip with the specified config and returns the path to that zip */ public static Path createSnapshotZip( String snapshot, String fileName, String content, TemporaryFolder folder) { Path tmpSnapshotSrcDir = createSnapshot(snapshot, fileName, content, folder); Path tmpSnapshotZip = tmpSnapshotSrcDir.resolve(String.format("%s.zip", snapshot)); ZipUtility.zipFiles(tmpSnapshotSrcDir.resolve(snapshot), tmpSnapshotZip); return tmpSnapshotZip; } }