summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvictor.gao <victor.gao@huawei.com>2018-03-26 20:33:13 +0800
committervictor.gao <victor.gao@huawei.com>2018-03-26 20:37:40 +0800
commitf9f45991d9a43fb18accc32ac25619862bf1db95 (patch)
tree6a3f6e55e344ee52fc2f23c7107e86e1bad968f5
parent318cda0d7128149503a705e870e69e7f90e2ad29 (diff)
Add multivimproxy code
Change-Id: I15e0a6c639727bfa1115c77c11c58dc8b252c3bf Issue-ID: VFC-644 Signed-off-by: victor.gao <victor.gao@huawei.com>
-rw-r--r--service/pom.xml173
-rw-r--r--service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/Constant.java113
-rw-r--r--service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/HttpConstant.java79
-rw-r--r--service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ParamConstant.java370
-rw-r--r--service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ResponseConstant.java58
-rw-r--r--service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/UrlConstant.java56
-rw-r--r--service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/util/ResourceUtil.java43
-rw-r--r--service/src/main/resources/config.properties3
-rw-r--r--service/src/main/resources/log4j.properties23
-rw-r--r--service/src/main/resources/spring/multivimproxy/services.xml55
-rw-r--r--service/src/main/webapp/WEB-INF/web.xml25
11 files changed, 997 insertions, 1 deletions
diff --git a/service/pom.xml b/service/pom.xml
index 34e9507..d5a27be 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -27,12 +27,183 @@
<version>1.0.0-SNAPSHOT</version>
<name>vfc-nfvo-multivimproxy-service</name>
<packaging>war</packaging>
- <dependencies>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ <version>4.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-jaxrs</artifactId>
+ <version>1.9.12</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>com.springsource.org.apache.commons.lang</artifactId>
+ <version>2.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>com.springsource.org.apache.commons.logging</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>com.springsource.org.apache.commons.codec</artifactId>
+ <version>1.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>2.4</version>
+ <classifier>jdk15</classifier>
+ </dependency>
+ <!-- dependency>
+ <groupId>org.eclipse.jetty.orbit</groupId>
+ <artifactId>javax.servlet</artifactId>
+ <version>3.0.0.v201112011016</version>
+ <scope>provided</scope>
+ </dependency-->
+ <dependency>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
+ <version>8.1.16.v20140903</version>
+ </dependency>
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>5.1.36</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-tx</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mybatis</groupId>
+ <artifactId>mybatis-spring</artifactId>
+ <version>1.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mybatis</groupId>
+ <artifactId>mybatis</artifactId>
+ <version>3.2.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.yaml</groupId>
+ <artifactId>snakeyaml</artifactId>
+ <version>1.15</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.6.1</version>
+ </dependency>
+ <!--dependency>
+ <groupId>org.apache.log4j</groupId>
+ <artifactId>com.springsource.org.apache.log4j</artifactId>
+ <version>1.2.16</version>
+ </dependency-->
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-api-mockito</artifactId>
+ <version>1.5.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-module-junit4</artifactId>
+ <version>1.5.4</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-jdbc</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-asm</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-expression</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+ <version>3.1.6</version>
+ </dependency>
+ <!-- UT coverage dependency start -->
+ <dependency>
+ <groupId>org.jmockit</groupId>
+ <artifactId>jmockit</artifactId>
+ <version>1.19</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
+ <dependency>
+ <groupId>org.jmockit</groupId>
+ <artifactId>jmockit-coverage</artifactId>
+ <version>1.19</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- UT coverage dependency end -->
+
</dependencies>
</project>
diff --git a/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/Constant.java b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/Constant.java
new file mode 100644
index 0000000..e246b16
--- /dev/null
+++ b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/Constant.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2016-2017 Huawei Technologies Co., Ltd.
+ *
+ * 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.vfc.nfvo.multivimproxy.common.constant;
+
+/**
+ * HTTP constants<br/>
+ * <p>
+ * </p>
+ *
+ * @author
+ * @version VFC 1.0 Aug 25, 2016
+ */
+public class Constant {
+
+ public static final String RES_MANAGEMENT_DB = "resmanagementdb";
+
+ /**
+ * Database Delete/Modify/Add fail.
+ */
+ public static final int ERROR_CODE = -1;
+
+ /**
+ * Database Delete/Modify/Add success.
+ */
+ public static final int OK_CODE = 1;
+
+ /**
+ * Lack of resource.
+ */
+ public static final int RES_NOT_ENOUGH_CODE = -2;
+
+ /**
+ * Module name.
+ */
+ public static final String MODULE_NAME = "Resmanagement";
+
+ public static final String RESPONSE_CONTENT = "responseContent";
+
+ public static final String STATUS_CODE = "statusCode";
+
+ /**
+ * Format Time
+ */
+ public static final String DATE_FORMATE = "yyyy-MM-dd HH:mm:ss";
+
+ public static final String DATE_UTC_FORMATE = "yyyy-MM-dd'T'HH:mm:ss'Z'";
+
+ public static final String UTC_FORMATE = "UTC";
+
+ public static final String DATE_DAY_FORMATE = "yyyy-MM-dd 00:00:00";
+
+ /**
+ * IAM
+ */
+
+ public static final String HTTP_CONTENT_TYPE = "Content-Type";
+
+ public static final String HTTP_CONTENT_TYPE_VALUE = "application/json;charset=UTF-8";
+
+ public static final String X_TENANT_ID = "X-Tenant-Id";
+
+ public static final String IAM_TOKEN = "x-auth-token";
+
+ public static final String IAM_AUTH_TOKEN = "X-Auth-Token";
+
+ public static final String IAM_USER_ID = "X-User-Id";
+
+ public static final String IAM_USER_NAME = "X-User-Name";
+
+ public static final String IAM_DOMAIN_NAME = "X-Domain-Name";
+
+ public static final String HEADER_SUBJECT_TOKEN = "X-Subject-Token";
+
+ public static final int REPEAT_REG_TIME = 60 * 1000;
+
+ public static final String CONF = "config.properties";
+
+ public static final String HOST = "host_url";
+
+ public static final String PORT = "port";
+
+ public static final String CLOUD_OWNER = "cloud-owner";
+
+ public static final String CLOUD_REGION_ID = "cloud-region-id";
+
+ public static final String TENANT_ID = "tenant-id";
+
+ public static final String GLOBAL_CUSTOMER_ID = "global-customer-id";
+
+ public static final String SERVICE_TYPE = "service-type";
+
+ public static final int HTTP_BAD_REQUEST = 400;
+
+ public static final int HTTP_CREATED = 201;
+
+ private Constant() {
+ // private constants
+ }
+}
diff --git a/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/HttpConstant.java b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/HttpConstant.java
new file mode 100644
index 0000000..e9b961e
--- /dev/null
+++ b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/HttpConstant.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2016 Huawei Technologies Co., Ltd.
+ *
+ * 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.vfc.nfvo.multivimproxy.common.constant;
+
+/**
+ *
+ * Http constant class.<br>
+ * <p>
+ * </p>
+ *
+ * @author
+ * @version VFC 1.0 Sep 10, 2016
+ */
+public class HttpConstant {
+
+ public static final int ERROR_CODE = -1;
+
+ public static final int OK_CODE = 1;
+
+ public static final int HTTP_OK = 200;
+
+ public static final int HTTP_CREATED = 201;
+
+ public static final int HTTP_ACCEPTED = 202;
+
+ public static final int HTTP_NOCONTENT = 204;
+
+ public static final int HTTP_UNAUTHORIZED = 401;
+
+ public static final int HTTP_BAD_REQUEST = 400;
+
+ public static final int HTTP_NOTFOUND_CODE = 404;
+
+ public static final int HTTP_CONFLICT_CODE = 409;
+
+ public static final int HTTP_INVALID_PARAMETERS = 415;
+
+ public static final int HTTP_INNERERROR_CODE = 500;
+
+ public static final int INTERNAL_EXCEPTION_CODE = 600;
+
+ public static final int TOKEN_HEAD_NULL_CODE = 601;
+
+ public static final int TOKEN_USER_NULL_CODE = 602;
+
+ public static final int SERVICE_URL_ERROR_CODE = 603;
+
+ public static final int ACCESS_OBJ_NULL_CODE = 604;
+
+ public static final int CONNECT_NOT_FOUND_CODE = 605;
+
+ public static final int VCENTER_PARA_ERROR_CODE = 606;
+
+ public static final int TYPE_PARA_ERROR_CODE = 607;
+
+ public static final int CONNECT_FAIL_CODE = 608;
+
+ public static final int DIS_CONNECT_FAIL_CODE = 609;
+
+ public static final int HANDSHAKE_FAIL_CODE = 610;
+
+ private HttpConstant() {
+ //private constructor
+ }
+}
diff --git a/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ParamConstant.java b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ParamConstant.java
new file mode 100644
index 0000000..e60d443
--- /dev/null
+++ b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ParamConstant.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright 2016-2017 Huawei Technologies Co., Ltd.
+ *
+ * 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.vfc.nfvo.multivimproxy.common.constant;
+
+/**
+ * <br/>
+ * <p>
+ * Contstant for System interactive.
+ * </p>
+ *
+ * @author
+ * @version VFC 1.0 2016-3-17
+ */
+public class ParamConstant {
+
+ /**
+ * param key: vimId.
+ */
+ public static final String PARAM_VIMID = "vimId";
+
+ /**
+ * param key: vimName
+ */
+ public static final String PARAM_VIMNAME = "vimName";
+
+ /**
+ * param key: tenantId.
+ */
+ public static final String PARAM_TENANTID = "tenantId";
+
+ public static final String TOTAL_CPU = "totalCPU";
+
+ public static final String USED_CPU = "usedCPU";
+
+ public static final String TOTAL_MEMORY = "totalMemory";
+
+ public static final String USED_MEMORY = "usedMemory";
+
+ public static final String TOTAL_DISK = "totalDisk";
+
+ public static final String USED_DISK = "usedDisk";
+
+ /**
+ * param key: data.
+ */
+ public static final String PARAM_DATA = "data";
+
+ /**
+ * param key: id.
+ */
+ public static final String PARAM_ID = "id";
+
+ /**
+ * param key: vimId
+ */
+ public static final String PARAM_IP = "ip";
+
+ /**
+ * param key: role.
+ */
+ public static final String PARAM_ROLE = "role";
+
+ /**
+ * param key: roleId.
+ */
+ public static final String PARAM_ROLEID = "roleId";
+
+ /**
+ * param key: total.
+ */
+ public static final String PARAM_TOTAL = "total";
+
+ /**
+ * param key: used.
+ */
+ public static final String PARAM_USED = "used";
+
+ /**
+ * param key: vcpus.
+ */
+ public static final String PARAM_VCPUS = "vcpus";
+
+ /**
+ * param key: disk.
+ */
+ public static final String PARAM_DISK = "disk";
+
+ /**
+ * param key: cpumhz.
+ */
+ public static final String PARAM_CPUMHZ = "cpumhz";
+
+ /**
+ * param key: countyr
+ */
+ public static final String PARAM_COUNTRY = "country";
+
+ /**
+ * param key: vendorId
+ */
+ public static final String PARAM_VENDORID = "vendorId";
+
+ /**
+ * param key: vendorName
+ */
+ public static final String PARAM_VENDORNAME = "vendorName";
+
+ /**
+ * param key: memory.
+ */
+ public static final String PARAM_MEMORY = "memory";
+
+ /**
+ * param key: name.
+ */
+ public static final String PARAM_NAME = "name";
+
+ /**
+ * param key: status.
+ */
+ public static final String PARAM_STATUS = "status";
+
+ /**
+ * param key: parent.
+ */
+ public static final String PARAM_PARENT = "parent";
+
+ /**
+ * param key: location.
+ */
+ public static final String PARAM_LOCATION = "location";
+
+ /**
+ * param key: siteName.
+ */
+ public static final String PARAM_SITENAME = "siteName";
+
+ /**
+ * param key: vendor.
+ */
+ public static final String PARAM_VENDOR = "vendor";
+
+ /**
+ * param key: vendors.
+ */
+ public static final String PARAM_VENDORS = "vendors";
+
+ /**
+ * param key: tenantSites.
+ */
+ public static final String PARAM_TENANTSITES = "tenantSites";
+
+ /**
+ * param key: siteId.
+ */
+ public static final String PARAM_SITEID = "siteId";
+
+ /**
+ * param key: resArbitration.
+ */
+ public static final String PARAM_RESARBITRATION = "resArbitration";
+
+ /**
+ * param key: userRole.
+ */
+ public static final String PARAM_USERROLE = "userRole";
+
+ /**
+ * param key: admin.
+ */
+ public static final String PARAM_ADMIN = "admin";
+
+ /**
+ * param key: tenant.
+ */
+ public static final String PARAM_TENANT = "tenant";
+
+ /**
+ * param key: type.
+ */
+ public static final String PARAM_TYPE = "type";
+
+ /**
+ * param key: action.
+ */
+ public static final String PARAM_ACTION = "action";
+
+ /**
+ * param key: offline.
+ */
+ public static final String PARAM_OFFLINE = "offline";
+
+ /**
+ * param key: online.
+ */
+ public static final String PARAM_ONLINE = "online";
+
+ /**
+ * param key: drexecute.
+ */
+ public static final String PARAM_DREXECUTE = "drexecute";
+
+ /**
+ * param key: drRollBack.
+ */
+ public static final String PARAM_DRROLLBACK = "drrollback";
+
+ /**
+ * param key: scaleOut.
+ */
+ public static final String PARAM_SCALEOUT = "scaleout";
+
+ /**
+ * param key: scaleIn.
+ */
+ public static final String PARAM_SCALEIN = "scalein";
+
+ /**
+ * param key: network.
+ */
+ public static final String PARAM_NETWORK = "networks";
+
+ /**
+ * param key: host.
+ */
+ public static final String PARAM_HOST = "hosts";
+
+ /**
+ * param key: network.
+ */
+ public static final String PARAM_PORT = "ports";
+
+ /**
+ * param key: providernetworks.
+ */
+ public static final String PARAM_PROVIDERNETWORKS = "providernetworks";
+
+ /**
+ * param key: vims.
+ */
+ public static final String PARAM_VIMS = "vims";
+
+ /**
+ * param key: vms.
+ */
+ public static final String PARAM_VMS = "vms";
+
+ /**
+ * param key: vapps.
+ */
+ public static final String PARAM_VAPPS = "vapps";
+
+ /**
+ * param key: vapp.
+ */
+ public static final String PARAM_VAPP = "vapp";
+
+ /**
+ * param key: sites.
+ */
+ public static final String PARAM_SITES = "sites";
+
+ /**
+ * param key: vduId.
+ */
+ public static final String PARAM_VDUID = "vduId";
+
+ /**
+ * param key: vappId.
+ */
+ public static final String PARAM_VAPPID = "vappId";
+
+ /**
+ * param key: hostId.
+ */
+ public static final String PARAM_HOSTID = "hostId";
+
+ /**
+ * param key: projectId.
+ */
+ public static final String PARAM_PROJECTID = "projectId";
+
+ /**
+ * param key: vnfmId.
+ */
+ public static final String PARAM_VNFMID = "vnfmId";
+
+ /**
+ * param key: params.
+ */
+ public static final String PARAM_PARAMS = "params";
+
+ /**
+ * param key: url.
+ */
+ public static final String PARAM_URL = "url";
+
+ /**
+ * param key: post.
+ */
+ public static final String PARAM_POST = "post";
+
+ /**
+ * param key: put.
+ */
+ public static final String PARAM_PUT = "put";
+
+ /**
+ * param key: del.
+ */
+ public static final String PARAM_DEL = "del";
+
+ /**
+ * param key: get.
+ */
+ public static final String PARAM_GET = "get";
+
+ /**
+ * param key: retCode.
+ */
+ public static final String PARAM_RETCODE = "retCode";
+
+ /**
+ * param key: ADD.
+ */
+ public static final String PARAM_ADD = "add";
+
+ /**
+ * param key: active.
+ */
+ public static final String PARAM_ACTIVE = "active";
+
+ /**
+ * param key: deleted.
+ */
+ public static final String PARAM_DELETED = "deleted";
+
+ /**
+ * param key: deleting.
+ */
+ public static final String PARAM_DELETING = "deleting";
+
+ /**
+ * param key: response
+ */
+ public static final String PARAM_RESPONSE = "response";
+
+ /**
+ * param key: info
+ */
+ public static final String PARAM_INFO = "info";
+
+ private ParamConstant() {
+ // private constructor
+ }
+}
diff --git a/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ResponseConstant.java b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ResponseConstant.java
new file mode 100644
index 0000000..9462db5
--- /dev/null
+++ b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/ResponseConstant.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2016-2017 Huawei Technologies Co., Ltd.
+ *
+ * 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.vfc.nfvo.multivimproxy.common.constant;
+
+import org.onap.vfc.nfvo.multivimproxy.common.util.ResourceUtil;
+
+/**
+ * Response constants.<br/>
+ * <p>
+ * </p>
+ *
+ * @author
+ * @version VFC 1.0 Aug 25, 2016
+ */
+public class ResponseConstant {
+
+ public static final String ADD_SUCESS_MSG = ResourceUtil.getMessage("add success");
+
+ public static final String ADD_FAIL_MSG = ResourceUtil.getMessage("add error");
+
+ public static final String DEL_SUCESS_MSG = ResourceUtil.getMessage("delete success");
+
+ public static final String DEL_FAIL_MSG = ResourceUtil.getMessage("delete error");
+
+ public static final String MOD_SUCESS_MSG = ResourceUtil.getMessage("update success");
+
+ public static final String MOD_FAIL_MSG = ResourceUtil.getMessage("update error");
+
+ public static final String QUERY_SUCESS_MSG = ResourceUtil.getMessage("query success");
+
+ public static final String QUERY_FAIL_MSG = ResourceUtil.getMessage("query error");
+
+ public static final String DELSODORES_FAIL_MSG = "delete sodores error";
+
+ public static final String DELVNFMINFO_FAIL_MSG = "delete vnfm error";
+
+ public static final String RES_VERIFY_SUCESS_MSG = "nsdata verify sucessfully";
+
+ public static final String RES_VERIFY_FAIL_MSG = "res verify failed";
+
+ private ResponseConstant() {
+ // private constructor
+ }
+}
diff --git a/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/UrlConstant.java b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/UrlConstant.java
new file mode 100644
index 0000000..5050bd4
--- /dev/null
+++ b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/constant/UrlConstant.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2016-2017 Huawei Technologies Co., Ltd.
+ *
+ * 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.vfc.nfvo.multivimproxy.common.constant;
+
+/**
+ * <br/>
+ * <p>
+ * Constant for REST URL.
+ * </p>
+ *
+ * @author
+ * @version VFC 1.0 2016-3-17
+ */
+public class UrlConstant {
+
+ /**
+ * networks target.
+ */
+ public static final String LOCATION_TARGET = "location";
+
+ /**
+ * MSB register url.
+ */
+ public static final String REST_MSB_REGISTER = "/api/microservices/v1/services";
+
+ // /api/extsys/v1/vims/%s
+ public static final String ESR_GET_VIM_URL =
+ "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/%s/%s/esr-system-info-list/esr-system-info/%s";
+
+ // /api/extsys/v1/vims
+ public static final String ESR_GET_VIMS_URL =
+ "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/%s/%s/esr-system-info-list";
+
+
+ public static final String MULTI_VIM_PREFIX =
+ "/api/multicloud/v0";
+
+ private UrlConstant() {
+ // private constructor
+ }
+
+}
diff --git a/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/util/ResourceUtil.java b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/util/ResourceUtil.java
new file mode 100644
index 0000000..67444eb
--- /dev/null
+++ b/service/src/main/java/org/onap/vfc/nfvo/multivimproxy/common/util/ResourceUtil.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2016 Huawei Technologies Co., Ltd.
+ *
+ * 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.vfc.nfvo.multivimproxy.common.util;
+
+/**
+ * <br/>
+ * <p>
+ * </p>
+ *
+ * @author
+ * @version VFC 1.0 Aug 25, 2016
+ */
+public class ResourceUtil {
+
+ private ResourceUtil() {
+
+ }
+
+ /**
+ * It is used to get Message<br/>
+ *
+ * @param key
+ * @return
+ * @since VFC 1.0
+ */
+ public static String getMessage(String key) {
+ return key;
+ }
+}
diff --git a/service/src/main/resources/config.properties b/service/src/main/resources/config.properties
new file mode 100644
index 0000000..7f96f32
--- /dev/null
+++ b/service/src/main/resources/config.properties
@@ -0,0 +1,3 @@
+cloud-owner=htipl103-cloud-owner-val-18494
+cloud-region-id=htipl103-cloud-region-id-val-8824
+openstack_prefix=abcd \ No newline at end of file
diff --git a/service/src/main/resources/log4j.properties b/service/src/main/resources/log4j.properties
new file mode 100644
index 0000000..a9e8557
--- /dev/null
+++ b/service/src/main/resources/log4j.properties
@@ -0,0 +1,23 @@
+###############################################################################
+# Copyright 2016, Huawei Technologies Co., Ltd.
+#
+# 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.
+###############################################################################
+log4j.rootLogger=INFO,root
+log4j.appender.root.Append=true
+log4j.appender.root.File=${catalina.base}/logs/multivimproxy.log
+log4j.appender.root.layout.ConversionPattern=%d %-5p [%t][%X{moduleID}][%C %L] %m%n
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.MaxBackupIndex=50
+log4j.appender.root.MaxFileSize=20MB
+log4j.appender.root=org.apache.log4j.RollingFileAppender \ No newline at end of file
diff --git a/service/src/main/resources/spring/multivimproxy/services.xml b/service/src/main/resources/spring/multivimproxy/services.xml
new file mode 100644
index 0000000..135b1d9
--- /dev/null
+++ b/service/src/main/resources/spring/multivimproxy/services.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2016-2017, Huawei Technologies Co., Ltd.
+
+ 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.
+ -->
+
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:aop="http://www.springframework.org/schema/aop"
+ xmlns:osgi="http://www.springframework.org/schema/osgi" xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
+ xmlns:ctx="http://www.springframework.org/schema/context"
+ xmlns:jaxrs="http://cxf.apache.org/jaxrs"
+ xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd
+ http://cxf.apache.org/jaxrs
+ http://cxf.apache.org/schemas/jaxrs.xsd
+ http://cxf.apache.org/transports/http/configuration
+ http://cxf.apache.org/schemas/configuration/http-conf.xsd
+ http://www.springframework.org/schema/aop
+ http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
+
+ <!-- these are included in the dependency jar -->
+ <import resource="classpath:META-INF/cxf/cxf.xml" />
+ <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
+
+ <bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
+
+ <bean id="ProxyRoa" class="org.onap.vfc.nfvo.multivimproxy.service.rest.ProxyRoa"></bean>
+ <jaxrs:server id="restContainer" address="/">
+ <jaxrs:serviceBeans>
+ <ref bean="ProxyRoa" />
+ </jaxrs:serviceBeans>
+ <jaxrs:providers>
+ <ref bean="jsonProvider" />
+ </jaxrs:providers>
+ </jaxrs:server>
+</beans>
diff --git a/service/src/main/webapp/WEB-INF/web.xml b/service/src/main/webapp/WEB-INF/web.xml
index 55b282e..f52c1ac 100644
--- a/service/src/main/webapp/WEB-INF/web.xml
+++ b/service/src/main/webapp/WEB-INF/web.xml
@@ -20,5 +20,30 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <listener>
+ <listener-class>
+ org.springframework.web.context.ContextLoaderListener
+ </listener-class>
+ </listener>
+ <servlet>
+ <servlet-name>CXFServlet</servlet-name>
+ <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>CXFServlet</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>WEB-INF/classes/spring/multivimproxy/*.xml
+ </param-value>
+ </context-param>
+ <session-config>
+ <session-timeout>10000000</session-timeout>
+ </session-config>
+
+ <display-name>multivimproxy-service</display-name>
</web-app> \ No newline at end of file