diff options
author | Luji7 <lu.ji3@zte.com.cn> | 2017-10-16 20:05:21 +0800 |
---|---|---|
committer | Luji7 <lu.ji3@zte.com.cn> | 2017-10-16 20:05:30 +0800 |
commit | b7503ec5b347cf30dd5bfbc27dac076fbb6f5418 (patch) | |
tree | 2aaf5ca99c5a7634fb202d6ac58d5374ab6004cc | |
parent | 21c183604fa889417ab579027ed6a0bffb79ceda (diff) |
add msb config
Change-Id: Ibee1e8622409f867a865ada18576db3ff1eb855d
Issue-Id: USECASEUI-36
Signed-off-by: Luji7 <lu.ji3@zte.com.cn>
10 files changed, 725 insertions, 1 deletions
diff --git a/usecaseui-common/pom.xml b/usecaseui-common/pom.xml index 0b004de6..29ecc989 100644 --- a/usecaseui-common/pom.xml +++ b/usecaseui-common/pom.xml @@ -33,10 +33,65 @@ <properties> <encoding>UTF-8</encoding> <packagename>usecase-ui</packagename> + <version.logback>1.1.2</version.logback> + <version.slf4j>1.7.6</version.slf4j> </properties> <dependencies> <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>${version.logback}</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>${version.logback}</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-access</artifactId> + <version>${version.logback}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${version.slf4j}</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <scope>provided</scope> + <version>2.5</version> + </dependency> + <dependency> + <groupId>dom4j</groupId> + <artifactId>dom4j</artifactId> + <version>1.6.1</version> + </dependency> + <dependency> + <groupId>net.sf.json-lib</groupId> + <artifactId>json-lib</artifactId> + <version>2.1</version> + <classifier>jdk15</classifier> + </dependency> + <dependency> + <groupId>commons-httpclient</groupId> + <artifactId>commons-httpclient</artifactId> + <version>3.1</version> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>4.3.5</version> + </dependency> + <dependency> + <groupId>org.onap.msb.java-sdk</groupId> + <artifactId>msb-java-sdk</artifactId> + <version>1.0.0-SNAPSHOT</version> + </dependency> + + <dependency> <groupId>org.onap.usecase-ui</groupId> <artifactId>usecaseui-monitor</artifactId> <version>1.0.0-SNAPSHOT</version> diff --git a/usecaseui-common/src/main/java/org/onap/portal/bean/MsbRegisterBean.java b/usecaseui-common/src/main/java/org/onap/portal/bean/MsbRegisterBean.java new file mode 100644 index 00000000..56d09411 --- /dev/null +++ b/usecaseui-common/src/main/java/org/onap/portal/bean/MsbRegisterBean.java @@ -0,0 +1,80 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.portal.bean; + +import java.util.List; + +public class MsbRegisterBean { + private String serviceName = ""; + + private String lb_policy = ""; + + private String url = ""; + + private String protocol = ""; + + private String visualRange = ""; + + private List<ServiceNodeBean> nodes; + + public String getServiceName() { + return serviceName; + } + + public void setServiceName(String serviceName) { + this.serviceName = serviceName; + } + + public String getLb_policy() { + return lb_policy; + } + + public void setLb_policy(String lb_policy) { + this.lb_policy = lb_policy; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getProtocol() { + return protocol; + } + + public void setProtocol(String protocol) { + this.protocol = protocol; + } + + public String getVisualRange() { + return visualRange; + } + + public void setVisualRange(String visualRange) { + this.visualRange = visualRange; + } + + public List<ServiceNodeBean> getNodes() { + return nodes; + } + + public void setNodes(List<ServiceNodeBean> nodes) { + this.nodes = nodes; + } +} diff --git a/usecaseui-common/src/main/java/org/onap/portal/bean/ServiceNodeBean.java b/usecaseui-common/src/main/java/org/onap/portal/bean/ServiceNodeBean.java new file mode 100644 index 00000000..47636e20 --- /dev/null +++ b/usecaseui-common/src/main/java/org/onap/portal/bean/ServiceNodeBean.java @@ -0,0 +1,48 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.portal.bean; + +public class ServiceNodeBean { + private String ip = ""; + + private String port = ""; + + private int ttl = 0; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public String getPort() { + return port; + } + + public void setPort(String port) { + this.port = port; + } + + public int getTtl() { + return ttl; + } + + public void setTtl(int ttl) { + this.ttl = ttl; + } +} diff --git a/usecaseui-common/src/main/java/org/onap/portal/system/CommonUtil.java b/usecaseui-common/src/main/java/org/onap/portal/system/CommonUtil.java new file mode 100644 index 00000000..122f983d --- /dev/null +++ b/usecaseui-common/src/main/java/org/onap/portal/system/CommonUtil.java @@ -0,0 +1,27 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.portal.system; + +public class CommonUtil { + + public static boolean isEmpty(String str) { + if (null == str || "".equals(str.trim())) { + return true; + } else { + return false; + } + } +} diff --git a/usecaseui-common/src/main/java/org/onap/portal/system/Constants.java b/usecaseui-common/src/main/java/org/onap/portal/system/Constants.java new file mode 100644 index 00000000..c239f3e6 --- /dev/null +++ b/usecaseui-common/src/main/java/org/onap/portal/system/Constants.java @@ -0,0 +1,20 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.portal.system; + +public class Constants { + public final static String MARK_COLON = ":"; +} diff --git a/usecaseui-common/src/main/java/org/onap/portal/system/RegisterService.java b/usecaseui-common/src/main/java/org/onap/portal/system/RegisterService.java new file mode 100644 index 00000000..d5896917 --- /dev/null +++ b/usecaseui-common/src/main/java/org/onap/portal/system/RegisterService.java @@ -0,0 +1,181 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.portal.system; + +import java.io.File; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.*; + +import net.sf.json.JSONObject; + +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.util.EntityUtils; +import org.apache.commons.httpclient.HttpStatus; +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; +import org.onap.msb.sdk.discovery.common.RouteException; +import org.onap.msb.sdk.discovery.entity.MicroServiceInfo; +import org.onap.msb.sdk.discovery.entity.Node; +import org.onap.msb.sdk.httpclient.msb.MSBServiceClient; +import org.onap.portal.bean.MsbRegisterBean; +import org.onap.portal.bean.ServiceNodeBean; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class RegisterService { + + private final static Logger logger = LoggerFactory.getLogger(RegisterService.class); + + public static HashMap<String, String> msbHostMap = new HashMap<String, String>(); + public static List<HashMap<String, String>> registerList = new ArrayList<HashMap<String, String>>(); + + public static void registerMsb(String configPath) { + File inputXml = new File(configPath); + SAXReader saxReader = new SAXReader(); + + try { + Document document = saxReader.read(inputXml); + Element rootNode = document.getRootElement(); + getMsbHostInfo(rootNode); + getRegisterList(rootNode); + + String url = msbHostMap.get("hostIp") + Constants.MARK_COLON + msbHostMap.get("hostPort") + msbHostMap.get("msbApiRootDomain"); + for (int i = 0; i < registerList.size(); i++) { + HashMap<String, String> registerInfo = registerList.get(i); + + ServiceNodeBean serviceNode = new ServiceNodeBean(); + serviceNode.setIp(registerInfo.get("ip")); + serviceNode.setPort(registerInfo.get("port")); + serviceNode.setTtl(Integer.valueOf(registerInfo.get("ttl"))); + List<ServiceNodeBean> nodeList = new ArrayList<ServiceNodeBean>(); + nodeList.add(serviceNode); + + MsbRegisterBean registerBean = new MsbRegisterBean(); + registerBean.setNodes(nodeList); + registerBean.setServiceName(registerInfo.get("serviceName")); + registerBean.setUrl(registerInfo.get("url")); + registerBean.setProtocol(registerInfo.get("protocol")); + registerBean.setVisualRange(registerInfo.get("visualRange")); + registerBean.setLb_policy(registerInfo.get("lb_policy")); + + JSONObject registerObj = JSONObject.fromObject(registerBean); + String registerResponse = registerPortalService(registerBean.getServiceName(), url, registerObj, ""); + } + logger.info("open-o portal register task succeeded."); + } catch (Exception e){ + logger.error("open-o portal register task failed."); + logger.error(e.getMessage()); + } + } + + private static void getMsbHostInfo(Element rootNode) { + Element msbHostNode = rootNode.element("msbHost"); + Iterator iter = msbHostNode.elementIterator(); + + while (iter.hasNext()) { + Element element = (Element) iter.next(); + msbHostMap.put(element.getName(), element.getText()); + } + } + + private static void getRegisterList(Element rootNode) { + Element registerListNode = rootNode.element("registerList"); + Iterator iRegisterList = registerListNode.elementIterator(); + + while (iRegisterList.hasNext()) { + HashMap<String, String> registerMap = new HashMap<String, String>(); + Element registerInfo = (Element) iRegisterList.next(); + Iterator iRegisterInfo = registerInfo.elementIterator(); + + while (iRegisterInfo.hasNext()) { + Element element = (Element) iRegisterInfo.next(); + registerMap.put(element.getName(), element.getText()); + } + registerList.add(registerMap); + } + } + + private static String registerPortalService(String serviceName, String url, JSONObject json, String token) { + DefaultHttpClient client = new DefaultHttpClient(); + HttpPost post = new HttpPost(url); + String response = null; + + try { + if (null != json) { + StringEntity s = new StringEntity(json.toString()); + s.setContentEncoding("UTF-8"); + s.setContentType("application/json"); + post.setEntity(s); + } + if (!CommonUtil.isEmpty(token)) { + post.addHeader("X-Auth-Token", token); + } + HttpResponse res = client.execute(post); + if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK + || res.getStatusLine().getStatusCode() == HttpStatus.SC_CREATED) { + String result = EntityUtils.toString(res.getEntity()); + if (!CommonUtil.isEmpty(result)) { + response = result; + } else { + response = null; + } + } + logger.info("register task [" + serviceName + "] completed successfully."); + } catch (Exception e) { + logger.error("register task [" + serviceName + "] failed because of errors."); + logger.error(e.getMessage()); + } + + return response; + } + + public static void registerUUI() { + String msbAddress = System.getenv("MSB_ADDR"); + if (msbAddress == null || msbAddress.isEmpty()) { + return; + } + if (msbAddress.contains(":")) { + String[] ipAndPort = msbAddress.split(":"); + MSBServiceClient msbClient = new MSBServiceClient(ipAndPort[0], Integer.parseInt(ipAndPort[1])); + + MicroServiceInfo msinfo = new MicroServiceInfo(); + msinfo.setServiceName("usecase-ui"); + msinfo.setVersion("v1"); + msinfo.setUrl("/usecase-ui"); + msinfo.setProtocol("UI"); + msinfo.setVisualRange("1"); + + try { + Set<Node> nodes = new HashSet<>(); + Node node1 = new Node(); + node1.setIp(InetAddress.getLocalHost().getHostAddress()); + node1.setPort("8080"); + nodes.add(node1); + msinfo.setNodes(nodes); + msbClient.registerMicroServiceInfo(msinfo, false); + } catch (UnknownHostException e) { + e.printStackTrace(); + } catch (RouteException e) { + e.printStackTrace(); + } + } + } +} diff --git a/usecaseui-common/src/main/java/org/onap/portal/system/SystemListener.java b/usecaseui-common/src/main/java/org/onap/portal/system/SystemListener.java new file mode 100644 index 00000000..45dfb192 --- /dev/null +++ b/usecaseui-common/src/main/java/org/onap/portal/system/SystemListener.java @@ -0,0 +1,39 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.portal.system; + +import java.io.File; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class SystemListener implements ServletContextListener { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + public void contextDestroyed(ServletContextEvent sce) { + } + + public void contextInitialized(ServletContextEvent servletContextEvent) { + logger.info("usecase ui register task begin."); +// String registerFilePath = SystemListener.class.getClassLoader().getResource("").getPath() + "portalConfig" + File.separator + "msb_register.xml"; + RegisterService.registerUUI(); + logger.info("usecase ui register task ended."); + } +} diff --git a/usecaseui-common/src/main/resources/logback.xml b/usecaseui-common/src/main/resources/logback.xml new file mode 100644 index 00000000..65e61cbd --- /dev/null +++ b/usecaseui-common/src/main/resources/logback.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Copyright (C) 2017 CMCC, Inc. and others. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> +<configuration debug="false" scan="true" scanPeriod="30 seconds"> + <property name="projectName" value="openoui"/> + <property name="logDir" value="../webapps/openoui/openoui_log"/> + <property name="maxHistory" value="30"/> + <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/> + + <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern> + %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n + </pattern> + </encoder> + </appender> + + <appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>ERROR</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDir}/error/error.%d{yyyy-MM}.log</fileNamePattern> + <maxHistory>${maxHistory}</maxHistory> + </rollingPolicy> + <encoder> + <pattern> + %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n + </pattern> + </encoder> + </appender> + + <appender name="warnAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>WARN</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDir}/warn/warn.%d{yyyy-MM}.log</fileNamePattern> + <maxHistory>${maxHistory}</maxHistory> + </rollingPolicy> + <encoder> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> + </encoder> + </appender> + + <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDir}/info/info.%d{yyyy-MM}.log</fileNamePattern> + <maxHistory>${maxHistory}</maxHistory> + </rollingPolicy> + <encoder> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> + </encoder> + </appender> + + <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDir}/debug/debug.%d{yyyy-MM}.log</fileNamePattern> + <maxHistory>${maxHistory}</maxHistory> + </rollingPolicy> + <encoder> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> + </encoder> + </appender> + + <appender name="traceAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>TRACE</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDir}/trace/trace.%d{yyyy-MM}.log</fileNamePattern> + <maxHistory>${maxHistory}</maxHistory> + </rollingPolicy> + <encoder> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> + </encoder> + </appender> + + <root> + <level value="info"/> + <appender-ref ref="consoleAppender"/> + <appender-ref ref="errorAppender"/> + <appender-ref ref="warnAppender"/> + <appender-ref ref="infoAppender"/> + <appender-ref ref="debugAppender"/> + <appender-ref ref="traceAppender"/> + </root> +</configuration> diff --git a/usecaseui-common/src/main/resources/portalConfig/msb_register.xml b/usecaseui-common/src/main/resources/portalConfig/msb_register.xml new file mode 100644 index 00000000..a777745a --- /dev/null +++ b/usecaseui-common/src/main/resources/portalConfig/msb_register.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 CMCC, Inc. and others. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> +<msbRegister> + <msbHost> + <hostIp>http://192.168.233.226</hostIp> + <hostPort>80</hostPort> + <msbApiRootDomain>/openoapi/microservices/v1/services</msbApiRootDomain> + </msbHost> + <registerList> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/framework</url> + <serviceName>framework</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/thirdparty</url> + <serviceName>thirdparty</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/login</url> + <serviceName>login</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/catalog</url> + <serviceName>catalog</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/extsys</url> + <serviceName>extsys</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/performance</url> + <serviceName>performance</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/monitor</url> + <serviceName>monitor</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/lifecyclemgr</url> + <serviceName>lifecyclemgr</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/resmgr</url> + <serviceName>resmgr</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/provincemgr</url> + <serviceName>provincemgr</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/user</url> + <serviceName>user</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/vnfmarket</url> + <serviceName>vnfmarket</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + <registerInfo> + <ip>127.0.0.1</ip> + <port>9150</port> + <url>/openoui/holmes</url> + <serviceName>holmes</serviceName> + <protocol>UI</protocol> + <visualRange>1</visualRange> + <lb_policy>hash</lb_policy> + <ttl>0</ttl> + </registerInfo> + </registerList> +</msbRegister> diff --git a/usecaseui-common/src/main/webapp/WEB-INF/web.xml b/usecaseui-common/src/main/webapp/WEB-INF/web.xml index 3f84f06a..9fff24ad 100644 --- a/usecaseui-common/src/main/webapp/WEB-INF/web.xml +++ b/usecaseui-common/src/main/webapp/WEB-INF/web.xml @@ -6,5 +6,7 @@ <!-- This is a stub web.xml in the common area --> <display-name>ecomp-sdk-app-common</display-name> - + <listener> + <listener-class>org.onap.portal.system.SystemListener</listener-class> + </listener> </web-app> |