aboutsummaryrefslogtreecommitdiffstats
path: root/snmpmapper/src
diff options
context:
space:
mode:
authorBharathS24 <BS00493532@techmahindra.com>2018-08-20 17:47:05 +0530
committerBharathS24 <BS00493532@techmahindra.com>2018-08-20 17:47:05 +0530
commit7cb9a25a7e32bcf141a5ad8f8ab1af0ed6064a99 (patch)
tree2560145d3fc9758c746fa3375ebed122278956ad /snmpmapper/src
parent1463aaab6db65130de04d84a68fd9331a1c0caa9 (diff)
Modified snmpmapper
Now snmpmapper is using DB(postgres) to save mapping file Issue-ID: DCAEGEN2-338 Change-Id: Ifdf173f7b405463005a96f76dee2558a291548e6 Signed-off-by: BharathS24 <BS00493532@techmahindra.com>
Diffstat (limited to 'snmpmapper/src')
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/mapper/FileUploadController.java128
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/mapper/SnmpmapperApplication.java46
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/mapper/storage/FileSystemStorageService.java130
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageException.java32
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageFileNotFoundException.java32
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageProperties.java44
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageService.java43
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/servicedb/Mapping_file.java77
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/snmpmapperApplication.java12
-rw-r--r--snmpmapper/src/main/java/org/onap/dcae/snmpmapperController.java124
-rw-r--r--snmpmapper/src/main/resources/application.properties13
-rw-r--r--snmpmapper/src/main/resources/templates/success.html34
-rw-r--r--snmpmapper/src/main/resources/templates/uploadForm.html53
-rw-r--r--snmpmapper/src/main/resources/templates/uploadform.html36
-rw-r--r--snmpmapper/src/test/java/org/onap/dcae/mapper/FileUploadControllerTest.java99
-rw-r--r--snmpmapper/src/test/java/org/onap/dcae/mapper/StorageExceptionTest.java37
-rw-r--r--snmpmapper/src/test/java/org/onap/dcae/mapper/StorageFileNotFoundExceptionTest.java37
-rw-r--r--snmpmapper/src/test/java/org/onap/dcae/mapper/StoragePropertiesTest.java39
-rw-r--r--snmpmapper/src/test/java/org/onap/dcae/mapper/storage/FileSystemStorageServiceTest.java144
-rw-r--r--snmpmapper/src/test/java/org/onap/dcae/snmpmapperApplicationTests.java16
20 files changed, 345 insertions, 831 deletions
diff --git a/snmpmapper/src/main/java/org/onap/dcae/mapper/FileUploadController.java b/snmpmapper/src/main/java/org/onap/dcae/mapper/FileUploadController.java
deleted file mode 100644
index fce8dfa..0000000
--- a/snmpmapper/src/main/java/org/onap/dcae/mapper/FileUploadController.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-
-package org.onap.dcae.mapper;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.Resource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import com.google.common.base.Charsets;
-import com.google.common.io.Resources;
-
-import org.onap.dcae.mapper.storage.StorageFileNotFoundException;
-import org.onap.dcae.mapper.storage.StorageService;
-
-/**
- * @author BS00493532 This Controller shifts control according to the uri
- * accessed by the user. Accordingly control shifts to get and post
- * methods.
- *
- */
-@Controller
-public class FileUploadController {
-
- private final StorageService storageService;
-
- @Autowired
- public FileUploadController(StorageService storageService) {
- this.storageService = storageService;
- }
-
- @GetMapping("/")
- public String listUploadedFiles(Model model) throws IOException {
-
- model.addAttribute("files",
- storageService.loadAll()
- .map(path -> MvcUriComponentsBuilder
- .fromMethodName(FileUploadController.class, "serveFile", path.getFileName().toString())
- .build().toString())
- .collect(Collectors.toList()));
-
- return "uploadForm";
-
- /**
- * @author BS00493532
- *
- * Returns the upload form like a html page
- */
-
- }
-
- @GetMapping("/files/{filename:.+}")
- @ResponseBody
- public ResponseEntity<Resource> serveFile(@PathVariable String filename) {
-
- Resource file = storageService.loadAsResource(filename);
- return ResponseEntity.ok()
- .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getFilename() + "\"")
- .body(file);
- }
-
- @GetMapping("/fileAsString/{filename:.+}")
- @ResponseBody
- public String serveFileAsString(@PathVariable String filename) {
-
- Resource file = storageService.loadAsResource(filename);
- // URL url = Resources.getResource(file. getFilename());//
- // getResource(file.getURL());
- String fileContent = null;
- try {
- fileContent = Resources.toString(file.getURL(), Charsets.UTF_8);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return fileContent;
- }
-
- @PostMapping("/")
- public String handleFileUpload(@RequestParam("file") MultipartFile file, RedirectAttributes redirectAttributes) {
- System.out.println("1");
-
- storageService.store(file);
- redirectAttributes.addFlashAttribute("message",
- "You successfully uploaded " + file.getOriginalFilename() + "!");
-
- return "redirect:/";
- }
-
- @ExceptionHandler(StorageFileNotFoundException.class)
- public ResponseEntity<?> handleStorageFileNotFound(StorageFileNotFoundException exc) {
- return ResponseEntity.notFound().build();
- }
-
-}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/mapper/SnmpmapperApplication.java b/snmpmapper/src/main/java/org/onap/dcae/mapper/SnmpmapperApplication.java
deleted file mode 100644
index 4893a2a..0000000
--- a/snmpmapper/src/main/java/org/onap/dcae/mapper/SnmpmapperApplication.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-
-package org.onap.dcae.mapper;
-
-import org.onap.dcae.mapper.storage.StorageProperties;
-import org.onap.dcae.mapper.storage.StorageService;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-
-@SpringBootApplication
-@EnableConfigurationProperties(StorageProperties.class)
-public class SnmpmapperApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(SnmpmapperApplication.class, args);
- }
-
- @Bean
- CommandLineRunner init(StorageService storageService) {
- return (args) -> {
- // storageService.deleteAll();
- storageService.init();
- };
- }
-}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/FileSystemStorageService.java b/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/FileSystemStorageService.java
deleted file mode 100644
index 5cee706..0000000
--- a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/FileSystemStorageService.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-
-package org.onap.dcae.mapper.storage;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardCopyOption;
-import java.util.stream.Stream;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.UrlResource;
-import org.springframework.stereotype.Service;
-import org.springframework.util.FileSystemUtils;
-import org.springframework.util.StringUtils;
-import org.springframework.web.multipart.MultipartFile;
-
-@Service
-public class FileSystemStorageService implements StorageService {
-
- private final Path rootLocation;
-
- @Autowired
- public FileSystemStorageService(StorageProperties properties) {
- this.rootLocation = Paths.get(properties.getLocation());
- }
-
- @Override
- public void store(MultipartFile file) {
- String filename = StringUtils.cleanPath(file.getOriginalFilename());
- try {
- if (file.isEmpty()) {
- throw new StorageException("Failed to store empty file " + filename);
- }
-
- /**
- * @author BS00493532 Checks the contents of the file. If empty, throws
- * exception
- */
- if (filename.contains("..")) {
- // This is a security check
- throw new StorageException(
- "Cannot store file with relative path outside current directory " + filename);
- }
- Files.copy(file.getInputStream(), this.rootLocation.resolve(filename), StandardCopyOption.REPLACE_EXISTING);
- } catch (IOException e) {
- throw new StorageException("Failed to store file " + filename, e);
- }
- }
-
- @Override
- public Stream<Path> loadAll() {
- try {
- return Files.walk(this.rootLocation, 1).filter(path -> !path.equals(this.rootLocation))
- .map(path -> this.rootLocation.relativize(path));
- }
-
- /**
- * @author BS00493532 Loads all the files in the given path
- *
- */
-
- catch (IOException e) {
- throw new StorageException("Failed to read stored files", e);
- }
-
- }
-
- @Override
- public Path load(String filename) {
- return rootLocation.resolve(filename);
- }
-
- @Override
- public Resource loadAsResource(String filename) {
- try {
- Path file = load(filename);
- Resource resource = new UrlResource(file.toUri());
- if (resource.exists() || resource.isReadable()) {
- return resource;
- } else {
- throw new StorageFileNotFoundException("Could not read file: " + filename);
-
- }
- } catch (MalformedURLException e) {
- throw new StorageFileNotFoundException("Could not read file: " + filename, e);
- }
- }
-
- /*
- * @Override public void deleteAll() {
- * FileSystemUtils.deleteRecursively(rootLocation.toFile()); }
- */
-
- @Override
- public void init() {
- try {
- Files.createDirectories(rootLocation);
- }
-
- /**
- * @author BS00493532 Initializes Storage
- */
-
- catch (IOException e) {
- throw new StorageException("Could not initialize storage", e);
- }
- }
-}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageException.java b/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageException.java
deleted file mode 100644
index dd2675d..0000000
--- a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-
-package org.onap.dcae.mapper.storage;
-
-public class StorageException extends RuntimeException {
-
- public StorageException(String message) {
- super(message);
- }
-
- public StorageException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageFileNotFoundException.java b/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageFileNotFoundException.java
deleted file mode 100644
index ef88087..0000000
--- a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageFileNotFoundException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-
-package org.onap.dcae.mapper.storage;
-
-public class StorageFileNotFoundException extends StorageException {
-
- public StorageFileNotFoundException(String message) {
- super(message);
- }
-
- public StorageFileNotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-} \ No newline at end of file
diff --git a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageProperties.java b/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageProperties.java
deleted file mode 100644
index a2f5396..0000000
--- a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageProperties.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-
-package org.onap.dcae.mapper.storage;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@ConfigurationProperties("storage")
-public class StorageProperties {
-
- /**
- * Folder location for storing files
- */
- // private String location = "upload-dir";
- @Value("${fileService.rootPath}")
- private String location;
-
- public String getLocation() {
- return location;
- }
-
- public void setLocation(String location) {
- this.location = location;
- }
-
-}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageService.java b/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageService.java
deleted file mode 100644
index cb278f2..0000000
--- a/snmpmapper/src/main/java/org/onap/dcae/mapper/storage/StorageService.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-
-package org.onap.dcae.mapper.storage;
-
-import java.nio.file.Path;
-import java.util.stream.Stream;
-
-import org.springframework.core.io.Resource;
-import org.springframework.web.multipart.MultipartFile;
-
-public interface StorageService {
-
- void init();
-
- void store(MultipartFile file);
-
- Stream<Path> loadAll();
-
- Path load(String filename);
-
- Resource loadAsResource(String filename);
-
- // void deleteAll();
-
-}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/servicedb/Mapping_file.java b/snmpmapper/src/main/java/org/onap/dcae/servicedb/Mapping_file.java
new file mode 100644
index 0000000..a4669da
--- /dev/null
+++ b/snmpmapper/src/main/java/org/onap/dcae/servicedb/Mapping_file.java
@@ -0,0 +1,77 @@
+package org.onap.dcae.servicedb;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "mapping_file")
+public class Mapping_file {
+
+ @Id
+ @Column(name = "EnterpriseID")
+ public String Enterprise_ID;
+
+ @Column(name = "File_Name")
+ public String name;
+
+
+ @Column(name = "mimetype")
+ private String mimetype;
+
+
+ @Column(name = "mappingfilecontents")
+ private byte[] Mapping_File;
+
+
+
+ public Mapping_file() {
+ super();
+ }
+
+ public Mapping_file(String enterprise_ID, String name, String mimetype, byte[] mapping_File) {
+ super();
+ Enterprise_ID = enterprise_ID;
+ this.name = name;
+ this.mimetype = mimetype;
+ Mapping_File = mapping_File;
+ }
+
+ public String getEnterprise_ID() {
+ return Enterprise_ID;
+ }
+
+ public void setEnterprise_ID(String enterprise_ID) {
+ Enterprise_ID = enterprise_ID;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getMimetype() {
+ return mimetype;
+ }
+
+ public void setMimetype(String mimetype) {
+ this.mimetype = mimetype;
+ }
+
+ public byte[] getMapping_File() {
+ return Mapping_File;
+ }
+
+ public void setMapping_File(byte[] mapping_File) {
+ Mapping_File = mapping_File;
+ }
+
+
+
+
+}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/snmpmapperApplication.java b/snmpmapper/src/main/java/org/onap/dcae/snmpmapperApplication.java
new file mode 100644
index 0000000..5354f86
--- /dev/null
+++ b/snmpmapper/src/main/java/org/onap/dcae/snmpmapperApplication.java
@@ -0,0 +1,12 @@
+package org.onap.dcae;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class snmpmapperApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(snmpmapperApplication.class, args);
+ }
+}
diff --git a/snmpmapper/src/main/java/org/onap/dcae/snmpmapperController.java b/snmpmapper/src/main/java/org/onap/dcae/snmpmapperController.java
new file mode 100644
index 0000000..94eca54
--- /dev/null
+++ b/snmpmapper/src/main/java/org/onap/dcae/snmpmapperController.java
@@ -0,0 +1,124 @@
+package org.onap.dcae;
+
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.catalina.startup.ClassLoaderFactory.Repository;
+import org.onap.dcae.servicedb.Mapping_file;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+import org.springframework.web.servlet.ModelAndView;
+
+@Controller
+public class snmpmapperController {
+
+ /*@Autowired
+ private UploadPageSample1Service upss;*/
+
+ @Value("${spring.datasource.url}")
+ String url;
+ @Value("${spring.datasource.username}")
+ String user;
+ @Value("${spring.datasource.password}")
+ String pwd;
+
+ static String enterpriseid;
+ static Mapping_file mapping;
+
+ @GetMapping("/")
+ public String index() {
+ return "uploadform.html";
+ }
+
+
+ // This Method Is Used To Get Or Retrieve The Uploaded File And Save It In The Db
+ @RequestMapping(value = "uploadFile", method = RequestMethod.POST)
+ public String saveUploadedFileInDatabase(HttpServletRequest request, final @RequestParam MultipartFile[] mapper) throws IllegalStateException, IOException, SQLException {
+
+ // Reading File Upload Form Input Parameters
+ enterpriseid = request.getParameter("eid");
+
+ // Logging The Input Parameter (i.e. File Description) For The Debugging Purpose
+ System.out.println("\nEnterPrise ID Is = " + enterpriseid + "\n");
+
+ // Determine If There Is An File Upload. If Yes, Attach It To The Client Email
+ if ((mapper != null) && (mapper.length > 0) && (!mapper.equals(""))) {
+ for (MultipartFile aFile : mapper) {
+ if(aFile.isEmpty()) {
+ continue;
+ } else {
+ System.out.println("MappingFile Name = " + aFile.getOriginalFilename() + "\n");
+ if (!aFile.getOriginalFilename().equals("")) {
+ mapping = new Mapping_file();
+ mapping.setEnterprise_ID(enterpriseid);
+ mapping.setMapping_File(aFile.getBytes());
+ mapping.setMimetype(aFile.getContentType());
+ mapping.setName(aFile.getOriginalFilename());
+
+
+
+ /*InputStream inputStream = new BufferedInputStream(aFile.getInputStream());*/
+
+ System.out.println("1");
+ try (Connection con = DriverManager.getConnection(url, user, pwd)) {
+
+ System.out.println("2");
+ /*CopyManager cm = new CopyManager((BaseConnection) con);*/
+ PreparedStatement pstmt=con.prepareStatement("INSERT INTO mapping_file(enterpriseid, mappingfilecontents, mimetype, File_Name) VALUES (?, ?, ?, ?)");
+ pstmt.setString(1, enterpriseid);
+ System.out.println("3");
+ pstmt.setBytes(2, aFile.getBytes());
+ pstmt.setString(3, aFile.getContentType());
+ pstmt.setString(4, aFile.getOriginalFilename());
+
+
+ System.out.println("4");
+ pstmt.executeUpdate();
+
+
+
+
+
+
+ /*String fileName = "D:\\configFiles\\TestFile.txt";*/
+
+ /*try (FileInputStream fis = new FileInputStream(fileName);
+ InputStreamReader isr = new InputStreamReader(fis,
+ StandardCharsets.UTF_8)) {*/
+
+
+
+
+ }
+
+
+
+ }
+ }
+ System.out.println("File Is Successfully Uploaded & Saved In The Database\n");
+ }
+ } else {
+ // Do Nothing
+ }
+
+ return "success.html";
+ }
+
+}
diff --git a/snmpmapper/src/main/resources/application.properties b/snmpmapper/src/main/resources/application.properties
index bee02d9..cf4f33c 100644
--- a/snmpmapper/src/main/resources/application.properties
+++ b/snmpmapper/src/main/resources/application.properties
@@ -1,2 +1,11 @@
-fileService.rootPath=D:/configFiles
-server.port=8888 \ No newline at end of file
+server.port=9090
+spring.datasource.url=jdbc:postgresql://10.49.16.19:5432/dummy
+spring.datasource.username=postgres
+spring.datasource.password=root
+spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
+spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
+spring.servlet.multipart.enabled=true
+spring.servlet.multipart.max-file-size=1MB
+spring.servlet.multipart.max-request-size=10MB
+spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
+
diff --git a/snmpmapper/src/main/resources/templates/success.html b/snmpmapper/src/main/resources/templates/success.html
new file mode 100644
index 0000000..c5a0d34
--- /dev/null
+++ b/snmpmapper/src/main/resources/templates/success.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>Mapping File</title>
+ <style type="text/css">
+ #fileUploadDiv {
+ text-align: center;
+ padding-top: 16px;
+ }
+ #fileUploadFormPage {
+ text-decoration: none;
+ text-align: center;
+ cursor: pointer;
+ }
+ #successMessage {
+ text-align: center;
+ color: green;
+ font-size: 25px;
+ padding-top: 17px;
+ }
+ </style>
+ </head>
+ <body>
+ <center>
+ <h2>Uploaded Mapping File </h2>
+ </center>
+ <div id="successMessage">
+ <strong>Successfully Uploaded Mapping File</strong>
+ <a href="/">Submit another mapping file</a>
+ </div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/snmpmapper/src/main/resources/templates/uploadForm.html b/snmpmapper/src/main/resources/templates/uploadForm.html
index 22ffc68..89ef4c2 100644
--- a/snmpmapper/src/main/resources/templates/uploadForm.html
+++ b/snmpmapper/src/main/resources/templates/uploadForm.html
@@ -1,19 +1,36 @@
-<html xmlns:th="http://www.thymeleaf.org">
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <title>Mapping File</title>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
+</head>
+
<body>
-
- <div th:if="${message}">
- <h2 th:text="${message}"/>
- </div>
-
- <div>
- <form method="POST" enctype="multipart/form-data" action="/">
- <table>
- <tr><td>File to upload:</td><td><input type="file" name="file" /></td></tr>
- <tr><td></td><td><input type="submit" value="Upload" /></td></tr>
- </table>
- </form>
- </div>
-
-
-</body>
-</html>
+ <center>
+ <h2>Upload Mapping File</h2>
+ <form id="fileUploadForm" method="post" action="uploadFile" enctype="multipart/form-data">
+ <table id="fileUploadFormBeanTable" border="0" width="80%">
+ <tr>
+ <td>Enterprise ID:</td>
+ <td><input id="enterpriseid" type="text" name="eid" size="65" /></td>
+ </tr>
+ <tr>
+ <td>Mapping file:</td>
+ <td>
+ <input id="mappingfile" type="file" name="mapper" size="60" />
+ <span id="fileUploadErr">Please Upload A File!</span>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" align="center"><input id="fileUploadBtn" type="submit" value="Upload" /></td>
+ </tr>
+ </table>
+ </form>
+ </center>
+ </body>
+</html> \ No newline at end of file
diff --git a/snmpmapper/src/main/resources/templates/uploadform.html b/snmpmapper/src/main/resources/templates/uploadform.html
new file mode 100644
index 0000000..89ef4c2
--- /dev/null
+++ b/snmpmapper/src/main/resources/templates/uploadform.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <title>Mapping File</title>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
+</head>
+
+<body>
+ <center>
+ <h2>Upload Mapping File</h2>
+ <form id="fileUploadForm" method="post" action="uploadFile" enctype="multipart/form-data">
+ <table id="fileUploadFormBeanTable" border="0" width="80%">
+ <tr>
+ <td>Enterprise ID:</td>
+ <td><input id="enterpriseid" type="text" name="eid" size="65" /></td>
+ </tr>
+ <tr>
+ <td>Mapping file:</td>
+ <td>
+ <input id="mappingfile" type="file" name="mapper" size="60" />
+ <span id="fileUploadErr">Please Upload A File!</span>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" align="center"><input id="fileUploadBtn" type="submit" value="Upload" /></td>
+ </tr>
+ </table>
+ </form>
+ </center>
+ </body>
+</html> \ No newline at end of file
diff --git a/snmpmapper/src/test/java/org/onap/dcae/mapper/FileUploadControllerTest.java b/snmpmapper/src/test/java/org/onap/dcae/mapper/FileUploadControllerTest.java
deleted file mode 100644
index d970724..0000000
--- a/snmpmapper/src/test/java/org/onap/dcae/mapper/FileUploadControllerTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-package org.onap.dcae.mapper;
-
-import static org.junit.Assert.*;
-
-import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.onap.dcae.mapper.storage.StorageService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.ui.ExtendedModelMap;
-import org.springframework.ui.Model;
-import org.springframework.web.servlet.ModelAndView;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes=SnmpmapperApplication.class)
-@AutoConfigureMockMvc
-
-public class FileUploadControllerTest {
-
- @Autowired
- private MockMvc mockMvc;
-
- @Mock
- private StorageService storageService;
-
- @Autowired
- @InjectMocks
- private FileUploadController fuc;
-
- @Before
- public void init() {
- MockitoAnnotations.initMocks(this);
- }
-
-
- @Test
- public void listUploadedFilesTest() throws Exception {
-
- Model map = new ExtendedModelMap();
-
- Path p1 = Paths.get(".");
- List<Path> list = new ArrayList<>();
- list.add(p1);
-
-
- try {
- Mockito.when(storageService.loadAll()).thenReturn(list.stream());
- } catch (Exception e) {
-
- }
-
- try {
- String listUploadedFiles = fuc.listUploadedFiles(map);
-
- assertEquals("uploadForm", listUploadedFiles);
- } catch (IOException e) {
-
- e.printStackTrace();
- }
-
-
-
-
- }
-
-}
diff --git a/snmpmapper/src/test/java/org/onap/dcae/mapper/StorageExceptionTest.java b/snmpmapper/src/test/java/org/onap/dcae/mapper/StorageExceptionTest.java
deleted file mode 100644
index 1f4783d..0000000
--- a/snmpmapper/src/test/java/org/onap/dcae/mapper/StorageExceptionTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-package org.onap.dcae.mapper;
-
-import static org.junit.Assert.*;
-
-import org.junit.Test;
-import org.onap.dcae.mapper.storage.StorageException;
-
-public class StorageExceptionTest {
-
- StorageException se = new StorageException("message");
- StorageException se1 = new StorageException("message", se);
-
- @Test
- public void test() {
-
-
-}
-}
diff --git a/snmpmapper/src/test/java/org/onap/dcae/mapper/StorageFileNotFoundExceptionTest.java b/snmpmapper/src/test/java/org/onap/dcae/mapper/StorageFileNotFoundExceptionTest.java
deleted file mode 100644
index 39fbeac..0000000
--- a/snmpmapper/src/test/java/org/onap/dcae/mapper/StorageFileNotFoundExceptionTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-package org.onap.dcae.mapper;
-
-import static org.junit.Assert.*;
-
-import org.junit.Test;
-import org.onap.dcae.mapper.storage.StorageFileNotFoundException;
-
-public class StorageFileNotFoundExceptionTest {
-
- StorageFileNotFoundException sfnfe = new StorageFileNotFoundException("message");
- StorageFileNotFoundException sfnfe1 = new StorageFileNotFoundException("message", sfnfe);
-
- @Test
- public void test() {
-
- }
-
-}
diff --git a/snmpmapper/src/test/java/org/onap/dcae/mapper/StoragePropertiesTest.java b/snmpmapper/src/test/java/org/onap/dcae/mapper/StoragePropertiesTest.java
deleted file mode 100644
index 64915f5..0000000
--- a/snmpmapper/src/test/java/org/onap/dcae/mapper/StoragePropertiesTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-package org.onap.dcae.mapper;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.dcae.mapper.storage.StorageProperties;
-
-public class StoragePropertiesTest {
-
- StorageProperties sp= new StorageProperties();
-
-
-@Test
-public void testStorageProperties() {
-
- sp.setLocation("location");
- assertEquals(sp.getLocation(), "location");
-
-}
-} \ No newline at end of file
diff --git a/snmpmapper/src/test/java/org/onap/dcae/mapper/storage/FileSystemStorageServiceTest.java b/snmpmapper/src/test/java/org/onap/dcae/mapper/storage/FileSystemStorageServiceTest.java
deleted file mode 100644
index 56fc518..0000000
--- a/snmpmapper/src/test/java/org/onap/dcae/mapper/storage/FileSystemStorageServiceTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
-* ============LICENSE_START=======================================================
-* ONAP : DCAE
-* ================================================================================
-* Copyright 2018 TechMahindra
-*=================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*/
-package org.onap.dcae.mapper.storage;
-
-import static org.junit.Assert.*;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.onap.dcae.mapper.FileUploadController;
-import org.onap.dcae.mapper.SnmpmapperApplication;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.core.io.Resource;
-import org.springframework.mock.web.MockMultipartFile;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.web.multipart.MultipartFile;
-
-
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes=SnmpmapperApplication.class)
-public class FileSystemStorageServiceTest {
-
-
-
- StorageProperties sp = new StorageProperties();
- @Autowired
- FileSystemStorageService fileSystemStorageService ;
-
-
-
- @Value("${fileService.rootPath}")
- private String location;
-
-
-
- byte[] content = null;
-
-
-
-
-
- String filename;
-
-
- @Test
- public void testFileSystemStorageServiceLoadMethod() throws IOException {
- fileSystemStorageService.init();
- saveFile();
-
- Path filePath = fileSystemStorageService.load("TestFile.txt");
-
- assertEquals(Paths.get(location), filePath.getParent());
-
-
- }
-
-
-
- @Test
- public void storeTest() throws IOException
- {
- fileSystemStorageService.init();
- saveFile();
-
- assertEquals(true, Files.exists(Paths.get(location, "TestFile.txt")));
-
-
-
-
-
- }
-
- private void saveFile() throws IOException {
- Files.deleteIfExists(Paths.get(location, "TestFile.txt"));
- content = "randomString".getBytes();
- MultipartFile file=new MockMultipartFile("TestFile.txt","TestFile.txt", "text/plain", content);
-
-
- fileSystemStorageService.store(file);
- }
- @Test
- public void testFileSystemStorageServiceLoadAllMethod() throws IOException {
- fileSystemStorageService.init();
- saveFile();
-
- Stream<Path> filePath = fileSystemStorageService.loadAll();
- List<Path> listOfPaths =filePath.collect(Collectors.toList());
-
- assertEquals(true, listOfPaths.contains(Paths.get("TestFile.txt")));
-
-
- }
-
- @Test
- public void testFileSystemStorageServiceLoadResourceMethod() throws IOException {
- fileSystemStorageService.init();
- saveFile();
-
-
-
- Resource fileResource = fileSystemStorageService.loadAsResource("TestFile.txt");
-
-
- assertEquals(Paths.get(location,"TestFile.txt").getFileName().toString(), fileResource.getFilename());
-
-
- }
-
-} \ No newline at end of file
diff --git a/snmpmapper/src/test/java/org/onap/dcae/snmpmapperApplicationTests.java b/snmpmapper/src/test/java/org/onap/dcae/snmpmapperApplicationTests.java
new file mode 100644
index 0000000..59d1d92
--- /dev/null
+++ b/snmpmapper/src/test/java/org/onap/dcae/snmpmapperApplicationTests.java
@@ -0,0 +1,16 @@
+package org.onap.dcae;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class snmpmapperApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}