@Override public ResourceId apply(ResourceId tempDirectory) { // Temp directory has a timestamp and a unique ID String tempDirName = String.format(TEMP_DIRECTORY_PREFIX + "-%s-%s", timestamp, tempId); return tempDirectory .getCurrentDirectory() .resolve(tempDirName, StandardResolveOptions.RESOLVE_DIRECTORY); } }
/** Constructs a temporary file resource given the temporary directory and a filename. */ @Experimental(Kind.FILESYSTEM) protected static ResourceId buildTemporaryFilename(ResourceId tempDirectory, String filename) throws IOException { return tempDirectory.resolve(filename, StandardResolveOptions.RESOLVE_FILE); }
static String resolveTempLocation( String tempLocationDir, String bigQueryOperationName, String stepUuid) { return FileSystems.matchNewResource(tempLocationDir, true) .resolve(bigQueryOperationName, ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY) .resolve(stepUuid, ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY) .toString(); } }
public static ResourceId getFileResourceId(String directory, String fileName) { ResourceId resourceID = FileSystems.matchNewResource(directory, true); return resourceID.getCurrentDirectory().resolve(fileName, StandardResolveOptions.RESOLVE_FILE); }
@Override public ResourceId get() { return destinationPath.get().resolve(filenamePrefix.get(), StandardResolveOptions.RESOLVE_FILE); }
private ResourceId getBaseOutputDirectory() { String baseOutputDirname = "output"; return getTemporaryFolder() .resolve(baseOutputDirname, StandardResolveOptions.RESOLVE_DIRECTORY); }
@Override public FilenamePolicy getFilenamePolicy(Integer destination) { return new PerWindowFiles( baseOutputDirectory.resolve("file_" + destination, StandardResolveOptions.RESOLVE_FILE), "simple"); } }
private ResourceId getBaseTempDirectory() { return getTemporaryFolder() .resolve(tempDirectoryName, StandardResolveOptions.RESOLVE_DIRECTORY); }
public static FileNaming relativeFileNaming( final ValueProvider<String> baseDirectory, final FileNaming innerNaming) { return (window, pane, numShards, shardIndex, compression) -> FileSystems.matchNewResource(baseDirectory.get(), true /* isDirectory */) .resolve( innerNaming.getFilename(window, pane, numShards, shardIndex, compression), RESOLVE_FILE) .toString(); }
@Override public DefaultFilenamePolicy.Params apply(UserWriteType input) { return new DefaultFilenamePolicy.Params() .withBaseFilename( baseDir.resolve( "file_" + input.destination.substring(0, 1) + ".txt", ResolveOptions.StandardResolveOptions.RESOLVE_FILE)); } }
@Override public FilenamePolicy getFilenamePolicy(String destination) { return DefaultFilenamePolicy.fromStandardParameters( StaticValueProvider.of(baseDir.resolve("file_" + destination, RESOLVE_FILE)), "-SSSSS-of-NNNNN", ".avro", false); } }
@Override public FileBasedSink.FilenamePolicy getFilenamePolicy(String destination) { return DefaultFilenamePolicy.fromStandardParameters( ValueProvider.StaticValueProvider.of( baseDir.resolve( "file_" + destination + ".txt", ResolveOptions.StandardResolveOptions.RESOLVE_FILE)), null, null, false); } }
private ResourceId getBaseOutputDirectory() { return LocalResources.fromFile(tmpFolder.getRoot(), true) .resolve("output", StandardResolveOptions.RESOLVE_DIRECTORY); }
private String getBaseOutputFilename() { return getBaseOutputDirectory().resolve("file", StandardResolveOptions.RESOLVE_FILE).toString(); }
@Before public void setup() throws IOException { filePattern = LocalResources.fromFile(tmpFolder.getRoot(), true) .resolve("*", StandardResolveOptions.RESOLVE_FILE) .toString(); }
@Before public void setup() throws IOException { filePattern = LocalResources.fromFile(tmpFolder.getRoot(), true) .resolve("*", StandardResolveOptions.RESOLVE_FILE) .toString(); }
private SimpleSink<Void> makeSimpleSink() { FilenamePolicy filenamePolicy = new PerWindowFiles( getBaseOutputDirectory().resolve("file", StandardResolveOptions.RESOLVE_FILE), "simple"); return SimpleSink.makeSimpleSink(getBaseOutputDirectory(), filenamePolicy); }
@Test public void testPackageUploadIsSkippedWithNonExistentResource() throws Exception { String nonExistentFile = FileSystems.matchNewResource(tmpFolder.getRoot().getPath(), true) .resolve("non-existent-file", StandardResolveOptions.RESOLVE_FILE) .toString(); assertEquals( Collections.EMPTY_LIST, defaultPackageUtil.stageClasspathElements( ImmutableList.of(nonExistentFile), STAGING_PATH, createOptions)); }
@Test public void testResolveInvalidNotDirectory() throws Exception { ResourceId tmpDir = toResourceIdentifier("gs://my_bucket/") .resolve("tmp dir", StandardResolveOptions.RESOLVE_FILE); thrown.expect(IllegalStateException.class); thrown.expectMessage("Expected the gcsPath is a directory, but had [gs://my_bucket/tmp dir]."); tmpDir.resolve("aa", StandardResolveOptions.RESOLVE_FILE); }
@Test public void testResolveInvalidNotDirectory() throws Exception { ResourceId tmp = toResourceIdentifier("/root/").resolve("tmp", StandardResolveOptions.RESOLVE_FILE); thrown.expect(IllegalStateException.class); thrown.expectMessage("Expected the path is a directory, but had [/root/tmp]."); tmp.resolve("aa", StandardResolveOptions.RESOLVE_FILE); }