From f5aa4163eb68aa987923d62bda08a8c49450cb1c Mon Sep 17 00:00:00 2001 From: Duarte Meneses Date: Tue, 29 Sep 2015 09:05:19 +0200 Subject: SONAR-6818 Split batch/project WS in several simpler WS --- .../src/main/java/org/sonar/home/cache/PersistentCache.java | 3 +++ .../test/java/org/sonar/home/cache/PersistentCacheTest.java | 13 +++++++++++++ 2 files changed, 16 insertions(+) (limited to 'sonar-home/src') diff --git a/sonar-home/src/main/java/org/sonar/home/cache/PersistentCache.java b/sonar-home/src/main/java/org/sonar/home/cache/PersistentCache.java index dfc94827d0b..991fadf8cdc 100644 --- a/sonar-home/src/main/java/org/sonar/home/cache/PersistentCache.java +++ b/sonar-home/src/main/java/org/sonar/home/cache/PersistentCache.java @@ -90,6 +90,9 @@ public class PersistentCache { try { lock(); Path path = getCacheCopy(key); + if (path == null) { + return null; + } return new DeleteFileOnCloseInputStream(new FileInputStream(path.toFile()), path); } finally { diff --git a/sonar-home/src/test/java/org/sonar/home/cache/PersistentCacheTest.java b/sonar-home/src/test/java/org/sonar/home/cache/PersistentCacheTest.java index 77ee30908e1..5063fbdb22f 100644 --- a/sonar-home/src/test/java/org/sonar/home/cache/PersistentCacheTest.java +++ b/sonar-home/src/test/java/org/sonar/home/cache/PersistentCacheTest.java @@ -19,7 +19,11 @@ */ package org.sonar.home.cache; +import org.apache.commons.io.IOUtils; + import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; @@ -71,6 +75,15 @@ public class PersistentCacheTest { assertThat(new String(Files.readAllBytes(lockFile), StandardCharsets.UTF_8)).isEqualTo("test"); } + @Test + public void testStream() throws IOException { + cache.put("id", "test".getBytes()); + InputStream stream = cache.getStream("id"); + assertThat(IOUtils.toString(stream)).isEqualTo("test"); + + assertThat(cache.getStream("non existing")).isNull(); + } + @Test public void testClear() throws Exception { Path lockFile = cache.getDirectory().resolve("lock"); -- cgit v1.2.3