Change file name sent to DataRouter 22/83622/2
authorelinuxhenrik <henrik.b.andersson@est.tech>
Fri, 29 Mar 2019 09:05:28 +0000 (09:05 +0000)
committerelinuxhenrik <henrik.b.andersson@est.tech>
Fri, 29 Mar 2019 09:05:28 +0000 (09:05 +0000)
In the previous commit for this issue, the file name sent to DataRouter
was changed. This turned out to be wrong, so in this commit it is
changed back again.

Change-Id: I9b0d726f406758846fd256626e73edf59d710c8b
Issue-ID: DCAEGEN2-1256
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/model/FileData.java
datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/tasks/DataRouterPublisher.java
datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/tasks/FileCollector.java
datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/tasks/ScheduledTasks.java
datafile-app-server/src/test/java/org/onap/dcaegen2/collectors/datafile/tasks/DataRouterPublisherTest.java
datafile-app-server/src/test/java/org/onap/dcaegen2/collectors/datafile/tasks/FileCollectorTest.java

index d0d1f91..037bd0d 100644 (file)
@@ -20,7 +20,6 @@ import java.net.URI;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Optional;
-
 import org.immutables.gson.Gson;
 import org.immutables.value.Value;
 import org.onap.dcaegen2.collectors.datafile.ftp.FileServerData;
