summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-widget-ms/src/main/java/org
diff options
context:
space:
mode:
authorChristopher Lott (cl778h) <clott@research.att.com>2017-08-23 18:27:19 -0400
committerChristopher Lott (cl778h) <clott@research.att.com>2017-08-23 21:12:56 -0400
commit978dbcf0a196acbafad72fe1e2478ec0e384f02f (patch)
tree17e1ceaa4a12a599320cbb317947e990bf1a5383 /ecomp-portal-widget-ms/src/main/java/org
parentbc7350dce5b7b1dcd1c472a3922b42c4ea99809d (diff)
Deliver centralized role management feature
Repair multiple defects also. Revise deployment to use docker-compose. Remove all zip archives. Issue: PORTAL-21, PORTAL-25, PORTAL-28, PORTAL-52, PORTAL-69, PORTAL-74, PORTAL-76, PORTAL-80, PORTAL-82 Change-Id: Ie72fec7d35ba78beb162bba6ed27b2caee340c61 Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
Diffstat (limited to 'ecomp-portal-widget-ms/src/main/java/org')
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/MicroserviceApplication.java20
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/constant/WidgetConstant.java13
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/DatabaseFileUploadController.java82
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/HealthController.java35
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/WidgetsCatalogController.java261
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/dao/WidgetDataSource.java34
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/App.java47
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceData.java126
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceParameter.java70
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/RoleApp.java96
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/ValidationRespond.java34
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetCatalog.java134
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetFile.java96
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageException.java15
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageFileNotFoundException.java14
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/filters/CorsConfiguration.java15
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/hibernate/HibernateConfiguration.java44
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/listener/WidgetEventListener.java36
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/InitializationService.java7
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/MicroserviceService.java17
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/StorageService.java34
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/WidgetCatalogService.java29
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/InitializationServiceImpl.java128
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/MicroserviceServiceImpl.java87
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/StorageServiceImpl.java487
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/WidgetCatalogServiceImpl.java240
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/AuthorizationUtil.java19
-rw-r--r--ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/UnzipUtil.java102
28 files changed, 0 insertions, 2322 deletions
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/MicroserviceApplication.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/MicroserviceApplication.java
deleted file mode 100644
index eb1e7844..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/MicroserviceApplication.java
+++ /dev/null
@@ -1,20 +0,0 @@
- package org.openecomp.portalapp.widget;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.web.client.RestTemplate;
-
-@SpringBootApplication
-@ComponentScan(basePackages = "org.openecomp.portalapp.widget")
-public class MicroserviceApplication {
- @Bean
- public RestTemplate getRestTemplate(){
- return new RestTemplate();
- }
- public static void main(String[] args) {
- SpringApplication.run(MicroserviceApplication.class, args);
- }
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/constant/WidgetConstant.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/constant/WidgetConstant.java
deleted file mode 100644
index 3cd95b8e..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/constant/WidgetConstant.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openecomp.portalapp.widget.constant;
-
-import java.io.File;
-
-public final class WidgetConstant {
-
- public static final String WIDGET_MARKUP_LOCATION = "markup/markup.html";
- public static final String WIDGET_CONTROLLER_LOCATION = "js/controller.js";
- public static final String WIDGET_STYLE_LOCATION = "styles/styles.css";
- public static final String VALIDATION_MESSAGE_ZIP = "Please upload a zip file";
- public static final String VALIDATION_MESSAGE_FILES = "Please check your files (should contains js, styles and markup folder)";
-}
-
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/DatabaseFileUploadController.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/DatabaseFileUploadController.java
deleted file mode 100644
index eac8b37b..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/DatabaseFileUploadController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.openecomp.portalapp.widget.controller;
-
-import java.io.UnsupportedEncodingException;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.portalapp.widget.domain.ValidationRespond;
-import org.openecomp.portalapp.widget.service.StorageService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-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.bind.annotation.ResponseBody;
-import org.springframework.web.multipart.MultipartFile;
-
-@Controller
-public class DatabaseFileUploadController {
-
- @Autowired
- private StorageService storageService;
-
- private static final Logger logger = LoggerFactory.getLogger(DatabaseFileUploadController.class);
-
- @ResponseBody
- @RequestMapping(value = "/microservices/markup/{widgetId}", method = RequestMethod.GET)
- public String getWidgetMarkup(HttpServletRequest request, HttpServletResponse response, @PathVariable("widgetId") long widgetId){
- String markup = null;
- try{
- logger.debug("DatabaseFileUploadController.getWidgetMarkup: getting markup.html for widget with widgetId = {}" , widgetId);
- markup = storageService.getWidgetMarkup(widgetId);
- }catch(Exception e){
- logger.error("Exception occurred while performing DatabaseFileUploadController.getWidgetMarkup in widget microservices. Details:" + e.getMessage());
- }
- return markup;
- }
-
- @ResponseBody
- @RequestMapping(value = "/microservices/{widgetId}/controller.js", method = RequestMethod.GET)
- public String getWidgetController(HttpServletRequest request, HttpServletResponse response, @PathVariable("widgetId") long widgetId){
- String controller = null;
- try{
- logger.debug("DatabaseFileUploadController.getWidgetController: getting controller.js for widget with widgetId = {}" , widgetId);
- controller = storageService.getWidgetController(widgetId);
- }catch(Exception e){
- logger.error("Exception occurred while performing DatabaseFileUploadController.getWidgetController in widget microservices. Details:" + e.getMessage());
- }
- return controller;
- }
-
- @ResponseBody
- @RequestMapping(value = "/microservices/{widgetId}/framework.js", method = RequestMethod.GET)
- public String getWidgetFramework(HttpServletRequest request, HttpServletResponse response,
- @PathVariable("widgetId") long widgetId){
- String framework = null;
- try{
- logger.debug("DatabaseFileUploadController.getWidgetFramework: getting framework.js for widget with widgetId = {}" , widgetId);
- framework = storageService.getWidgetFramework(widgetId);
- }catch(Exception e){
- logger.error("Exception occurred while performing DatabaseFileUploadController.getWidgetFramework in widget microservices. Details:" + e.getMessage());
- }
- return framework;
- }
-
- @ResponseBody
- @RequestMapping(value = "/microservices/{widgetId}/styles.css", method = RequestMethod.GET)
- public String getWidgetCSS(HttpServletRequest request, HttpServletResponse response,
- @PathVariable("widgetId") long widgetId){
- String css = null;
- try {
- logger.debug("DatabaseFileUploadController.getWidgetCSS: getting styles.css for widget with widgetId = {}" , widgetId);
- css = storageService.getWidgetCSS(widgetId);
- } catch (UnsupportedEncodingException e) {
- logger.error("Exception occurred while performing DatabaseFileUploadController.getWidgetCSS in widget microservices. Details:" + e.getMessage());
- }
- return css;
- }
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/HealthController.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/HealthController.java
deleted file mode 100644
index fc324ab1..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/HealthController.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openecomp.portalapp.widget.controller;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-public class HealthController {
-
- @RequestMapping(value = { "/health" }, method = RequestMethod.GET, produces = "application/json")
- public HealthStatus getWidgetCatalog(HttpServletRequest request, HttpServletResponse response) {
- return new HealthStatus("ok");
- }
-
- class HealthStatus {
- private String status;
-
- public HealthStatus(String status){
- this.status = status;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
-
-
- }
-} \ No newline at end of file
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/WidgetsCatalogController.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/WidgetsCatalogController.java
deleted file mode 100644
index e801a256..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/controller/WidgetsCatalogController.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package org.openecomp.portalapp.widget.controller;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.portalapp.widget.domain.ValidationRespond;
-import org.openecomp.portalapp.widget.domain.WidgetCatalog;
-import org.openecomp.portalapp.widget.service.StorageService;
-import org.openecomp.portalapp.widget.service.WidgetCatalogService;
-import org.openecomp.portalapp.widget.utils.AuthorizationUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-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.bind.annotation.ResponseBody;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.multipart.MultipartFile;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@org.springframework.context.annotation.Configuration
-@EnableAspectJAutoProxy
-public class WidgetsCatalogController {
-
- @Value("${server.port}")
- String port;
- @Value("${server.contextPath}")
- String context;
-
- @Value("${security.user.name}")
- String security_user;
- @Value("${security.user.password}")
- String security_pass;
-
- @Autowired
- WidgetCatalogService widgetCatalogService;
-
- @Autowired
- StorageService storageService;
-
- @Autowired
- RestTemplate restTemplate;
-
- AuthorizationUtil util = new AuthorizationUtil();
-
- private static final Logger logger = LoggerFactory.getLogger(WidgetsCatalogController.class);
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog" }, method = RequestMethod.GET, produces = "application/json")
- public List<WidgetCatalog> getWidgetCatalog(HttpServletRequest request, HttpServletResponse response
- ,@RequestHeader(value="Authorization") String auth) throws IOException{
-
- List<WidgetCatalog> widgetCatalog = null;
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.getWidgetCatalog in widget microserivce. Please check your username and password.");
- return widgetCatalog;
- }
- try {
- widgetCatalog = widgetCatalogService.getWidgetCatalog();
- logger.debug("WidgetsCatalogController.getWidgetCatalog: getting widget list {}", widgetCatalog);
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.getWidgetCatalog in widget microservices. Details:" + e.getMessage());
- }
- return widgetCatalog;
- }
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog/{loginName}" }, method = RequestMethod.GET, produces = "application/json")
- public List<WidgetCatalog> getUserWidgetCatalog(HttpServletRequest request, HttpServletResponse response,
- @PathVariable("loginName") String loginName, @RequestHeader(value="Authorization") String auth) throws IOException {
- List<WidgetCatalog> widgetCatalog = null;
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.getUserWidgetCatalog in widget microserivce. Please check your username and password.");
- return widgetCatalog;
- }
- try {
- widgetCatalog = widgetCatalogService.getUserWidgetCatalog(loginName);
- logger.debug("WidgetsCatalogController.getUserWidgetCatalog: getting widget list {}", widgetCatalog);
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.getUserWidgetCatalog in widget microservices. Details:" + e.getMessage());
- }
- return widgetCatalog;
- }
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog/{widgetId}" }, method = RequestMethod.PUT, produces = "application/json")
- public void updateWidgetCatalog(HttpServletRequest request, HttpServletResponse response,
- @RequestBody WidgetCatalog newWidgetCatalog, @PathVariable("widgetId") long widgetId,
- @RequestHeader(value="Authorization") String auth) throws IOException {
-
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.updateWidgetCatalog in widget microserivce. Please check your username and password.");
- return;
- }
- try {
- widgetCatalogService.updateWidgetCatalog(widgetId, newWidgetCatalog);
- logger.debug("WidgetsCatalogController.updateWidgetCatalog: updating widget {}", newWidgetCatalog);
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.updateWidgetCatalog in widget microservices. Details:" + e.getMessage());
- e.printStackTrace();
- }
- }
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog" }, method = RequestMethod.POST, produces = "application/json")
- public ValidationRespond saveWidgetCatalog(HttpServletRequest request, HttpServletResponse response, @RequestHeader(value="Authorization") String auth,
- @RequestParam("file") MultipartFile file, @RequestParam("widget") String widget) throws IOException {
-
- ValidationRespond respond = null;
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.saveWidgetCatalog in widget microserivce. Please check your username and password.");
- return new ValidationRespond(false, "Basic Authentication Error, please check your username and password.");
- }
- try {
- //check the zip file structure first
- respond = storageService.checkZipFile(file);
-
- if(respond.isValid()){
- //save the widget catalog
- WidgetCatalog newWidget = new ObjectMapper().readValue(widget, WidgetCatalog.class);
-
- long widgetId = widgetCatalogService.saveWidgetCatalog(newWidget);
- logger.debug("WidgetsCatalogController.saveWidgetCatalog: saving widget={}", newWidget);
- //save the widget zip file ;
- storageService.save(file, newWidget, widgetId);
- }
-
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.saveWidgetCatalog in widget microservices. Details:" + e.getMessage());
- }
- return respond;
- }
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog/{widgetId}" }, method = RequestMethod.POST, produces = "application/json")
- public ValidationRespond updateWidgetCatalogwithFiles(HttpServletRequest request, HttpServletResponse response, @RequestHeader(value="Authorization") String auth,
- @RequestParam("file") MultipartFile file, @RequestParam("widget") String widget, @PathVariable("widgetId") long widgetId) throws IOException {
- System.out.println("microserivces updating with files" + widgetId);
- ValidationRespond respond = null;
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.saveWidgetCatalog in widget microserivce. Please check your username and password.");
- return new ValidationRespond(false, "Basic Authentication Error, please check your username and password.");
- }
- try {
- //check the zip file structure first
- respond = storageService.checkZipFile(file);
- if(respond.isValid()){
- //update the widget catalog
- WidgetCatalog newWidget = new ObjectMapper().readValue(widget, WidgetCatalog.class);
- widgetCatalogService.updateWidgetCatalog(widgetId, newWidget);
- logger.debug("WidgetsCatalogController.saveWidgetCatalog: updating widget with widgetId={}", widgetId);
- //update the widget zip file
- storageService.update(file, newWidget, widgetId);
- }
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.saveWidgetCatalog in widget microservices. Details:" + e.getMessage());
- e.printStackTrace();
- }
- return respond;
- }
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog/{widgetId}" }, method = {
- RequestMethod.DELETE }, produces = "application/json")
- public void deleteOnboardingWidget(HttpServletRequest request, HttpServletResponse response,
- @PathVariable("widgetId") long widgetId, @RequestHeader(value="Authorization") String auth) throws IOException{
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.deleteOnboardingWidget in widget microserivce. Please check your username and password.");
- return;
- }
- try {
- logger.debug("WidgetsCatalogController.deleteOnboardingWidget: deleting widget {}", widgetId);
- //WidgetCatalog widget = widgetCatalogService.getWidgetCatalog(widgetId);
- widgetCatalogService.deleteWidgetCatalog(widgetId);
- storageService.deleteWidgetFile(widgetId);
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.deleteOnboardingWidget in widget microservices. Details:" + e.getMessage());
- }
- }
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog/parameters/{widgetId}" }, method = RequestMethod.GET, produces = "application/json")
- public Long getServiceIdByWidget(HttpServletRequest request, HttpServletResponse response,
- @PathVariable("widgetId") Long widgetId, @RequestHeader(value="Authorization") String auth) throws IOException {
-
- Long serviceId = null;
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.getServiceIdByWidget in widget microserivce. Please check your username and password.");
- return serviceId;
- }
- try{
- logger.debug("WidgetsCatalogController.getServiceIdByWidget: getting service Id for widget {}", widgetId);
- serviceId = widgetCatalogService.getServiceIdByWidget(widgetId);
- }catch(Exception e){
- logger.error("Exception occurred while performing WidgetsCatalogController.getServiceIdByWidget in widget microservices. Details:" + e.getMessage());
- }
- return serviceId;
- }
-
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/widgetCatalog/service/{serviceId}" }, method = RequestMethod.GET, produces = "application/json")
- public List<WidgetCatalog> getWidgetByServiceId(HttpServletRequest request, HttpServletResponse response,
- @PathVariable("serviceId") Long serviceId, @RequestHeader(value="Authorization") String auth) throws IOException {
- List<WidgetCatalog> list = new ArrayList<WidgetCatalog>();
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.getWidgetByServiceId in widget microserivce. Please check your username and password.");
- return null;
- }
- try{
- logger.debug("WidgetsCatalogController.getWidgetByServiceId: getting service Id for widget {}", serviceId);
- list = widgetCatalogService.getWidgetsByServiceId(serviceId);
- }catch(Exception e){
- logger.error("Exception occurred while performing WidgetsCatalogController.getWidgetByServiceId in widget microservices. Details:" + e.getMessage());
- }
- return list;
- }
-
-
- @ResponseBody
- @RequestMapping(value = { "/microservices/download/{widgetId}" }, method = RequestMethod.GET, produces = "application/json")
- public byte[] getWidgetZipFile(HttpServletRequest request, HttpServletResponse response,
- @PathVariable("widgetId") long widgetId, @RequestHeader(value="Authorization") String auth) throws Exception {
- byte[] byteFile = null;
- if(!util.authorization(auth, security_user, security_pass)){
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- logger.error("Basic Authentication Error while performing WidgetsCatalogController.getWidgetZipFile in widget microserivce. Please check your username and password.");
- return byteFile;
- }
- try {
- byteFile = storageService.getWidgetCatalogContent(widgetId);
- logger.debug("WidgetsCatalogController.getWidgetZipFile: getting widget zip file for widget with id {}", widgetId);
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.getWidgetZipFile in widget microservices. Details:" + e.getMessage());
- }
- return byteFile;
- }
-
-
-} \ No newline at end of file
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/dao/WidgetDataSource.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/dao/WidgetDataSource.java
deleted file mode 100644
index 0a950c54..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/dao/WidgetDataSource.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.openecomp.portalapp.widget.dao;
-
-import javax.sql.DataSource;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import org.springframework.stereotype.Component;
-
-@Component
-public class WidgetDataSource{
-
- @Value("${spring.database.driver.classname}")
- private String dbDriverClassName;
-
- @Value("${spring.datasource.url}")
- private String dbUrl;
-
- @Value("${spring.datasource.username}")
- private String dbUsername;
-
- @Value("${spring.datasource.password}")
- private String dbPassword;
-
- @Bean
- public DataSource dataSource() {
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName(dbDriverClassName);
- dataSource.setUrl(dbUrl);
- dataSource.setUsername(dbUsername);
- dataSource.setPassword(dbPassword);
- return dataSource;
- }
-} \ No newline at end of file
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/App.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/App.java
deleted file mode 100644
index 19c6311b..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/App.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.openecomp.portalapp.widget.domain;
-
-import java.io.Serializable;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-@Entity
-@Table(name = "FN_APP")
-public class App implements Serializable{
-
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "APP_ID")
- @GeneratedValue(strategy=GenerationType.AUTO)
- private Long appId;
-
- @Column(name = "APP_Name")
- private String appName;
-
- public Long getAppId() {
- return appId;
- }
-
- public void setAppId(Long appId) {
- this.appId = appId;
- }
-
- public String getAppName() {
- return appName;
- }
-
- public void setAppName(String appName) {
- this.appName = appName;
- }
-
- @Override
- public String toString() {
- return "App [appId=" + appId + ", appName=" + appName + "]";
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceData.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceData.java
deleted file mode 100644
index 831b1e65..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceData.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.openecomp.portalapp.widget.domain;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-/**
- * TODO: moved all microservice-related code (domain, controller, service)
- * from ecomp portal Backend to widget microservice
- */
-@Entity
-@Table(name="EP_MICROSERVICE")
-public class MicroserviceData {
-
- @Id
- @Column(name = "id")
- @GeneratedValue(strategy=GenerationType.AUTO)
- private Long id;
-
- @Column(name = "name")
- private String name;
-
- @Column(name = "description")
- private String desc;
-
- @Column(name = "appId")
- private long appId;
-
- @Column(name = "endpoint_url")
- private String url;
-
- @Column(name = "security_type")
- private String securityType;
-
- @Column(name = "username")
- private String username;
-
- @Column(name = "password")
- private String password;
-
- @Column(name = "active")
- private String active;
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDesc() {
- return desc;
- }
-
- public void setDesc(String desc) {
- this.desc = desc;
- }
-
- public long getAppId() {
- return appId;
- }
-
- public void setAppId(long appId) {
- this.appId = appId;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public String getSecurityType() {
- return securityType;
- }
-
- public void setSecurityType(String securityType) {
- this.securityType = securityType;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public String getActive() {
- return active;
- }
-
- public void setActive(String active) {
- this.active = active;
- }
-
- @Override
- public String toString() {
- return "MicroserviceData [name=" + name + ", desc=" + desc + ", appId=" + appId + ", url=" + url
- + ", securityType=" + securityType + ", username=" + username + ", password=" + password + ", active="
- + active + "]";
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceParameter.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceParameter.java
deleted file mode 100644
index 9f19c0d4..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/MicroserviceParameter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.openecomp.portalapp.widget.domain;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-/**
- * TODO: moved all microservice-related code (domain, controller, service)
- * from ecomp portal Backend to widget microservice
- */
-@Entity
-@Table(name="EP_MICROSERVICE_PARAMETER")
-public class MicroserviceParameter {
-
- @Id
- @Column(name = "id")
- @GeneratedValue(strategy=GenerationType.AUTO)
- private Long id;
-
- @Column(name = "service_id")
- private long serviceId;
-
- @Column(name = "para_key")
- private String para_key;
-
- @Column(name = "para_value")
- private String para_value;
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public long getServiceId() {
- return serviceId;
- }
-
- public void setServiceId(long serviceId) {
- this.serviceId = serviceId;
- }
-
- public String getPara_key() {
- return para_key;
- }
-
- public void setPara_key(String para_key) {
- this.para_key = para_key;
- }
-
- public String getPara_value() {
- return para_value;
- }
-
- public void setPara_value(String para_value) {
- this.para_value = para_value;
- }
-
- @Override
- public String toString() {
- return "MicroserviceParameter [serviceId=" + serviceId + ", para_key=" + para_key + ", para_value=" + para_value
- + "]";
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/RoleApp.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/RoleApp.java
deleted file mode 100644
index 93fa9963..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/RoleApp.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.openecomp.portalapp.widget.domain;
-
-import java.io.Serializable;
-import java.util.Set;
-
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
-import javax.persistence.PreRemove;
-import javax.persistence.Table;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
-@Entity
-@Table(name = "FN_ROLE")
-public class RoleApp implements Serializable{
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "ROLE_ID")
- @GeneratedValue(strategy=GenerationType.AUTO)
- private Long roleId;
-
-
- @Column(name = "ROLE_Name")
- private String roleName;
-
- @ManyToOne(fetch = FetchType.EAGER)
- @JoinColumn(name="APP_ID")
- private App app;
-
- @JsonIgnore
- @ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}, mappedBy="widgetRoles")
- private Set<WidgetCatalog> widgets;
-
- /*@PreRemove
- private void removeGroupsFromUsers() {
- for (WidgetCatalog w : widgets) {
- w.getWidgetRoles().remove(this);
- }
- }*/
-
- /*@ManyToOne
- @JoinColumn(name = "WIDGET_ID", nullable = false)
- WidgetCatalog widgetCatalog;*/
-
- //@JsonIgnore
- //@ManyToMany(mappedBy = "widgetRoles")
- //@ManyToMany(fetch = FetchType.EAGER, mappedBy = "widgetRoles")
- //private Set<WidgetCatalog> widgets = new HashSet<WidgetCatalog>();
-
- public Long getRoleId() {
- return roleId;
- }
-
- public void setRoleId(Long roleId) {
- this.roleId = roleId;
- }
-
- public String getRoleName() {
- return roleName;
- }
-
- public void setRoleName(String roleName) {
- this.roleName = roleName;
- }
-
- public App getApp() {
- return app;
- }
-
- public void setApp(App app) {
- this.app = app;
- }
-
- public Set<WidgetCatalog> getWidgets() {
- return widgets;
- }
-
- public void setWidgets(Set<WidgetCatalog> widgets) {
- this.widgets = widgets;
- }
-
- @Override
- public String toString() {
- return "RoleApp [roleId=" + roleId + ", roleName=" + roleName + ", app=" + app + "]";
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/ValidationRespond.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/ValidationRespond.java
deleted file mode 100644
index 25c74af1..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/ValidationRespond.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.openecomp.portalapp.widget.domain;
-
-public class ValidationRespond {
- private boolean valid;
- private String error;
-
- public ValidationRespond(boolean valid, String error){
- this.valid = valid;
- this.error = error;
- }
-
- public boolean isValid() {
- return valid;
- }
-
- public void setValid(boolean valid) {
- this.valid = valid;
- }
-
- public String getError() {
- return error;
- }
-
- public void setError(String error) {
- this.error = error;
- }
-
- @Override
- public String toString() {
- return "ValidationRespond [valid=" + valid + ", error=" + error + "]";
- }
-
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetCatalog.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetCatalog.java
deleted file mode 100644
index a4491997..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetCatalog.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.openecomp.portalapp.widget.domain;
-
-import java.util.Set;
-
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.Table;
-import javax.persistence.Transient;
-
-
-@Entity
-@Table(name="EP_WIDGET_CATALOG")
-public class WidgetCatalog{
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "widget_id")
- @GeneratedValue(strategy=GenerationType.AUTO)
- private long id;
-
- @Column(name = "wdg_name")
- private String name;
-
- @Column(name = "wdg_desc")
- private String desc;
-
- @Column(name = "wdg_file_loc")
- private String fileLocation;
-
- @Column(name = "all_user_flag")
- private String allowAllUser;
-
- @Column(name = "service_id")
- private Long serviceId;
-
- @Transient
- private String sortOrder;
-
- @Transient
- private String statusCode;
-
- @ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
- @JoinTable(name = "ep_widget_catalog_role",
- joinColumns = {@JoinColumn(name = "WIDGET_ID")},
- inverseJoinColumns = {@JoinColumn(name = "ROLE_ID")}
- )
- private Set<RoleApp> widgetRoles;
-
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDesc() {
- return desc;
- }
-
- public void setDesc(String desc) {
- this.desc = desc;
- }
-
- public String getFileLocation() {
- return fileLocation;
- }
-
- public void setFileLocation(String fileLocation) {
- this.fileLocation = fileLocation;
- }
-
- public Set<RoleApp> getWidgetRoles() {
- return widgetRoles;
- }
-
- public void setWidgetRoles(Set<RoleApp> widgetRoles) {
- this.widgetRoles = widgetRoles;
- }
-
- public String getAllowAllUser() {
- return allowAllUser;
- }
-
- public void setAllowAllUser(String allowAllUser) {
- this.allowAllUser = allowAllUser;
- }
-
- public String getSortOrder() {
- return sortOrder;
- }
-
- public void setSortOrder(String sortOrder) {
- this.sortOrder = sortOrder;
- }
-
- public String getStatusCode() {
- return statusCode;
- }
-
- public void setStatusCode(String statusCode) {
- this.statusCode = statusCode;
- }
-
- public Long getServiceId() {
- return serviceId;
- }
-
- public void setServiceId(Long serviceId) {
- this.serviceId = serviceId;
- }
-
- @Override
- public String toString() {
- return "WidgetCatalog [name=" + name + ", desc=" + desc + ", allowAllUser=" + allowAllUser + "]";
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetFile.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetFile.java
deleted file mode 100644
index 7eb3c1ef..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/domain/WidgetFile.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.openecomp.portalapp.widget.domain;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-@Entity
-@Table(name = "ep_widget_catalog_files")
-public class WidgetFile {
- @Id
- @Column (name = "file_id")
- private int id;
-
- @Column(name = "widget_name")
- private String name;
-
- @Column(name = "widget_id")
- private long widgetId;
-
- @Column(name = "markup_html")
- private byte[] markup;
-
- @Column(name = "controller_js")
- private byte[] controller;
-
- @Column(name = "framework_js")
- private byte[] framework;
-
- @Column(name = "widget_css")
- private byte[] css;
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public byte[] getMarkup() {
- return markup;
- }
-
- public void setMarkup(byte[] markup) {
- this.markup = markup;
- }
-
- public byte[] getController() {
- return controller;
- }
-
- public void setController(byte[] controller) {
- this.controller = controller;
- }
-
- public byte[] getFramework() {
- return framework;
- }
-
- public void setFramework(byte[] framework) {
- this.framework = framework;
- }
-
- public byte[] getCss() {
- return css;
- }
-
- public void setCss(byte[] css) {
- this.css = css;
- }
-
- public long getWidgetId() {
- return widgetId;
- }
-
- public void setWidgetId(long widgetId) {
- this.widgetId = widgetId;
- }
-
- @Override
- public String toString() {
- return "WidgetFile [name=" + name + ", widgetId=" + widgetId + "]";
- }
-
-
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageException.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageException.java
deleted file mode 100644
index 65b71454..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageException.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.openecomp.portalapp.widget.excetpion;
-
-public class StorageException extends RuntimeException {
-
-
- private static final long serialVersionUID = 4142203582273176386L;
-
- public StorageException(String message) {
- super(message);
- }
-
- public StorageException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageFileNotFoundException.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageFileNotFoundException.java
deleted file mode 100644
index 44fb7286..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/excetpion/StorageFileNotFoundException.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.openecomp.portalapp.widget.excetpion;
-
-public class StorageFileNotFoundException extends StorageException {
-
- private static final long serialVersionUID = -930114778119283188L;
-
- public StorageFileNotFoundException(String message) {
- super(message);
- }
-
- public StorageFileNotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-} \ No newline at end of file
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/filters/CorsConfiguration.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/filters/CorsConfiguration.java
deleted file mode 100644
index 2fdb5480..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/filters/CorsConfiguration.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.openecomp.portalapp.widget.filters;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-public class CorsConfiguration extends WebSecurityConfigurerAdapter {
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- http.authorizeRequests().antMatchers(HttpMethod.OPTIONS, "/microservices/widgetCatalog/").permitAll();
- http.csrf().disable();
- }
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/hibernate/HibernateConfiguration.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/hibernate/HibernateConfiguration.java
deleted file mode 100644
index a376da0a..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/hibernate/HibernateConfiguration.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.openecomp.portalapp.widget.hibernate;
-
-import java.util.Properties;
-
-import javax.sql.DataSource;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
-import org.springframework.orm.jpa.JpaTransactionManager;
-import org.springframework.transaction.PlatformTransactionManager;
-
-/**
- * Provides a Hibernate session factory.
- */
-@org.springframework.context.annotation.Configuration
-public class HibernateConfiguration {
-
- @Autowired
- private DataSource dataSource;
-
- @Bean
- public LocalSessionFactoryBean sessionFactory() {
-
- LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
- sessionFactory.setDataSource(dataSource);
- sessionFactory.setHibernateProperties(hibernateProperties());
- sessionFactory.setPackagesToScan(new String[] { "org.openecomp.portalapp.widget.domain" });
- return sessionFactory;
- }
-
- private Properties hibernateProperties() {
- Properties properties = new Properties();
- properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
- properties.put("hibernate.show_sql", "false");
- return properties;
- }
-
- @Bean
- public PlatformTransactionManager transactionManager() {
- return new JpaTransactionManager();
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/listener/WidgetEventListener.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/listener/WidgetEventListener.java
deleted file mode 100644
index 3516196b..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/listener/WidgetEventListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.openecomp.portalapp.widget.listener;
-
-import org.openecomp.portalapp.widget.service.InitializationService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.event.ApplicationReadyEvent;
-import org.springframework.context.ApplicationListener;
-import org.springframework.stereotype.Component;
-
-@Component
-public class WidgetEventListener implements ApplicationListener<ApplicationReadyEvent>{
-
- private static final Logger logger = LoggerFactory.getLogger(WidgetEventListener.class);
-
- @Autowired
- InitializationService initializationService;
-
- @Value("${initialization.default.widgets}")
- String init_default_widget;
-
- @Override
- public void onApplicationEvent(ApplicationReadyEvent event) {
-
- logger.debug("Listening event " + event.toString());
- try {
- if(Boolean.parseBoolean(init_default_widget))
- initializationService.initialize();
- } catch (Exception e) {
- logger.error("Exception occurred while performing WidgetsCatalogController.initializeWidgetCatalog in widget microservices. Details:" + e.getMessage());
- }
-
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/InitializationService.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/InitializationService.java
deleted file mode 100644
index 4a34606a..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/InitializationService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.openecomp.portalapp.widget.service;
-
-public interface InitializationService {
-
- void initialize();
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/MicroserviceService.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/MicroserviceService.java
deleted file mode 100644
index 32eb48b1..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/MicroserviceService.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openecomp.portalapp.widget.service;
-
-import org.openecomp.portalapp.widget.domain.MicroserviceData;
-import org.openecomp.portalapp.widget.domain.MicroserviceParameter;
-
-/**
- * TODO: moved all microservice-related code (domain, controller, service)
- * from ecomp portal Backend to widget microservice
- */
-public interface MicroserviceService {
-
- Long saveMicroserivce(MicroserviceData newService);
-
- void saveMicroserviceParameter(MicroserviceParameter newParameter);
-
- Long getMicroserviceIdByName(String newServiceName);
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/StorageService.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/StorageService.java
deleted file mode 100644
index 1eb14704..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/StorageService.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.openecomp.portalapp.widget.service;
-
-import java.io.File;
-import java.io.UnsupportedEncodingException;
-
-import org.openecomp.portalapp.widget.domain.ValidationRespond;
-import org.openecomp.portalapp.widget.domain.WidgetCatalog;
-import org.openecomp.portalapp.widget.domain.WidgetFile;
-import org.springframework.web.multipart.MultipartFile;
-
-public interface StorageService {
-
- void deleteWidgetFile(long widgetId);
-
- WidgetFile getWidgetFile(long widgetId);
-
- String getWidgetMarkup(long widgetId) throws UnsupportedEncodingException;
-
- String getWidgetController(long widgetId) throws UnsupportedEncodingException;
-
- String getWidgetFramework(long widgetId) throws UnsupportedEncodingException;
-
- String getWidgetCSS(long widgetId) throws UnsupportedEncodingException;
-
- ValidationRespond checkZipFile(MultipartFile file);
-
- void save(MultipartFile file, WidgetCatalog newWidget, long widgetId);
-
- void initSave(File file, WidgetCatalog newWidget, long widgetId);
-
- void update(MultipartFile file, WidgetCatalog newWidget, long widgetId);
-
- byte[] getWidgetCatalogContent(long widgetId) throws Exception;
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/WidgetCatalogService.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/WidgetCatalogService.java
deleted file mode 100644
index 82853dcd..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/WidgetCatalogService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openecomp.portalapp.widget.service;
-
-import java.util.List;
-
-import org.openecomp.portalapp.widget.domain.RoleApp;
-import org.openecomp.portalapp.widget.domain.WidgetCatalog;
-
-public interface WidgetCatalogService {
-
- List<WidgetCatalog> getWidgetCatalog();
-
- List<WidgetCatalog> getUserWidgetCatalog(String loginName);
-
- WidgetCatalog getWidgetCatalog(Long widgetCatalogId);
-
- void deleteWidgetCatalog(long WidgetCatalogId);
-
- long saveWidgetCatalog(WidgetCatalog newWidgetCatalog);
-
- void updateWidgetCatalog(Long widgetCatalogId, WidgetCatalog newWidgetCatalog);
-
- Long getServiceIdByWidget(Long widgetCatalogId);
-
- boolean getWidgetIdByName(String newWidgetName);
-
- List<WidgetCatalog> getWidgetsByServiceId(Long serviceId);
-
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/InitializationServiceImpl.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/InitializationServiceImpl.java
deleted file mode 100644
index 31635f74..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/InitializationServiceImpl.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.openecomp.portalapp.widget.service.impl;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashSet;
-
-import javax.transaction.Transactional;
-
-import org.openecomp.portalapp.widget.controller.WidgetsCatalogController;
-import org.openecomp.portalapp.widget.domain.MicroserviceData;
-import org.openecomp.portalapp.widget.domain.MicroserviceParameter;
-import org.openecomp.portalapp.widget.domain.RoleApp;
-import org.openecomp.portalapp.widget.domain.WidgetCatalog;
-import org.openecomp.portalapp.widget.service.InitializationService;
-import org.openecomp.portalapp.widget.service.MicroserviceService;
-import org.openecomp.portalapp.widget.service.StorageService;
-import org.openecomp.portalapp.widget.service.WidgetCatalogService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Service;
-
-@Service("initService")
-@Transactional
-@org.springframework.context.annotation.Configuration
-@EnableAspectJAutoProxy
-public class InitializationServiceImpl implements InitializationService{
-
- private static final String BASIC_AUTH = "Basic Authentication";
- private static final String PARAMETER_KEY = "resourceType";
- private static final Logger logger = LoggerFactory.getLogger(WidgetsCatalogController.class);
-
- @Autowired
- WidgetCatalogService widgetCatalogService;
-
- @Autowired
- StorageService storageService;
-
- @Autowired
- MicroserviceService microserviceService;
-
- @Value("${account.user.name}")
- String account_user;
-
- @Value("${account.user.password}")
- String account_password;
-
- @Value("${initialization.widgetData.url}")
- String widgetData_url;
-
- @Override
- public void initialize() {
- initCommonWidget("News");
- initCommonWidget("Events");
- initCommonWidget("Resources");
- }
-
- private void initCommonWidget(String name){
-
- final String newServiceName = name + " Microservice";
- final String newWidgetName = name + " Widget";
-
- Long serviceId = microserviceService.getMicroserviceIdByName(newServiceName);
-
- if(serviceId == null){
- MicroserviceData newService = new MicroserviceData();
- newService.setName(newServiceName);
- newService.setDesc(name);
- newService.setAppId(1);
- newService.setUrl(widgetData_url);
- newService.setSecurityType(BASIC_AUTH);
- newService.setUsername(account_user);
- newService.setPassword(account_password);
- newService.setActive("Y");
- serviceId = microserviceService.saveMicroserivce(newService);
-
-
- MicroserviceParameter parameter = new MicroserviceParameter();
- parameter.setServiceId(serviceId);
- parameter.setPara_key(PARAMETER_KEY);
- String parameter_value = null;
- switch(name.toLowerCase()){
- case "news":
- parameter_value = "NEWS";
- break;
- case "events":
- parameter_value = "EVENTS";
- break;
- case "resources":
- parameter_value = "IMPORTANTRESOURCES";
- break;
- }
- parameter.setPara_value(parameter_value);
- microserviceService.saveMicroserviceParameter(parameter);
- }
-
- if(!widgetCatalogService.getWidgetIdByName(newWidgetName)){
- WidgetCatalog newWidget = new WidgetCatalog();
- newWidget.setName(newWidgetName);
- newWidget.setDesc(name);
- newWidget.setAllowAllUser("1");
- String fileLocation = name.toLowerCase() + "-widget.zip";
- newWidget.setFileLocation(fileLocation);
- newWidget.setServiceId(serviceId);
- newWidget.setWidgetRoles(new HashSet<RoleApp>());
- long widgetId = widgetCatalogService.saveWidgetCatalog(newWidget);
-
- File file = new File("/tmp/" + fileLocation);
- try{
-
- InputStream fileInputStream = this.getClass().getClassLoader().getResourceAsStream(fileLocation);
- OutputStream outputStream = new FileOutputStream(file);
- int read = 0;
- byte[] bytes = new byte[4096];
- while ((read = fileInputStream.read(bytes)) != -1) {
- outputStream.write(bytes, 0, read);
- }
- }catch(Exception e){
- logger.error("Exception occurred while performing InitializationServiceImpl.initCommonWidget in widget microservices. Details:" + e.getMessage());
- }
- storageService.initSave(file, newWidget, widgetId);
- }
- }
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/MicroserviceServiceImpl.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/MicroserviceServiceImpl.java
deleted file mode 100644
index 395d4283..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/MicroserviceServiceImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.openecomp.portalapp.widget.service.impl;
-
-import java.util.List;
-
-import javax.transaction.Transactional;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.portalapp.widget.domain.MicroserviceData;
-import org.openecomp.portalapp.widget.domain.MicroserviceParameter;
-import org.openecomp.portalapp.widget.domain.WidgetCatalog;
-import org.openecomp.portalapp.widget.service.MicroserviceService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Service;
-
-/**
- * TODO: moved all microservice-related code (domain, controller, service)
- * from ecomp portal Backend to widget microservice
- */
-@Service("microserviceService")
-@Transactional
-@org.springframework.context.annotation.Configuration
-@EnableAspectJAutoProxy
-public class MicroserviceServiceImpl implements MicroserviceService{
-
- private static final Logger logger = LoggerFactory.getLogger(MicroserviceServiceImpl.class);
-
- @Autowired
- private SessionFactory sessionFactory;
-
- @Override
- public Long saveMicroserivce(MicroserviceData newService) {
- try{
- logger.debug("MicroserviceServiceImpl.saveMicroserivce: microservice={}", newService);
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- session.save(newService);
- tx.commit();
- session.flush();
- session.close();
- }
- catch(Exception e){
- logger.error("Exception occurred while performing MicroserviceServiceImpl.saveMicroserivce in widget microservices. Details:" + e.getMessage());
- }
- return newService.getId();
- }
-
- @Override
- public void saveMicroserviceParameter(MicroserviceParameter newParameter) {
- try{
- logger.debug("MicroserviceServiceImpl.saveMicroserviceData: microservice={}", newParameter);
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- session.save(newParameter);
- tx.commit();
- session.flush();
- session.close();
- }
- catch(Exception e){
- logger.error("Exception occurred while performing MicroserviceServiceImpl.saveMicroserviceData in widget microservices. Details:" + e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public Long getMicroserviceIdByName(String newServiceName) {
-
- Session session = sessionFactory.openSession();
- Criteria criteria = session.createCriteria(MicroserviceData.class)
- .add(Restrictions.eq("name", newServiceName))
- .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
-
- List<MicroserviceData> services = criteria.list();
- logger.debug("MicroserviceServiceImpl.getMicroserviceByName: result={}", services);
- session.flush();
- session.close();
-
- return (services.size() > 0) ? services.get(0).getId() : null;
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/StorageServiceImpl.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/StorageServiceImpl.java
deleted file mode 100644
index 046b5ac4..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/StorageServiceImpl.java
+++ /dev/null
@@ -1,487 +0,0 @@
-package org.openecomp.portalapp.widget.service.impl;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.portalapp.widget.constant.WidgetConstant;
-import org.openecomp.portalapp.widget.controller.DatabaseFileUploadController;
-import org.openecomp.portalapp.widget.domain.ValidationRespond;
-import org.openecomp.portalapp.widget.domain.WidgetCatalog;
-import org.openecomp.portalapp.widget.domain.WidgetFile;
-import org.openecomp.portalapp.widget.excetpion.StorageException;
-import org.openecomp.portalapp.widget.service.StorageService;
-import org.openecomp.portalapp.widget.service.WidgetCatalogService;
-import org.openecomp.portalapp.widget.utils.UnzipUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-
-@Service
-public class StorageServiceImpl implements StorageService {
-
- private static final Logger logger = LoggerFactory.getLogger(StorageServiceImpl.class);
-
- @Autowired
- private SessionFactory sessionFactory;
-
- @Autowired
- WidgetCatalogService widgetCatalogService;
-
- @Override
- @Transactional
- public void deleteWidgetFile(long widgetId) {
- WidgetFile widgetFile = getWidgetFile(widgetId);
- logger.debug("StorageServiceImpl.deleteWidgetFile: deleting widget file {}", widgetId);
- if (widgetFile == null){
- logger.debug("StorageServiceImpl.deleteWidgetFile: No widget file found in database while performing StorageServiceImpl.deleteWidgetFile.");
- return;
- }
- Session session = sessionFactory.getCurrentSession();
- Transaction tx = session.beginTransaction();
- session.delete(widgetFile);
- tx.commit();
- }
-
- @Override
- @SuppressWarnings("unchecked")
- @Transactional
- public WidgetFile getWidgetFile(long widgetId) {
- logger.debug("StorageServiceImpl.getWidgetFile: getting widget file {}", widgetId);
- WidgetFile widgetFile = null;
- Session session = sessionFactory.openSession();
- Criteria criteria = session.createCriteria(WidgetFile.class);
- criteria.add(Restrictions.eq("widgetId", widgetId));
- List<WidgetFile> widgetFiles = criteria.list();
- session.flush();
- session.close();
- if (widgetFiles.size() > 0)
- widgetFile = widgetFiles.get(0);
- return widgetFile;
- }
-
- @Override
- public ValidationRespond checkZipFile(MultipartFile file){
- StringBuilder error_msg = new StringBuilder();
- UnzipUtil unzipper = new UnzipUtil();
- Map<String, byte[]> map;
- File convFile;
- boolean isValid = true;
- if (!file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf('.')).equals(".zip")) {
- isValid = false;
- error_msg.append(WidgetConstant.VALIDATION_MESSAGE_ZIP);
- logger.error("StorageServiceImpl.checkZipFile: invalid file format");
- }
- try {
- if (file.isEmpty()) {
- logger.error("StorageServiceImpl.checkZipFile: Failed to store empty file " + file.getOriginalFilename());
- throw new StorageException("StorageServiceImpl.checkZipFile: Failed to store empty file " + file.getOriginalFilename());
- }
- String fileLocation = file.getOriginalFilename();
- logger.debug("StorageServiceImpl.checkZipFile: store the widget to:" + fileLocation);
- convFile = new File(fileLocation);
- FileOutputStream fos = new FileOutputStream(convFile);
- fos.write(file.getBytes());
- fos.close();
- map = unzipper.unzip_db(fileLocation, ".", "tempWidgets");
- convFile.delete();
- } catch (IOException e) {
- logger.error("StorageServiceImpl.checkZipFile: Failed to store file " + file.getOriginalFilename(), e);
- throw new StorageException("torageServiceImpl.checkZipFile: Failed to store file " + file.getOriginalFilename(), e);
- }
-
- for(byte[] b: map.values()){
- if(isValid && b == null){
- isValid = false;
- error_msg.append(WidgetConstant.VALIDATION_MESSAGE_FILES);
- break;
- }
- }
- return new ValidationRespond(isValid, error_msg.toString());
- }
-
- @Override
- @Transactional
- public void save(MultipartFile file, WidgetCatalog newWidget, long widgetId) {
-
- UnzipUtil unzipper = new UnzipUtil();
- Map<String, byte[]> map;
- File convFile;
- try {
- if (file.isEmpty()) {
- logger.error("Failed to store empty file " + file.getOriginalFilename());
- throw new StorageException("Failed to store empty file " + file.getOriginalFilename());
- }
- String fileLocation = file.getOriginalFilename();
- logger.debug("StorageServiceImpl.save: store the widget to:" + fileLocation);
- convFile = new File(fileLocation);
- FileOutputStream fos = new FileOutputStream(convFile);
- fos.write(file.getBytes());
- fos.close();
- map = unzipper.unzip_db(fileLocation, ".", "tempWidgets");
- convFile.delete();
- } catch (IOException e) {
- logger.error("StorageServiceImpl.save: Failed to store file " + file.getOriginalFilename(), e);
- throw new StorageException("Failed to store file " + file.getOriginalFilename(), e);
- }
- saveHelper(newWidget, widgetId, map);
- }
-
-
- @Override
- @Transactional
- public void initSave(File file, WidgetCatalog newWidget, long widgetId) {
-
- UnzipUtil unzipper = new UnzipUtil();
- Map<String, byte[]> map;
-
- try {
- String fileLocation = file.getPath();
- logger.debug("StorageServiceImpl.save: store the widget to:" + fileLocation);
- map = unzipper.unzip_db(fileLocation, ".", "tempWidgets");
- } catch (IOException e) {
- logger.error("StorageServiceImpl.save: Failed to store file " + file.getName(), e);
- throw new StorageException("Failed to store file " + file.getName(), e);
- }
- saveHelper(newWidget, widgetId, map);
- }
-
-
- /**
- * Helper method for saving widget files (controller.js, framework.js, markup.html and style.css)
- * to ep_widget_catalog_files table in database
- *
- * @param newWidget
- * @param widgetId
- * @param map
- */
- private void saveHelper(WidgetCatalog newWidget, long widgetId, Map<String, byte[]> map){
-
- WidgetFile widgetFile = new WidgetFile();
- widgetFile.setName(newWidget.getName());
- widgetFile.setWidgetId(widgetId);
-
-
- InputStream fileInputStream = this.getClass().getClassLoader().getResourceAsStream("framework-template.js");
-
- String sb = null;
- try {
- byte[] bytes = new byte[fileInputStream.available()];
- fileInputStream.read(bytes);
- sb = new String(bytes, "UTF-8");
- } catch (IOException e) {
- logger.error("StorageServiceImpl.save: Failed to load framework-template.js file ", e);
- e.printStackTrace();
- } finally {
- if (fileInputStream != null) {
- try {
- fileInputStream.close();
- } catch (IOException e) {
- logger.error("StorageServiceImpl.update: Failed to close the fileInputStream ", e);
- e.printStackTrace();
- }
- }
- }
-
-
- String namespace = "Portal" + widgetId + "Widget";
- String controllerName = "Portal" + widgetId + "Ctrl";
- String cssName = "portal" + widgetId + "-css-ready";
- String colorArg1 = "color: #fff";
- String framework = sb
- .replaceAll("ARUGMENT1", namespace)
- .replaceAll("ARUGMENT2", controllerName)
- .replaceAll("ARUGMENT3", cssName)
- .replaceAll("CSS_ARG1", colorArg1)
- .replaceAll("MICROSERVICE_ID", newWidget.getServiceId().toString())
- .replaceAll("WIDGET_ID", Long.toString(widgetId));
-
- widgetFile.setFramework(framework.getBytes());
-
- String javascript = new String(map.get(WidgetConstant.WIDGET_CONTROLLER_LOCATION));
- String functionHeader = javascript.substring(javascript.indexOf("function"), javascript.indexOf(")")+1);
- String functionName = functionHeader.substring(functionHeader.indexOf(" "), functionHeader.indexOf("(")).trim();
- javascript = javascript.replaceFirst(functionName, controllerName);
- String functionParam = functionHeader.substring(functionHeader.indexOf("(")+1, functionHeader.indexOf(")"));
- List<String> paramList = Arrays.asList(functionParam.split(","));
-
- int left_bracket_index = javascript.indexOf("{") + 1;
- String widgetData = namespace + "=" + namespace + "||{};" + "var res = " + namespace + ".widgetData;";
- javascript = javascript.substring(0, left_bracket_index) + widgetData + javascript.substring(left_bracket_index);
-
- StringBuilder injectStr = new StringBuilder().append("[");
- for(int i = 0; i < paramList.size(); i++){
- if(i == paramList.size()-1)
- injectStr.append("'" + paramList.get(i).trim() + "'];");
- else
- injectStr.append("'" + paramList.get(i).trim() + "',");
- }
- javascript = namespace + ".controller = " + javascript + ";" + namespace + ".controller.$inject = " + injectStr.toString();
-
- String html = new String(map.get(WidgetConstant.WIDGET_MARKUP_LOCATION)).replaceFirst(functionName, controllerName);;
-
- Pattern cssPattern = Pattern.compile("#.*-css-ready");
- Matcher cssMatcher = cssPattern.matcher(new String(map.get(WidgetConstant.WIDGET_STYLE_LOCATION)));
- if (cssMatcher.find( )) {
- widgetFile.setCss(new String(map.get(WidgetConstant.WIDGET_STYLE_LOCATION)).replace(cssMatcher.group(0), "#" + cssName).getBytes());
- }
-
- widgetFile.setMarkup(html.getBytes());
- widgetFile.setController(javascript.getBytes());
- Session session = sessionFactory.openSession();
- session.save(widgetFile);
- session.flush();
- session.close();
- //sessionFactory.getCurrentSession().save(widgetFile);
- logger.debug("StorageServiceImpl.save: saved fraemwork.js controller.js, markup.html and style.css files to the database for widget {}", widgetId);
-
- }
-
- @Override
- public void update(MultipartFile file, WidgetCatalog newWidget, long widgetId) {
- UnzipUtil unzipper = new UnzipUtil();
- Map<String, byte[]> map;
- File convFile;
- try {
- if (file.isEmpty()) {
- logger.error("StorageServiceImpl.update: Failed to store empty file " + file.getOriginalFilename());
- throw new StorageException("Failed to store empty file " + file.getOriginalFilename());
- }
- String fileLocation = file.getOriginalFilename();
- logger.debug("StorageServiceImpl.update: store the widget to:" + fileLocation);
- convFile = new File(fileLocation);
- FileOutputStream fos = new FileOutputStream(convFile);
- fos.write(file.getBytes());
- fos.close();
- map = unzipper.unzip_db(fileLocation, ".", "tempWidgets");
- convFile.delete();
- } catch (IOException e) {
- logger.error("StorageServiceImpl.update: Failed to store file " + file.getOriginalFilename(), e);
- throw new StorageException("StorageServiceImpl.update: Failed to store file " + file.getOriginalFilename(), e);
- }
- WidgetFile widgetFile = getWidgetFile(widgetId);
-
- InputStream fileInputStream = this.getClass().getClassLoader().getResourceAsStream("framework-template.js");
- String sb = null;
- try {
- byte[] bytes = new byte[fileInputStream.available()];
- fileInputStream.read(bytes);
- sb = new String(bytes, "UTF-8");
- } catch (IOException e) {
- logger.error("StorageServiceImpl.save: Failed to load framework-template.js file ", e);
- e.printStackTrace();
- } finally {
- if (fileInputStream != null) {
- try {
- fileInputStream.close();
- } catch (IOException e) {
- logger.error("StorageServiceImpl.update: Failed to close the fileInputStream ", e);
- e.printStackTrace();
- }
- }
- }
-
- String namespace = "Portal" + widgetId + "Widget";
- String controllerName = "Portal" + widgetId + "Ctrl";
- String cssName = "portal" + widgetId + "-css-ready";
- String colorArg1 = "color: #fff";
- String framework = sb
- .replaceAll("ARUGMENT1", namespace)
- .replaceAll("ARUGMENT2", controllerName)
- .replaceAll("ARUGMENT3", cssName)
- .replaceAll("CSS_ARG1", colorArg1)
- .replaceAll("MICROSERVICE_ID", newWidget.getServiceId().toString())
- .replaceAll("WIDGET_ID", Long.toString(widgetId));
- widgetFile.setFramework(framework.getBytes());
-
- String javascript = new String(map.get(WidgetConstant.WIDGET_CONTROLLER_LOCATION));
- String functionHeader = javascript.substring(javascript.indexOf("function"), javascript.indexOf(")")+1);
- String functionName = functionHeader.substring(functionHeader.indexOf(" "), functionHeader.indexOf("(")).trim();
- javascript = javascript.replaceFirst(functionName, controllerName);
- String functionParam = functionHeader.substring(functionHeader.indexOf("(")+1, functionHeader.indexOf(")"));
- List<String> paramList = Arrays.asList(functionParam.split(","));
-
- int left_bracket_index = javascript.indexOf("{") + 1;
- String widgetData = namespace + "=" + namespace + "||{};" + "var res = " + namespace + ".widgetData;";
- javascript = javascript.substring(0, left_bracket_index) + widgetData + javascript.substring(left_bracket_index);
-
- StringBuilder injectStr = new StringBuilder().append("[");
- for(int i = 0; i < paramList.size(); i++){
- if(i == paramList.size()-1)
- injectStr.append("'" + paramList.get(i).trim() + "'];");
- else
- injectStr.append("'" + paramList.get(i).trim() + "',");
- }
- javascript = namespace + ".controller = " + javascript + ";" + namespace + ".controller.$inject = " + injectStr.toString();
-
- String html = new String(map.get(WidgetConstant.WIDGET_MARKUP_LOCATION)).replaceFirst(functionName, controllerName);;
-
- Pattern cssPattern = Pattern.compile("#.*-css-ready");
- Matcher cssMatcher = cssPattern.matcher(new String(map.get(WidgetConstant.WIDGET_STYLE_LOCATION)));
- if (cssMatcher.find( )) {
- widgetFile.setCss(new String(map.get(WidgetConstant.WIDGET_STYLE_LOCATION)).replace(cssMatcher.group(0), "#" + cssName).getBytes());
- }
-
- widgetFile.setMarkup(html.getBytes());
- widgetFile.setController(javascript.getBytes());
- //widgetFile.setCss(map.get(WidgetConstant.WIDGET_STYLE_LOCATION));
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- session.update(widgetFile);
- tx.commit();
- session.flush();
- session.close();
- logger.debug("StorageServiceImpl.save: updated fraemwork.js controller.js, markup.html and style.css files to the database for widget {}", widgetId);
- }
-
-
- @Override
- @SuppressWarnings("unchecked")
- @Transactional
- public String getWidgetMarkup(long widgetId) throws UnsupportedEncodingException {
- String markup = null;
- Session session = sessionFactory.getCurrentSession();
- Criteria criteria = session.createCriteria(WidgetFile.class);
- criteria.add(Restrictions.eq("widgetId", widgetId));
- List<WidgetFile> widgetFile = criteria.list();
- logger.debug("StorageServiceImpl.getWidgetMarkup: getting widget markup result={}", widgetFile);
-
- if(widgetFile.size() > 0 )
- markup = new String(widgetFile.get(0).getMarkup(), "UTF-8");
- return markup;
- }
-
- @Override
- @SuppressWarnings("unchecked")
- @Transactional
- public String getWidgetController(long widgetId) throws UnsupportedEncodingException {
- String controller = null;
- Session session = sessionFactory.getCurrentSession();
- Criteria criteria = session.createCriteria(WidgetFile.class);
- criteria.add(Restrictions.eq("widgetId", widgetId));
- List<WidgetFile> widgetFile = criteria.list();
- logger.debug("StorageServiceImpl.getWidgetController: getting widget controller result={}", widgetFile);
-
- if(widgetFile.size() > 0 )
- controller = new String(widgetFile.get(0).getController(), "UTF-8");
- return controller;
- }
-
- @Override
- @SuppressWarnings("unchecked")
- @Transactional
- public String getWidgetFramework(long widgetId) throws UnsupportedEncodingException {
- String framework = null;
- Session session = sessionFactory.getCurrentSession();
- Criteria criteria = session.createCriteria(WidgetFile.class);
- criteria.add(Restrictions.eq("widgetId", widgetId));
- List<WidgetFile> widgetFile = criteria.list();
- logger.debug("StorageServiceImpl.getWidgetFramework: getting widget framework result={}", widgetFile);
-
- if(widgetFile.size() > 0 )
- framework = new String(widgetFile.get(0).getFramework(), "UTF-8");
- return framework;
- }
-
- @Override
- @SuppressWarnings("unchecked")
- @Transactional
- public String getWidgetCSS(long widgetId) throws UnsupportedEncodingException {
- String css = null;
- Session session = sessionFactory.getCurrentSession();
- Criteria criteria = session.createCriteria(WidgetFile.class);
- criteria.add(Restrictions.eq("widgetId", widgetId));
- List<WidgetFile> widgetFile = criteria.list();
- logger.debug("StorageServiceImpl.getWidgetCSS: getting widget css result={}", widgetFile);
-
- if(widgetFile.size() > 0 )
- css = new String(widgetFile.get(0).getCss(), "UTF-8");
- return css;
- }
-
-
- @Override
- @Transactional
- public byte[] getWidgetCatalogContent(long widgetId) throws Exception{
-
-
- WidgetCatalog widget = widgetCatalogService.getWidgetCatalog(widgetId);
- String namespace = "Portal" + widgetId + "Widget";
- String controllerName = "Portal" + widgetId + "Ctrl";
- String cssName = "portal" + widgetId + "-css-ready";
-
-
- String styles = getWidgetCSS(widgetId).replaceAll(cssName, widget.getName() + "-css-ready");
- File f = File.createTempFile("temp", ".zip");
- ZipOutputStream out = new ZipOutputStream(new FileOutputStream(f));
- ZipEntry e = new ZipEntry(widget.getName() + "/styles/styles.css");
- out.putNextEntry(new ZipEntry(widget.getName() + "/"));
- out.putNextEntry(new ZipEntry(widget.getName() + "/styles/"));
- out.putNextEntry(e);
- byte[] data = styles.getBytes();
- out.write(data, 0, data.length);
-
-
- String widgetData = namespace + "=" + namespace + "||{};" + "var res = " + namespace + ".widgetData;";
- String javascript = getWidgetController(widgetId).replace(widgetData, "")
- .replace(namespace + ".controller =", "");
-
- String functionHeader = javascript.substring(javascript.indexOf("function"), javascript.indexOf(")")+1);
- javascript = javascript.replaceFirst(controllerName, widget.getName() + "Ctrl");
- String functionParam = functionHeader.substring(functionHeader.indexOf("(")+1, functionHeader.indexOf(")"));
- StringBuilder injectStr = new StringBuilder().append("[");
- List<String> paramList = Arrays.asList(functionParam.split(","));
- for(int i = 0; i < paramList.size(); i++){
- if(i == paramList.size()-1)
- injectStr.append("'" + paramList.get(i).trim() + "'];");
- else
- injectStr.append("'" + paramList.get(i).trim() + "',");
- }
- javascript = javascript.replace(";" + namespace + ".controller.$inject = " + injectStr.toString(), "");
-
- e = new ZipEntry(widget.getName() + "/js/controller.js");
- out.putNextEntry(new ZipEntry(widget.getName() + "/js/"));
- out.putNextEntry(e);
- data = javascript.getBytes();
- out.write(data, 0, data.length);
-
- String html = getWidgetMarkup(widgetId).replaceFirst(controllerName, widget.getName() + "Ctrl");
-
- //new String(map.get(WidgetConstant.WIDGET_MARKUP_LOCATION)).replaceFirst(functionName, controllerName);;
-
-
- e = new ZipEntry(widget.getName() + "/markup/markup.html");
- out.putNextEntry(new ZipEntry(widget.getName() + "/markup/"));
- out.putNextEntry(e);
- data = html.getBytes();
- out.write(data, 0, data.length);
- out.closeEntry();
- out.close();
- byte[] result = Files.readAllBytes(Paths.get(f.getPath()));
- f.delete();
- return result;
- }
-
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/WidgetCatalogServiceImpl.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/WidgetCatalogServiceImpl.java
deleted file mode 100644
index 700274e2..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/service/impl/WidgetCatalogServiceImpl.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package org.openecomp.portalapp.widget.service.impl;
-
-import java.util.List;
-import java.util.Set;
-
-import javax.transaction.Transactional;
-
-import org.hibernate.Criteria;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.portalapp.widget.domain.MicroserviceData;
-import org.openecomp.portalapp.widget.domain.RoleApp;
-import org.openecomp.portalapp.widget.domain.WidgetCatalog;
-import org.openecomp.portalapp.widget.service.WidgetCatalogService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Service;
-
-@Service("widgetCatalogService")
-@Transactional
-@org.springframework.context.annotation.Configuration
-@EnableAspectJAutoProxy
-public class WidgetCatalogServiceImpl implements WidgetCatalogService {
-
- private static final Logger logger = LoggerFactory.getLogger(WidgetCatalogServiceImpl.class);
-
- @Autowired
- private SessionFactory sessionFactory;
-
- @SuppressWarnings("unchecked")
- @Override
- @Transactional
- public List<WidgetCatalog> getWidgetCatalog(){
- Session session = sessionFactory.getCurrentSession();
- Criteria criteria = session.createCriteria(WidgetCatalog.class)
- .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
- List<WidgetCatalog> widgets = criteria.list();
- logger.debug("WidgetCatalogServiceImpl.getWidgetCatalog: result={}", widgets);
- return widgets;
- }
-
- @SuppressWarnings("unchecked")
- @Transactional
- public List<WidgetCatalog> getUserWidgetCatalog(String loginName){
- Session session = sessionFactory.getCurrentSession();
- StringBuilder sql = new StringBuilder()
-
-
- .append(" select userWidgets.widget_id, userWidgets.wdg_name, userWidgets.wdg_desc, b.x, b.status_cd, b.y, b.height, b.width from ")
- .append(" ( ")
- .append(" select distinct w.widget_id, w.wdg_name, w.wdg_desc from ")
- .append(" ep_widget_catalog w, ")
- .append(" ep_widget_catalog_role wr, ")
- .append(" fn_user_role ur, ")
- .append(" fn_user u ")
- .append(" where ")
- .append(" w.widget_id = wr.WIDGET_ID and ")
- .append(" wr.role_id = ur.role_id and ")
- .append(" ur.user_id = u.user_id and ")
- .append(" u.login_id = '" + loginName + "' and (w.all_user_flag = 'N' or w.all_user_flag is null) ")
- .append(" ")
- .append(" union all ")
- .append(" ")
- .append(" ")
- .append(" select distinct w.widget_id, w.wdg_name, w.wdg_desc from ")
- .append(" ep_widget_catalog w ")
- .append(" where w.all_user_flag = 'Y' ")
- .append(" ")
- .append(" ) userWidgets ")
- .append(" ")
- .append(" left join ")
- .append(" ")
- .append(" ( ")
- .append(" select case when pers.user_id is null then sel.user_id else pers.user_id end as 'user_id', case when sel.widget_id is null then ")
- .append(" pers.widget_id else sel.widget_id end as 'widget_id', pers.x, sel.status_cd, pers.y, pers.height, pers.width ")
- .append(" from (select * from ep_pers_user_widget_placement where user_id = (select user_id from fn_user where login_id = '" + loginName + "')) pers ")
- .append(" left outer join ")
- .append(" (select * from ep_pers_user_widget_sel where user_id = (select user_id from fn_user where login_id = '" + loginName + "')) sel ")
- .append(" on (pers.user_id = sel.user_id and pers.widget_id = sel.widget_id) ")
- .append(" ")
- .append(" union ")
- .append(" ")
- .append(" select case when pers.user_id is null then sel.user_id else pers.user_id end as 'user_id', case when sel.widget_id is null ")
- .append(" then pers.widget_id else sel.widget_id end as 'widget_id', pers.x, sel.status_cd, pers.y, pers.height, pers.width ")
- .append(" from (select * from ep_pers_user_widget_placement where user_id = (select user_id from fn_user where login_id = '" + loginName + "')) pers ")
- .append(" right outer join ")
- .append(" (select * from ep_pers_user_widget_sel where user_id = (select user_id from fn_user where login_id = '" + loginName + "')) sel ")
- .append(" on (pers.user_id = sel.user_id and pers.widget_id = sel.widget_id) ")
- .append(" ")
- .append(" order by user_id, widget_id ")
- .append(" )b ")
- .append(" on ")
- .append(" (userWidgets.widget_id = b.widget_id) order by b.x; ");
-
-
-
- Query query = session.createSQLQuery(sql.toString());
- List<WidgetCatalog> widgets = query.list();
- logger.debug("WidgetCatalogServiceImpl.getUserWidgetCatalog: result size={}", widgets);
- return widgets;
- }
-
- @Override
- public WidgetCatalog getWidgetCatalog(Long widgetCatalogId) {
- Session session = sessionFactory.getCurrentSession();
- Transaction tx = session.beginTransaction();
- WidgetCatalog widget = (WidgetCatalog) session.get(WidgetCatalog.class, widgetCatalogId);
- tx.commit();
- logger.debug("WidgetCatalogServiceImpl.getWidgetCatalog: getting widget={}", widget);
- return widget;
- }
-
- @Override
- public void deleteWidgetCatalog(long widgetCatalogId) {
- logger.debug("WidgetCatalogServiceImpl.deleteWidgetCatalog: deleting the widget with widgetId={}", widgetCatalogId);
- WidgetCatalog widget = getWidgetCatalog(widgetCatalogId);
- if (widget == null){
- logger.error("No widget found in database while performing WidgetCatalogServiceImpl.deleteWidgetCatalog.");
- return;
- }
- Session session = sessionFactory.getCurrentSession();
- Transaction tx = session.beginTransaction();
- Query query = session.createSQLQuery("delete from ep_pers_user_widget_sel where widget_id = :widgetId ").setParameter("widgetId", widgetCatalogId);
- query.executeUpdate();
- query = session.createSQLQuery("delete from ep_pers_user_widget_placement where widget_id = :widgetId ").setParameter("widgetId", widgetCatalogId);
- query.executeUpdate();
- query = session.createSQLQuery("delete from ep_widget_catalog_files where widget_id = :widgetId ").setParameter("widgetId", widgetCatalogId);
- query.executeUpdate();
- query = session.createSQLQuery("delete from ep_widget_catalog_parameter where widget_id = :widgetId ").setParameter("widgetId", widgetCatalogId);
- query.executeUpdate();
- session.delete(widget);
- tx.commit();
- }
-
- @Override
- public long saveWidgetCatalog(WidgetCatalog newWidgetCatalog) {
-
- try{
- if(newWidgetCatalog.getAllowAllUser().equals("1"))
- newWidgetCatalog.setAllowAllUser("Y");
- else
- newWidgetCatalog.setAllowAllUser("N");
-
- logger.debug("WidgetCatalogServiceImpl.saveWidgetCatalog: widget={}", newWidgetCatalog);
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- session.save(newWidgetCatalog);
- tx.commit();
- session.flush();
- session.close();
- updateAppId(newWidgetCatalog.getId(), newWidgetCatalog.getWidgetRoles());
- }
- catch(Exception e){
- logger.error("Exception occurred while performing WidgetCatalogServiceImpl.saveWidgetCatalog in widget microservices. Details:" + e.getMessage());
- }
- return newWidgetCatalog.getId();
- }
-
- @Override
- public void updateWidgetCatalog(Long widgetCatalogId, WidgetCatalog newWidgetCatalog) {
- logger.debug("WidgetCatalogServiceImpl.updateWidgetCatalog: widget={}", newWidgetCatalog);
- WidgetCatalog oldWidget = getWidgetCatalog(widgetCatalogId);
- try{
- if (newWidgetCatalog.getAllowAllUser().equals("1"))
- newWidgetCatalog.setAllowAllUser("Y");
- else
- newWidgetCatalog.setAllowAllUser("N");
-
- newWidgetCatalog.setId(widgetCatalogId);
- newWidgetCatalog.setServiceId(oldWidget.getServiceId());
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- session.update(newWidgetCatalog);
- tx.commit();
- session.flush();
- session.close();
- updateAppId(newWidgetCatalog.getId(), newWidgetCatalog.getWidgetRoles());
- }catch(Exception e){
- logger.error("Exception occurred while performing WidgetCatalogServiceImpl.updateWidgetCatalog in widget microservices. Details:" + e.getMessage());
- }
-
- }
-
- @Override
- public Long getServiceIdByWidget(Long widgetCatalogId) {
- Session session = sessionFactory.getCurrentSession();
- WidgetCatalog widget = (WidgetCatalog) session.get(WidgetCatalog.class, widgetCatalogId);
- logger.debug("WidgetCatalogServiceImpl.getServiceIdByWidget: result={}", widget);
- return widget.getServiceId();
- }
-
- @Override
- public List<WidgetCatalog> getWidgetsByServiceId(Long serviceId) {
- Session session = sessionFactory.getCurrentSession();
- Criteria criteria = session.createCriteria(WidgetCatalog.class)
- .add(Restrictions.eq("serviceId", serviceId))
- .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
- List<WidgetCatalog> widgets = criteria.list();
- logger.debug("WidgetCatalogServiceImpl.getWidgetCatalog: result={}", widgets);
- return widgets;
- }
-
-
-
-
-
- private void updateAppId(long widgetId, Set<RoleApp> roles){
- Session session = sessionFactory.openSession();
- for(RoleApp role: roles){
- String sql = "UPDATE ep_widget_catalog_role SET app_id = " + role.getApp().getAppId() + " WHERE widget_id = " + widgetId + " AND ROLE_ID = " + role.getRoleId() ;
- Query query = session.createSQLQuery(sql);
- query.executeUpdate();
- }
- session.flush();
- session.close();
- }
-
- @Override
- public boolean getWidgetIdByName(String newWidgetName) {
- Session session = sessionFactory.openSession();
- Criteria criteria = session.createCriteria(WidgetCatalog.class)
- .add(Restrictions.eq("name", newWidgetName))
- .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
-
- List<MicroserviceData> widgets = criteria.list();
- logger.debug("WidgetCatalogServiceImpl.getWidgetIdByName: result={}", widgets);
- session.flush();
- session.close();
-
- return (widgets.size() > 0) ? true : false;
- }
-
-
-}
-
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/AuthorizationUtil.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/AuthorizationUtil.java
deleted file mode 100644
index f25f0db6..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/AuthorizationUtil.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openecomp.portalapp.widget.utils;
-
-import java.nio.charset.Charset;
-import java.util.Base64;
-
-public class AuthorizationUtil {
-
- public boolean authorization(String auth, String security_user, String security_pass){
- if (auth != null && auth.startsWith("Basic")) {
- String base64Credentials = auth.substring("Basic".length()).trim();
- String credentials = new String(Base64.getDecoder().decode(base64Credentials),
- Charset.forName("UTF-8"));
- final String[] values = credentials.split(":",2);
- if(security_user.equals(values[0]) && security_pass.equals(values[1]))
- return true;
- }
- return false;
- }
-}
diff --git a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/UnzipUtil.java b/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/UnzipUtil.java
deleted file mode 100644
index efbfe437..00000000
--- a/ecomp-portal-widget-ms/src/main/java/org/openecomp/portalapp/widget/utils/UnzipUtil.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.openecomp.portalapp.widget.utils;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Stack;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.openecomp.portalapp.widget.constant.WidgetConstant;
-import org.openecomp.portalapp.widget.service.impl.StorageServiceImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-public class UnzipUtil {
-
- /**
- * Size of the buffer to read/write data
- */
- private static final int BUFFER_SIZE = 4096;
- private static final Logger logger = LoggerFactory.getLogger(UnzipUtil.class);
- /**
- * Extracts a zip file specified by the zipFilePath to a directory specified by
- * destDirectory (will be created if does not exists)
- * @param zipFilePath
- * @param destDirectory
- * @throws IOException
- */
-
- public Map<String, byte[]> unzip_db(String zipFilePath, String destDirectory, String widgetName) throws IOException {
-
- logger.debug("UnzipUtil.unzip_db: unzip widget file {}", widgetName);
- File destDir = new File(destDirectory);
- if (!destDir.exists()) {
- destDir.mkdir();
- }
- ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFilePath));
- ZipEntry entry = zipIn.getNextEntry();
- Map<String, byte[]> map = new HashMap<>();
-
- map.put(WidgetConstant.WIDGET_CONTROLLER_LOCATION, null);
- map.put(WidgetConstant.WIDGET_MARKUP_LOCATION, null);
- map.put(WidgetConstant.WIDGET_STYLE_LOCATION, null);
-
-
- Stack<File> stack = new Stack<>();
-
- // iterates over entries in the zip file
- while (entry != null) {
- String filePath = destDirectory + File.separator + widgetName + File.separator +
- entry.getName().substring(entry.getName().indexOf("/")+1);
- logger.debug("UnzipUtil.unzip_db: file path " + filePath);
- if (!entry.isDirectory()) {
- // if the entry is a file, extracts it
- logger.debug("UnzipUtil.unzip_db: unzip and save widget file {}", filePath);
- stack.push(new File(filePath));
- extractFile(zipIn, filePath);
- } else {
- // if the entry is a directory, make the directory
- logger.debug("UnzipUtil.unzip_db: unzip and create widget folder {}", filePath);
- File dir = new File(filePath);
- stack.push(new File(filePath));
-
- dir.mkdir();
-
- }
- if(map.containsKey(entry.getName().substring(entry.getName().indexOf("/")+1))){
- map.put(entry.getName().substring(entry.getName().indexOf("/")+1), Files.readAllBytes(Paths.get(filePath)));
- }
- zipIn.closeEntry();
- entry = zipIn.getNextEntry();
- }
- zipIn.close();
- while(!stack.isEmpty())
- stack.pop().delete();
- return map;
- }
-
-
-
-
- /**
- * Extracts a zip entry (file entry)
- * @param zipIn
- * @param filePath
- * @throws IOException
- */
- private void extractFile(ZipInputStream zipIn, String filePath) throws IOException {
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
- byte[] bytesIn = new byte[BUFFER_SIZE];
- int read = 0;
- while ((read = zipIn.read(bytesIn)) != -1) {
- bos.write(bytesIn, 0, read);
- }
- bos.close();
- }
-} \ No newline at end of file