diff options
author | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-23 18:27:19 -0400 |
---|---|---|
committer | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-23 21:12:56 -0400 |
commit | 978dbcf0a196acbafad72fe1e2478ec0e384f02f (patch) | |
tree | 17e1ceaa4a12a599320cbb317947e990bf1a5383 /ecomp-portal-widget-ms/src/main/java/org | |
parent | bc7350dce5b7b1dcd1c472a3922b42c4ea99809d (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')
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 |