@@ -35,7 +34,7 @@ import org.onap.dcaegen2.collectors.datafile.ftp.Scheme;
 @Value.Immutable
 @Gson.TypeAdapters
 public abstract class FileData {
-    private static final String DATAFILE_TMPDIR = "/tmp/onap_datafile/";
+    public static final String DATAFILE_TMPDIR = "/tmp/onap_datafile/";
 
     /**
      * @return the file name with no path
@@ -71,12 +70,8 @@ public abstract class FileData {
         return URI.create(location()).getPath();
     }
 
-    public Path getLocalFileName() {
-       return createLocalFileName(messageMetaData().sourceName(), name());
-    }
-
-    public static Path createLocalFileName(String sourceName, String fileName) {
-        return Paths.get(DATAFILE_TMPDIR, sourceName + "_" + fileName);
+    public Path getLocalFilePath() {
+       return Paths.get(DATAFILE_TMPDIR, name());
     }
 
     public FileServerData fileServerData() {
index 4207d1f..8c1a2cf 100644 (file)
@@ -26,7 +26,6 @@ import static org.onap.dcaegen2.collectors.datafile.model.logging.MdcVariables.X
 
 import com.google.gson.JsonElement;
 import com.google.gson.JsonParser;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URI;
@@ -34,7 +33,6 @@ import java.nio.file.Path;
 import java.time.Duration;
 import java.util.Map;
 import java.util.UUID;
-
 import org.apache.commons.io.IOUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpPut;
@@ -52,7 +50,6 @@ import org.slf4j.MDC;
 import org.springframework.core.io.FileSystemResource;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
-
 import reactor.core.publisher.Mono;
 
 /**
@@ -129,7 +126,7 @@ public class DataRouterPublisher {
         metaData.getAsJsonObject().remove(NAME_JSON_TAG).getAsString();
         metaData.getAsJsonObject().remove(INTERNAL_LOCATION_JSON_TAG);
         put.addHeader(X_DMAAP_DR_META, metaData.toString());
-        put.setURI(getPublishUri(model.getInternalLocation().getFileName().toString()));
+        put.setURI(getPublishUri(model.getName()));
     }
 
     private void prepareBody(ConsumerDmaapModel model, HttpPut put) throws IOException {
index 8849b45..158bcb2 100644 (file)
@@ -65,7 +65,7 @@ public class FileCollector {
         logger.trace("starting to collectFile {}", fileData.name());
 
         final String remoteFile = fileData.remoteFilePath();
-        final Path localFile = fileData.getLocalFileName();
+        final Path localFile = fileData.getLocalFilePath();
 
         try (FileCollectClient currentClient = createClient(fileData)) {
             currentClient.open();
index b4096c7..2a6e4c0 100644 (file)
@@ -22,7 +22,6 @@ import java.time.Duration;
 import java.time.Instant;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
-
 import org.onap.dcaegen2.collectors.datafile.configuration.AppConfig;
 import org.onap.dcaegen2.collectors.datafile.model.ConsumerDmaapModel;
 import org.onap.dcaegen2.collectors.datafile.model.FileData;
@@ -34,7 +33,6 @@ import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 import reactor.core.scheduler.Scheduler;
@@ -144,9 +142,9 @@ public class ScheduledTasks {
 
     private boolean shouldBePublished(FileData fileData, Map<String, String> contextMap) {
         boolean result = false;
-        Path localFileName = fileData.getLocalFileName();
-        if (alreadyPublishedFiles.put(localFileName) == null) {
-            result = !createPublishedChecker().execute(localFileName.getFileName().toString(), contextMap);
+        Path localFilePath = fileData.getLocalFilePath();
+        if (alreadyPublishedFiles.put(localFilePath) == null) {
+            result = !createPublishedChecker().execute(fileData.name(), contextMap);
         }
         return result;
     }
@@ -160,10 +158,10 @@ public class ScheduledTasks {
 
     private Mono<ConsumerDmaapModel> handleFetchFileFailure(FileData fileData, Map<String, String> contextMap) {
         MdcVariables.setMdcContextMap(contextMap);
-        Path localFileName = fileData.getLocalFileName();
+        Path localFilePath = fileData.getLocalFilePath();
         logger.error("File fetching failed, fileData {}", fileData);
-        deleteFile(localFileName, contextMap);
-        alreadyPublishedFiles.remove(localFileName);
+        deleteFile(localFilePath, contextMap);
+        alreadyPublishedFiles.remove(localFilePath);
         currentNumberOfTasks.decrementAndGet();
         return Mono.empty();
     }
index fe86773..7a9a17a 100644 (file)
@@ -37,7 +37,6 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.StatusLine;
@@ -55,7 +54,6 @@ import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapPub
 import org.springframework.http.HttpStatus;
 import org.springframework.web.util.DefaultUriBuilderFactory;
 import org.springframework.web.util.UriBuilder;
-
 import reactor.test.StepVerifier;
 
 /**
@@ -71,7 +69,6 @@ class DataRouterPublisherTest {
     private static final String TIME_ZONE_OFFSET = "UTC+05:00";
     private static final String PM_FILE_NAME = "A20161224.1030-1045.bin.gz";
     private static final String FTPES_ADDRESS = "ftpes://192.168.0.101:22/ftp/rop/" + PM_FILE_NAME;
-    private static final String LOCAL_FILE_NAME = SOURCE_NAME + "_" + PM_FILE_NAME;
 
     private static final String COMPRESSION = "gzip";
     private static final String FILE_FORMAT_TYPE = "org.3GPP.32.435#measCollec";
@@ -111,7 +108,7 @@ class DataRouterPublisherTest {
                 .timeZoneOffset(TIME_ZONE_OFFSET) //
                 .name(PM_FILE_NAME) //
                 .location(FTPES_ADDRESS) //
-                .internalLocation(Paths.get("target/" + LOCAL_FILE_NAME)) //
+                .internalLocation(Paths.get("target/" + PM_FILE_NAME)) //
                 .compression("gzip") //
                 .fileFormatType(FILE_FORMAT_TYPE) //
                 .fileFormatVersion(FILE_FORMAT_VERSION) //
@@ -142,7 +139,7 @@ class DataRouterPublisherTest {
         Path actualPath = Paths.get(actualUri.getPath());
         assertTrue(PUBLISH_TOPIC.equals(actualPath.getName(0).toString()));
         assertTrue(FEED_ID.equals(actualPath.getName(1).toString()));
-        assertTrue(LOCAL_FILE_NAME.equals(actualPath.getName(2).toString()));
+        assertTrue(PM_FILE_NAME.equals(actualPath.getName(2).toString()));
 
         Header[] contentHeaders = actualPut.getHeaders("content-type");
         assertEquals(APPLICATION_OCTET_STREAM_CONTENT_TYPE, contentHeaders[0].getValue());
@@ -228,7 +225,7 @@ class DataRouterPublisherTest {
         when(statusLineMock.getStatusCode()).thenReturn(firstResponse, nextHttpResponses);
 
         InputStream fileStream = new ByteArrayInputStream(FILE_CONTENT.getBytes());
-        doReturn(fileStream).when(publisherTaskUnderTestSpy).createInputStream(Paths.get("target", LOCAL_FILE_NAME));
+        doReturn(fileStream).when(publisherTaskUnderTestSpy).createInputStream(Paths.get("target", PM_FILE_NAME));
     }
 
     private Map<String, String> getMetaDataAsMap(Header[] metaHeaders) {
index 6e17f27..8382717 100644 (file)
@@ -27,10 +27,10 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
 import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.time.Duration;
 import java.util.HashMap;
 import java.util.Map;
-
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.onap.dcaegen2.collectors.datafile.configuration.AppConfig;
@@ -45,7 +45,6 @@ import org.onap.dcaegen2.collectors.datafile.model.ImmutableConsumerDmaapModel;
 import org.onap.dcaegen2.collectors.datafile.model.ImmutableFileData;
 import org.onap.dcaegen2.collectors.datafile.model.ImmutableMessageMetaData;
 import org.onap.dcaegen2.collectors.datafile.model.MessageMetaData;
-
 import reactor.test.StepVerifier;
 
 /**
@@ -67,7 +66,7 @@ public class FileCollectorTest {
     private static final int PORT_22 = 22;
     private static final String PM_FILE_NAME = "A20161224.1030-1045.bin.gz";
     private static final String REMOTE_FILE_LOCATION = "/ftp/rop/" + PM_FILE_NAME;
-    private static final Path LOCAL_FILE_LOCATION = FileData.createLocalFileName(SOURCE_NAME, PM_FILE_NAME);
+    private static final Path LOCAL_FILE_LOCATION = Paths.get(FileData.DATAFILE_TMPDIR, PM_FILE_NAME);
     private static final String USER = "usr";
     private static final String PWD = "pwd";
     private static final String FTPES_LOCATION =