[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / controller / WidgetsCatalogMarkupController.java
diff --git a/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/WidgetsCatalogMarkupController.java b/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/WidgetsCatalogMarkupController.java
new file mode 100644 (file)
index 0000000..78499ef
--- /dev/null
@@ -0,0 +1,83 @@
+/*-\r
+ * ================================================================================\r
+ * ECOMP Portal\r
+ * ================================================================================\r
+ * Copyright (C) 2017 AT&T Intellectual Property\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ================================================================================\r
+ */\r
+package org.openecomp.portalapp.portal.controller;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.context.annotation.Bean;\r
+import org.springframework.context.annotation.EnableAspectJAutoProxy;\r
+import org.springframework.web.bind.annotation.PathVariable;\r
+import org.springframework.web.bind.annotation.RequestMapping;\r
+import org.springframework.web.bind.annotation.RequestMethod;\r
+import org.springframework.web.bind.annotation.RestController;\r
+import org.springframework.web.client.RestClientException;\r
+import org.springframework.web.client.RestTemplate;\r
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;\r
+\r
+import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;\r
+import org.openecomp.portalapp.controller.EPUnRestrictedBaseController;\r
+import org.openecomp.portalapp.portal.domain.WidgetServiceHeaders;\r
+import org.openecomp.portalapp.portal.logging.aop.EPAuditLog;\r
+import org.openecomp.portalapp.portal.service.ConsulHealthService;\r
+\r
+@SuppressWarnings("unchecked")\r
+@RestController\r
+@org.springframework.context.annotation.Configuration\r
+@EnableAspectJAutoProxy\r
+@EPAuditLog\r
+public class WidgetsCatalogMarkupController extends EPUnRestrictedBaseController {\r
+       \r
+       EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetsCatalogMarkupController.class);\r
+       RestTemplate template = new RestTemplate();\r
+       String whatService = "widgets-service";\r
+\r
+       \r
+       @Autowired\r
+       private ConsulHealthService consulHealthService;\r
+\r
+       @Bean\r
+       public CommonsMultipartResolver multipartResolver() {\r
+               return new CommonsMultipartResolver();\r
+       }\r
+       \r
+       static {\r
+           //for localhost testing only\r
+           javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(\r
+           new javax.net.ssl.HostnameVerifier(){\r
+\r
+               public boolean verify(String hostname,\r
+                       javax.net.ssl.SSLSession sslSession) {\r
+                   if (hostname.equals("localhost")) {\r
+                       return true;\r
+                   }\r
+                   return false;\r
+               }\r
+           });\r
+       }       \r
+\r
+\r
+       @RequestMapping(value = "/portalApi/microservices/markup/{widgetId}", method = RequestMethod.GET)\r
+       public String getWidgetMarkup(HttpServletRequest request, HttpServletResponse response,\r
+                       @PathVariable("widgetId") long widgetId) throws RestClientException, Exception {\r
+               return template.getForObject("https://" + consulHealthService.getServiceLocation(whatService) + "/widget/microservices/markup/" + widgetId, String.class,\r
+                               WidgetServiceHeaders.getInstance());\r
+       }\r
+}\r