diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-05-28 10:31:23 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-05-28 10:31:23 +0200 |
commit | 232d8d90bf375f8e70c80234241c1694dd3f5660 (patch) | |
tree | 0917141ab975cf8814dd7a1da8aa78989d068623 | |
parent | 094c120148fe1bfe64bd8f866ac2c2598ec60468 (diff) |
Use java Files class for creating temp dir
14 files changed, 68 insertions, 46 deletions
diff --git a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationFileTest.java b/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationFileTest.java index 201066179d1..a2caaafe968 100644 --- a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationFileTest.java +++ b/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationFileTest.java @@ -11,7 +11,6 @@ import java.io.File; /** * @author Ulf Lilleengen - * @since 5.1 */ public class FilesApplicationFileTest extends ApplicationFileTest { diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/ApplicationFileTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/ApplicationFileTest.java index b7ae6d9dcdf..5b0b11b88b7 100644 --- a/config-model-api/src/test/java/com/yahoo/config/application/api/ApplicationFileTest.java +++ b/config-model-api/src/test/java/com/yahoo/config/application/api/ApplicationFileTest.java @@ -6,16 +6,25 @@ import com.yahoo.path.Path; import com.yahoo.vespa.config.util.ConfigUtils; import org.junit.Test; -import java.io.*; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.StringReader; import java.util.List; import static org.hamcrest.core.Is.is; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; /** * @author Ulf Lilleengen */ public abstract class ApplicationFileTest { + protected void writeAppTo(File destFolder) throws IOException { createFiles(destFolder, "vespa-services.xml", "vespa-hosts.xml"); createFolders(destFolder, "searchdefinitions", "components", "files", "templates"); @@ -34,7 +43,7 @@ public abstract class ApplicationFileTest { private void createFiles(File destFolder, String ... names) throws IOException { for (String name : names) { File f = new File(destFolder, name); - f.createNewFile(); + assertTrue(f.createNewFile()); IOUtils.writeFile(f, "foo", false); } } @@ -61,11 +70,11 @@ public abstract class ApplicationFileTest { ApplicationFile f1 = getApplicationFile(p1); ApplicationFile f2 = getApplicationFile(p2); - assertTrue(f1.equals(f1)); - assertFalse(f1.equals(f2)); + assertEquals(f1, f1); + assertNotEquals(f1, f2); - assertFalse(f2.equals(f1)); - assertTrue(f2.equals(f2)); + assertNotEquals(f2, f1); + assertEquals(f2, f2); } @Test @@ -315,4 +324,5 @@ public abstract class ApplicationFileTest { } public abstract ApplicationFile getApplicationFile(Path path) throws Exception; + } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java index fe2707ce3f4..051a2b13d38 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server; -import com.google.common.io.Files; import com.google.inject.Inject; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.component.Version; @@ -70,6 +69,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.UncheckedIOException; import java.net.URI; +import java.nio.file.Files; import java.nio.file.attribute.BasicFileAttributes; import java.time.Clock; import java.time.Duration; @@ -90,6 +90,7 @@ import static com.yahoo.config.model.api.container.ContainerServiceType.CLUSTERC import static com.yahoo.config.model.api.container.ContainerServiceType.CONTAINER; import static com.yahoo.config.model.api.container.ContainerServiceType.LOGSERVER_CONTAINER; import static com.yahoo.vespa.config.server.tenant.TenantRepository.HOSTED_VESPA_TENANT; +import static com.yahoo.yolean.Exceptions.uncheck; import static java.nio.file.Files.readAttributes; /** @@ -235,7 +236,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye public PrepareResult deploy(CompressedApplicationInputStream in, PrepareParams prepareParams, boolean ignoreSessionStaleFailure, Instant now) { - File tempDir = Files.createTempDir(); + File tempDir = uncheck(() -> Files.createTempDirectory("deploy")).toFile(); PrepareResult prepareResult; try { prepareResult = deploy(decompressApplication(in, tempDir), prepareParams, ignoreSessionStaleFailure, now); @@ -656,7 +657,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye } public long createSession(ApplicationId applicationId, TimeoutBudget timeoutBudget, InputStream in, String contentType) { - File tempDir = Files.createTempDir(); + File tempDir = uncheck(() -> Files.createTempDirectory("deploy")).toFile(); long sessionId; try { sessionId = createSession(applicationId, timeoutBudget, decompressApplication(in, contentType, tempDir)); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java index eeb4d31fe12..dae5c6aecef 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java @@ -2,7 +2,11 @@ package com.yahoo.vespa.config.server.application; import com.google.common.io.ByteStreams; -import com.google.common.io.Files; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.logging.Level; import com.yahoo.vespa.config.server.http.BadRequestException; import com.yahoo.vespa.config.server.http.InternalServerException; @@ -12,10 +16,11 @@ import org.apache.commons.compress.archivers.ArchiveInputStream; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; -import java.io.*; import java.util.logging.Logger; import java.util.zip.GZIPInputStream; +import static com.yahoo.yolean.Exceptions.uncheck; + /** * A compressed application points to an application package that can be decompressed. * @@ -74,7 +79,7 @@ public class CompressedApplicationInputStream implements AutoCloseable { } File decompress() throws IOException { - return decompress(Files.createTempDir()); + return decompress(uncheck(() -> java.nio.file.Files.createTempDirectory("decompress")).toFile()); } public File decompress(File dir) throws IOException { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java index 9f65c0e3c6e..ab7509a49aa 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java @@ -1,9 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - package com.yahoo.vespa.config.server.filedistribution; import com.yahoo.config.FileReference; -import com.yahoo.config.model.api.FileDistribution; import com.yahoo.io.IOUtils; import java.util.logging.Level; import com.yahoo.text.Utf8; diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java index fb4445b0f02..250548d5e91 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java @@ -38,7 +38,7 @@ public class SessionsMaintainer extends ConfigServerMaintainer { if (hostedVespa) { Duration expiryTime = Duration.ofDays(expiryTimeFlag.value()); int deleted = applicationRepository.deleteExpiredRemoteSessions(expiryTime); - log.log(LogLevel.INFO, "Deleted " + deleted + " expired remote sessions, expiry time " + expiryTime); + log.log(LogLevel.FINE, "Deleted " + deleted + " expired remote sessions, expiry time " + expiryTime); } } } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java index 6a56be89c6a..93e6c83fe5b 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java @@ -20,7 +20,6 @@ import java.util.logging.Logger; public class RemoteSessionStateWatcher { private static final Logger log = Logger.getLogger(RemoteSessionStateWatcher.class.getName()); - // One thread pool for all instances of this class private final Curator.FileCache fileCache; private final ReloadHandler reloadHandler; diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java index f26fa05baf8..ba035ceec59 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java @@ -1,7 +1,6 @@ // Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server; -import com.google.common.io.Files; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.config.application.api.ApplicationMetaData; import com.yahoo.config.model.api.ApplicationRoles; @@ -118,7 +117,7 @@ public class ApplicationRepositoryTest { Tenant tenant = tenantRepository.getTenant(tenantName); LocalSession session = tenant.getLocalSessionRepo().getSession(tenant.getApplicationRepo() .requireActiveSessionOf(applicationId())); - AllocatedHosts a = session.getAllocatedHosts(); + session.getAllocatedHosts(); } @Test @@ -306,12 +305,12 @@ public class ApplicationRepositoryTest { } @Test - public void testDeletingInactiveSessions() { + public void testDeletingInactiveSessions() throws IOException { ManualClock clock = new ManualClock(Instant.now()); ConfigserverConfig configserverConfig = new ConfigserverConfig(new ConfigserverConfig.Builder() - .configServerDBDir(Files.createTempDir().getAbsolutePath()) - .configDefinitionsDir(Files.createTempDir().getAbsolutePath()) + .configServerDBDir(temporaryFolder.newFolder("serverdb").getAbsolutePath()) + .configDefinitionsDir(temporaryFolder.newFolder("configdefinitions").getAbsolutePath()) .sessionLifetime(60)); DeployTester tester = new DeployTester(configserverConfig, clock); tester.deployApp("src/test/apps/app", clock.instant()); // session 2 (numbering starts at 2) diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java index d73dc7c8a35..b3dca7c73f3 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server; -import com.google.common.io.Files; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.concurrent.InThreadExecutorService; import com.yahoo.concurrent.StripedExecutor; @@ -29,11 +28,13 @@ import com.yahoo.vespa.flags.FlagSource; import com.yahoo.vespa.flags.InMemoryFlagSource; import com.yahoo.vespa.model.VespaModelFactory; +import java.nio.file.Files; import java.time.Clock; import java.util.Collections; import java.util.Optional; import java.util.concurrent.ExecutorService; +import static com.yahoo.yolean.Exceptions.uncheck; /** * @author Ulf Lilleengen @@ -101,9 +102,9 @@ public class TestComponentRegistry implements GlobalComponentRegistry { private Metrics metrics = Metrics.createTestMetrics(); private ConfigserverConfig configserverConfig = new ConfigserverConfig( new ConfigserverConfig.Builder() - .configServerDBDir(Files.createTempDir().getAbsolutePath()) - .sessionLifetime(5) - .configDefinitionsDir(Files.createTempDir().getAbsolutePath())); + .configServerDBDir(uncheck(() -> Files.createTempDirectory("serverdb")).toString()) + .configDefinitionsDir(uncheck(() -> Files.createTempDirectory("configdefinitions")).toString()) + .sessionLifetime(5)); private ConfigDefinitionRepo defRepo = new StaticConfigDefinitionRepo(); private TenantRequestHandlerTest.MockReloadListener reloadListener = new TenantRequestHandlerTest.MockReloadListener(); private MockTenantListener tenantListener = new MockTenantListener(); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java index 06db7018727..b2091d6e537 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.deploy; -import com.google.common.io.Files; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.ConfigModelRegistry; @@ -48,6 +47,7 @@ import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.VespaModelFactory; import java.io.File; +import java.nio.file.Files; import java.time.Clock; import java.time.Duration; import java.time.Instant; @@ -59,6 +59,8 @@ import java.util.Collections; import java.util.List; import java.util.Optional; +import static com.yahoo.yolean.Exceptions.uncheck; + /** * @author bratseth */ @@ -78,8 +80,8 @@ public class DeployTester { public DeployTester(List<ModelFactory> modelFactories) { this(modelFactories, new ConfigserverConfig(new ConfigserverConfig.Builder() - .configServerDBDir(Files.createTempDir().getAbsolutePath()) - .configDefinitionsDir(Files.createTempDir().getAbsolutePath())), + .configServerDBDir(uncheck(() -> Files.createTempDirectory("serverdb")).toString()) + .configDefinitionsDir(uncheck(() -> Files.createTempDirectory("configdefinitions")).toString())), Clock.systemUTC()); } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java index d67f1547ac4..ed4ed1890d7 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.http; -import com.google.common.io.Files; import com.yahoo.config.application.api.ApplicationFile; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.application.api.DeployLogger; @@ -18,7 +17,6 @@ import com.yahoo.config.provision.TenantName; import com.yahoo.container.jdisc.HttpRequest; import com.yahoo.container.jdisc.HttpResponse; import com.yahoo.io.IOUtils; -import java.util.logging.Level; import com.yahoo.path.Path; import com.yahoo.transaction.NestedTransaction; import com.yahoo.transaction.Transaction; @@ -40,11 +38,15 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.time.Instant; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.logging.Level; + +import static com.yahoo.yolean.Exceptions.uncheck; /** * Base class for session handler tests @@ -112,11 +114,6 @@ public class SessionHandlerTest { super(TenantName.defaultName(), id, null, new SessionContext(app, new MockSessionZKClient(app), null, null, new HostRegistry<>(), flagSource)); } - public MockSession(long sessionId, ApplicationPackage applicationPackage, Instant createTime) { - this(sessionId, applicationPackage); - this.createTime = createTime; - } - public MockSession(long sessionId, ApplicationPackage applicationPackage, ConfigChangeActions actions) { this(sessionId, applicationPackage); this.actions = actions; @@ -203,7 +200,7 @@ public class SessionHandlerTest { if (doThrow) { throw new RuntimeException("foo"); } - final File tempDir = Files.createTempDir(); + File tempDir = uncheck(() -> Files.createTempDirectory("deploy")).toFile(); try { IOUtils.copyDirectory(applicationDirectory, tempDir); } catch (IOException e) { diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java index 7ce1ec47d0e..e98bf792e8b 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.session; -import com.google.common.io.Files; import com.yahoo.component.Version; import com.yahoo.config.application.api.ApplicationFile; import com.yahoo.config.model.application.provider.BaseDeployLogger; @@ -29,10 +28,12 @@ import org.junit.Before; import org.junit.Test; import java.io.File; +import java.nio.file.Files; import java.time.Instant; import java.util.Collections; import java.util.Optional; +import static com.yahoo.yolean.Exceptions.uncheck; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; @@ -55,7 +56,8 @@ public class LocalSessionTest { public void setupTest() { curator = new MockCurator(); configCurator = ConfigCurator.create(curator); - tenantFileSystemDirs = new TenantFileSystemDirs(Files.createTempDir(), TenantName.from("test_tenant")); + tenantFileSystemDirs = new TenantFileSystemDirs(uncheck(() -> Files.createTempDirectory("serverdb")).toFile(), + TenantName.from("test_tenant")); } @Test diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionTest.java index 99ef1831744..e90f01e98c4 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionTest.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.session; -import com.google.common.io.Files; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.component.Version; import com.yahoo.config.application.api.ApplicationPackage; @@ -24,8 +23,11 @@ import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.VespaModelFactory; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import java.io.IOException; import java.time.Clock; import java.time.Instant; import java.time.LocalDate; @@ -53,6 +55,9 @@ public class RemoteSessionTest { private Curator curator; + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @Before public void setupTest() { curator = new MockCurator(); @@ -172,9 +177,10 @@ public class RemoteSessionTest { } @Test - public void require_that_permanent_app_is_used() { + public void require_that_permanent_app_is_used() throws IOException { Optional<PermanentApplicationPackage> permanentApp = Optional.of(new PermanentApplicationPackage( - new ConfigserverConfig(new ConfigserverConfig.Builder().applicationDirectory(Files.createTempDir().getAbsolutePath())))); + new ConfigserverConfig(new ConfigserverConfig.Builder() + .applicationDirectory(temporaryFolder.newFolder("appdir").getAbsolutePath())))); MockModelFactory mockModelFactory = new MockModelFactory(); try { int sessionId = 3; diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFileTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFileTest.java index 0b028b96eab..a73818cda12 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFileTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFileTest.java @@ -1,11 +1,12 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.zookeeper; -import com.google.common.io.Files; import com.yahoo.config.application.api.ApplicationFile; import com.yahoo.config.application.api.ApplicationFileTest; import com.yahoo.path.Path; import com.yahoo.vespa.curator.mock.MockCurator; +import org.junit.Rule; +import org.junit.rules.TemporaryFolder; import java.io.File; import java.io.IOException; @@ -14,10 +15,12 @@ import static org.junit.Assert.assertTrue; /** * @author Ulf Lilleengen - * @since 5.1 */ public class ZKApplicationFileTest extends ApplicationFileTest { + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + private void feed(ConfigCurator zk, File dirToFeed) { assertTrue(dirToFeed.isDirectory()); String appPath = "/0"; @@ -28,7 +31,7 @@ public class ZKApplicationFileTest extends ApplicationFileTest { @Override public ApplicationFile getApplicationFile(Path path) throws IOException{ ConfigCurator configCurator = ConfigCurator.create(new MockCurator()); - File tmp = Files.createTempDir(); + File tmp = temporaryFolder.newFolder(); writeAppTo(tmp); feed(configCurator, tmp); return new ZKApplicationFile(path, new ZKApplication(configCurator, Path.fromString("/0"))); |